Jump to content
Rpg²S Forum
  • 0

Laboratorio di gruppo RGSS


idru
 Share

Question

Apro qui il topic per il Laboratorio di programmazione che abbiamo intenzione di seguire io, BlackShadow91 e Lomax.

Naturalmente è tutto provvisorio, se c'è qualcosa da modificare nel topic segnalatelo.

 

Detto questo passiamo allo scopo del Laboratorio: In mancanza di un corso vero e proprio abbiamo pensato di riunirci qui, noi aspiranti allievi, e provare a creare qualcosa tutt'insieme, in modo da capire un po' meglio come funziona il mondo del RGSS.

Oltretutto siamo alla ricerca di un utente più esperto che possa seguirci, darci suggerimenti correzioni e quant'altro.

Ogni aiuto in generale naturalmente è ben accetto ^^

Per un maggiore chiarimento vi rimando a questa discussione: Laboratorio - Proposte post.46

 

[XD questo tono serioso mi fa ridere molto]

 

Ora mi rivolgo ai diretti interessati, iniziamo dal rispondere a questa domanda: che sappiamo fare? XD

 

 

Da parte mia posso dirvi che ho iniziato qualche settimana fa con il volere fare un minigioco davvero per esercizzio, per spatichirmi un po' con eventi, variabili, ed un po' di RGSS.

Il programmino consiste in un semplice simulatore di borsa, ci sono 5 azioni il cui prezzo varia in maniera casuale che si possono comprare e vendere, comprando a poco, aspettando e vendendo a prezzo più alto si guadagna qualcosa, qualche notizia casuale poi fa variare un po' più pesantemente il mercato ogni tanto. La programmazione è conclusa e funziona tutto, anche se devo dire che la maggior parte è fatto ad eventi, anche se l'RGSS mi è servito per preparare le schermate su cui far uscire le variabili, oltre che poi i calcoli come call script all'interno degli eventi.

Ingranare non è stato semplice, ma mi è servito a capire davvero i comandi più semplici, le variabili le classi le definizioni eccetera, senza contare che ora scorrendo quelle pagine non vedo più aramaico XD

Se vi interessa ecco il codice usato per le Window:

 

#==============================================================================# ** Window_Euro#------------------------------------------------------------------------------#  This window displays the amount of gold.#============================================================================== class Window_Prezzo < Window_Base  attr_accessor :idvariabile  #--------------------------------------------------------------------------  # * Object Initialization  #	 x : window X coordinate  #	 y : window Y coordinate  #--------------------------------------------------------------------------  def initialize(x, y)	super(x, y, 544, WLH + 32)	refresh  end  def draw_variabile(idvariabile, x, y)	self.contents.draw_text(x, y, 103, WLH, $game_variables[idvariabile], 2)  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	self.opacity = 100	draw_variabile(11, 0, 0)  	draw_variabile(12, 104, 0)  	draw_variabile(13, 207, 0)  	draw_variabile(14, 310, 0)  	draw_variabile(15, 409, 0)    endend class Window_Num < Window_Base  attr_accessor :idvariabile  #--------------------------------------------------------------------------  # * Object Initialization  #	 x : window X coordinate  #	 y : window Y coordinate  #--------------------------------------------------------------------------  def initialize(x, y)	super(x, y, 544, WLH + 32)	refresh  end   def draw_variabile(idvariabile, x, y)	self.contents.draw_text(x, y, 103, WLH, $game_variables[idvariabile], 2)  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	self.opacity = 255	draw_variabile(22, 0, 0)	draw_variabile(23, 104, 0)  	draw_variabile(24, 207, 0)  	draw_variabile(25, 310, 0)  	draw_variabile(26, 409, 0)    endend class Window_Singolo < Window_Base  attr_accessor :z  # * Object Initialization  #	 x : window X coordinate  #	 y : window Y coordinate  #--------------------------------------------------------------------------  def initialize(x, y, z)	super(x, y, 136, 56)	@z = z	refresh  end  def draw_variabile(idvariabile, x, y)	self.contents.draw_text(x, y, 103, WLH, $game_variables[idvariabile], 2)  end  def refresh	self.contents.clear	self.opacity = 255	draw_variabile(z, 0, 0)    endend

 

Finito questo, sono passato a cercare di modificare un po' il battel sistem di XP per il mio progetto personale, per ora sono riuscito a creare un comando da combattimento Estrai che ti permette di cambiare arma equipaggiata, ti apre il menu armi (come oggetti) scegli ed equipaggi, poi torni al menù dei comandi di combattimento e puoi ancora attaccare o difenderti, il resto (ovvero Estrai Magie Oggetti) è disabilitato.

Credevo sarebbe stata un impresa titanica, invece mi è costato molto poco ed è stato più semplice del minigioco di sopra... Non ho però finito qua, nei prossimi giorni vedrò di andare avanti, oltre a piccole altre cose il mio intento è una grafica a picture dei menù di battaglia.

Il codice di questo non lo posso postare, poichè sono modifiche sparse per molte pagine.

Questo è quanto, ora sta a voi.

 

 

Le guide di Lomax, per soli Niubbi!! ^^

Ecco le guide passo passo che Lomax sta preparando di pari passo con il suo studio del RGSS, l'impaginazione è curata da BlackShadow91, altri crediti eventuali all'interno di ogni lezione.

-

Script in progettazione

 

#------------------------------------------------------------------------------##1)Scena del menù															  #				#------------------------------------------------------------------------------#class Scene_Menu1  def initialize#Il ciclo for crea un array all'interno del quale si collocano le istanze della #classe Window_Eroe		for i in 0...$game_party.actors.size		#Creazione array	  @eroe = []		#Assegnazione istanze di classi 	  @eroe[i]=Window_Eroe.new(i)	end	  # Make command window	s1 = "004-Weapon04"	s2 = "004-Weapon04"	s3 = "004-Weapon04"	s4 = "004-Weapon04"	s5 = "004-Weapon04"	s6 = "004-Weapon04"	@command_window = Window_Commandi_or.new(60, [s1, s2, s3, s4, s5, s6])	@command_window.index = 0	# If number of party members is 0	if $game_party.actors.size == 0	  # Disable items, skills, equipment, and status	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	end	@command_window.active = true		  #Scongela una scena	Graphics.transition	  #Aggiorna il contenuto	loop do	  Graphics.update	  Input.update	  update	  if $scene != self		break	  end	end	  #Congela la scena	Graphics.freeze   end   def update	 @command_window.update endend #------------------------------------------------------------------------------##2)Finestre degli eroi														 ##------------------------------------------------------------------------------# class Window_Eroe < Window_Base  def initialize(n)#inizializzazione della variabile da usare per deeterminare la posizione del party  	@n = n	#settaggio dimensioni della finestra super(posiz. X, posiz. Y, largh.,alt.)	  # per la cordinata x: calcola il resto di 2 dall'actor_id e lo moltiplica per 320,		  # per es 0%2=0; 1%2=1; 2%2=0; 3%2=1	super (n % 2 * 320, (n / 2) % 2 * 210,320,210)	  #creazione bitmap	self.contents = Bitmap.new(width - 32,height - 32)	  #formattazione testo	  self.contents.font.name = "AR BERKLEY"	  self.contents.font.size = 28	testo	self.contents.font.name = "Times New Roman"  	self.contents.font.size = 14	parametri	grafica_eroe  end   def testo	  #pulire la finestra	self.contents.clear#La variabile @actor assume l'id dell'eroe che occupa la posizione del party#corrispondente alla finestra su cui si deve scrivere 	@actor = $game_party.actors[@n]	draw_actor_name(@actor, 190, 0)  end   def draw_actor_parameter_personale(actor, x, y, type)	case type	when 0	  bitmap = RPG::Cache.icon("004-Weapon04")	  parameter_value = actor.atk	when 1	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.pdef	when 2	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.mdef	when 3	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.str	when 4	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.dex	when 5	  bitmap = RPG::Cache.icon("020-Accessory05")	  parameter_value = actor.agi	when 6	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.int	end	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))	self.contents.font.color = normal_color	self.contents.draw_text(x + 48, y, 36, 32, parameter_value.to_s, 2)  end   def parametri	draw_actor_parameter_personale(@actor, 0, 70, 0)	draw_actor_parameter_personale(@actor, 100, 70, 1)	draw_actor_parameter_personale(@actor, 100, 94, 2)	draw_actor_parameter_personale(@actor, 0, 94, 3)	draw_actor_parameter_personale(@actor, 0, 119, 4)	draw_actor_parameter_personale(@actor, 100, 119, 5)	draw_actor_parameter_personale(@actor, 0, 144, 6)   end    def grafica_eroe	draw_actor_graphic(@actor, 32, 55)  endend class Window_Commandi_or < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #	 width	: window width  #	 commands : command text string array  #--------------------------------------------------------------------------  def initialize(height, commands)	# Compute window height from command quantity	super(0, 420, commands.size * 64 + 32, height)	@item_max = commands.size	@commands = commands	@column_max = @commands.size	self.contents = Bitmap.new(@item_max * 64, height - 32)	refresh	self.index = 0  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	for i in 0...@item_max	  draw_item(i)	end  end  #--------------------------------------------------------------------------  # * Draw Item  #	 index : item number  #	 color : text color  #--------------------------------------------------------------------------  def draw_item(index)	bitmap = RPG::Cache.icon(@commands[index])	self.contents.blt(64 * index, 0, bitmap, Rect.new(0, 0, 24, 24))  end  #--------------------------------------------------------------------------  # * Disable Item  #	 index : item number  #--------------------------------------------------------------------------  def disable_item(index)	draw_item(index, disabled_color)  endend

 

Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • Answers 115
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0

Giver potresti essere meno esplicito?

Ho verificato e funziona tutto...

Per qualsiasi motivo non aprite questo spoiler.

 

 

Ho detto di non aprirlo !

 

 

Se lo apri ancora esplode il mondo.

 

 

Aaaaaa è un vizio.

 

 

Contento? Il mondo è esploso, sono tutti morti

per colpa della tua curiosità .

 

 

Vuoi che ti venga anche il morbillo, la varicella e l'AIDS???

 

 

O bravo ora sei un malato terminale e nessuno

ti puo curare, sono tutti morti !

 

 

Se clicchi ancora una volta il PC esplode.

 

 

E dai smettila !!

 

Uff!! Hai cliccato tante volte che ho dovuto sostituirlo con un codebox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://s8.postimg.org/yntv9nxld/Banner.png

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif

Link to comment
Share on other sites

  • 0
con queste dritte funziona, almeno sembra ^^ mi dispiace di aver messo in mezzo un altro codice, chiedo scusa a black e lomax, ma sapete leggere che l'addizione è un metodo non definito mi aveva mandato nel panico XD Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0

Un po' come questa istruzione:

super (actor_id % 2 * 320, (actor_id / 2)%2*220,320,220)

che funziona correttamente per puro caso, visto che mostrate meno di 5 schede . . .

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0
Un po' come questa istruzione:

 

CODE -> ruby

1

 

super (actor_id % 2 * 320, (actor_id / 2)%2*220,320,220)

Parsed in 0.008 seconds at 6.81 KB/s, using GeSHi 1.0.8.3

 

 

che funziona correttamente per puro caso, visto che mostrate meno di 5 schede . . .

 

infatti il nostro intento è fare un menù solo per un party di max 4 pg! =D

Link to comment
Share on other sites

  • 0
infatti il nostro intento è fare un menù solo per un party di max 4 pg! =D

Perchè quel meccanismo vi serve che funzioni solo per questa cosa, no ? =D

E a che serve avere fondamenta solide per creare qualcosa di più elaborato ? =D

 

 

EDIT - Tra l'altro, è così che si dimostra di avere la volontà di imparare . . .

Non avete fatto altro che arrampicarvi sugli specchi . . .

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Scusate sono appena tornato da due giorni di assenza ed ho guardato le risposte a raffica e rapidamente, quindi non ho guardato con precisione estrema il codice. Ma mi è venuto un suggerimento da dare per poter generalizzare il codice postato.

 

Non potremmo settare delle costanti all'inizio che poi verranno utilizzate nel codice per fissare dati come N° max pg e simili, in modo che il codice generi un numero di pg in base a quella variabile. E' solo un esempio, ma almeno in caso il codice servisse anche ad altri che hanno bisogno di altri valori, devono modificare unicamente quelli. Ovviamente metteremmo delle restrizioni, insomma, alcune cose non potranno venire, ovvio, ma almeno è un po' più generico e utilizzabile in più contesti se l'intento era quello di fare uno script utilizzabile poi da altri.

 

Che ne dite? ^_^

Link to comment
Share on other sites

  • 0
aggiungo solo una cosa, il primo intento era riorganizzare il menù base di Xp come prima cosa, e poi in seguito nel caso aggiunte personali , ed ho controllato che XP non permette più di 4 pg (credo), quindi diciamo che va bene considerare un massimo di 4 pg per ora.

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0

Ho dovuto sostituire Main al 3° rigo con Initialize, cancellare il rigo 26 con il .dispose, senza queste modifiche non mi funzionava. Ora tutto ok.

Poi ho sostituito il rigo 63 in cui disegnava il nome con

draw_actor_name(@actor, 0, 0)	draw_actor_parameter(@actor, 0, 32, 0)	draw_actor_parameter(@actor, 0, 64, 1)	draw_actor_parameter(@actor, 0, 98, 2)	draw_actor_parameter(@actor, 0, 130, 3)	draw_actor_parameter(@actor, 0, 162, 4)	draw_actor_parameter(@actor, 0, 194, 5)	draw_actor_parameter(@actor, 0, 226, 6)

Comandi che ho copiato da Window_sistem, ho dovuto solo aggiustare la posizione.

Il risaluto è buono, si può rimpicciolire la grandezza del font e continuare ad inserire i dati dei PG.

http://img200.imageshack.us/img200/9193/immaginekt.jpg

Che ne dite?

 

EDIT: Avrei una domanda sulle Array.

Vorrei fare un array che associa ad ogni suo valore i una coppia di valori, e non un valore singolo

per es: i -> (x,y)

poi però vorrei andare a modificare e a chiamare questi valori singolarmente, per esempio

if array.x =3

ecc.

ho provato a definire l'array in questi modi osservando cose simili, ma niente

array = [ [ ], [ ] ] ma così dovrei ottenere un matrice giusto?

array = [ x, y]

array = [ x, y,]

 

che sintassi devo usare? come devo scrivere ?^^

Se non è chiaro proverò ai spiegarmi meglio

Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
EDIT: Avrei una domanda sulle Array.

Vorrei fare un array che associa ad ogni suo valore i una coppia di valori, e non un valore singolo

per es: i -> (x,y)

poi però vorrei andare a modificare e a chiamare questi valori singolarmente, per esempio

if array.x =3

ecc.

ho provato a definire l'array in questi modi osservando cose simili, ma niente

array = [ [ ], [ ] ] ma così dovrei ottenere un matrice giusto?

array = [ x, y]

array = [ x, y,]

 

che sintassi devo usare? come devo scrivere ?^^

Se non è chiaro proverò ai spiegarmi meglio

 

 

Per definire l'array si potrebbe fare un for dove ad ogni fase di ciclo si inizializza una cella di array.

	for i in 0..$numero_coppie_da_inserire #escludendo quest'ultimo valore se no lo fa una volta in più		#Creazione array	  $array_coppie[i] = []	end

 

oppure si crea una classe che da ad una variabile la struttura di una classe a due variabili

 

	def Coppia		#crei due variabili (scusa ma ho pochissimo tempo ed ho un vuoto di memoria ç_ç	end 	for i in 0..$numero_coppie_da_inserire #escludendo quest'ultimo valore se no lo fa una volta in più		#Creazione array	  $array_coppie[i] = Coppia.New	end

 

Per quanto riguarda la finestra di menù mi sembra molto carina. Certo rimpicciolendo le scritte ci stanno più dati e magari puoi affiancarli su due colonne. Io ingrandirei leggermente la finestra sotto perché temo che così sia troppo piccola.

Link to comment
Share on other sites

  • 0
semmai un giorno vorrete farlo anche bello, 'sto menù, sappiate che non cè spazio per faces o fronzoli ora come ora. XD

Deviantart

ElfGamesWorks Forum

My adventure game
Little Briar Rose

Altri progetti: Oh! I'm Getting Taller! / Il pifferaio di Hamelin

I miei Fumetti: Folletto Vs Nenè / A.s.D. / A.s.D.2

http://www.rpg2s.net/img/fablecontest1st.pnghttp://rpg2s.net/gif/SCContest3Oct.gif http://i43.tinypic.com/1zokd2s.png http://i.imgur.com/qRfaRqE.png http://i43.tinypic.com/eger81.gifhttp://i.imgur.com/BEu6G.gifhttp://i43.tinypic.com/eger81.gif

Un sogno nel cassetto...

 

 

http://i.imgur.com/H1ARhq7.gif

 

 

Citaziò!

 

 

Il Coniglio, si sa, saltella con una gamba dietro ed una avanti, un braccino corto ed uno lungo, un'orecchia dritta ed una storta. Perchè il Coniglio odia la simmetria.

Flame: Io me lo sono fatto raccontare tutto il Sigmarillion ma ancora devo leggerlo (...)
Impaled Janus: Il Sighmarillion, un'opera molto triste.
Testament: Ma Flame mi sa che erra convinto, come al solito.

"Tu devi essere il chiacchierato FenriX, la cui fama deriva dall'arte di giungere rozzamente al sodo del concetto la maggior parte delle volte... detto in una via inoffensiva..." Una piaga in due righe, by Dr.Risolvo!

 

 


Scheda di Zuppo Del'Oquie


Nome - Zuppo Del'Oquie
Età - 76
Razza - Elvaan
Descrizione - Snello, faccia da cretino, cappelletto alla Robin Hood in testa con la piuma perennemente spiegazzata, maglia in pieno stile: "è la prima cosa che ho trovato in giro" e pantaloni uguali. Le scarpe invece sono forse l'unica cosa realmente sua. Di pelle morbida, salvo la base di cuoio, ottime per correre e fare poco rumore, prive di alcun tipo di tacco. Ed aldilà del vestiario, abbiamo una cerbottana, una fionda, un pugnaletto, una...un..ah no basta. Lo zainetto, si! Ma lì ci tiene il pane ed i suoi strumenti di dubbia qualità.
Poi..ha orecchie a punta come ogni Elvaan e capelli castano chiaro, bizzarremente brezzolati di ciocchette tendenti al biondo. E' un biondo fallito, in sostanza. Ah, ma a lui non importa molto. Detto, questo, null'altro di rilevante da segnalare.
Se non il fatto che, il più delle volte, sia vestiti che capelli che zaino sono ornati da una quasi perenne sensazione di Bagnato. Perchè ogni pozzanghera che esiste sulla faccia di questa terra, deve, senza via di scampo, finire contro il suo naso. O forse è lui che è legato all'elemento Acqua da un odio amore non espresso...?
Misteri del Fato.
Carattere - Simpatico, socievole, affabile, allegro, ed al tempo stesso estremamente indifferente alle questioni che non lo riguardano. Astuto, ma mai per cattiveria, decide lui a cosa affezionarsi ed a cosa no. Di mentalità molto..molto bizzarra, vive la vita con dei valori del tutto personali che possono essere a volte comprensibili ed in accordo con quelle altrui, o possono essere decisamente ridicoli agli occhi degli altri. Ma lui è fatto così e non ci ragiona poi molto su come è fatto. Finchè mantiene due braccia due gambe ed una testa, ritiene di essere fatto semplicemente perfetto per quel che gli serve!

Background - "Fratello minore. Si, minore! Oh si! DANNATAMENTE MINORE! E questo è un problema! Perchè è un problema, no? A logica dovrebbe essere un bel problema per chiunque abbia voglia di non essere sempre chiamato per secondo, interpellato solo all'ultimo come scorta, impegnato solo quando proprio tutti sono impegnati, considerato solo per fare numero. AH! Minore! Onta! Orgoglio! AH!
AH!
A...ahah! Ma col cavolo..è una pacchia!"

Tranquillamente adagiato sul suo enorme divano, perchè se l'erba è il cuscino, un colle è dunque un enorme divano, Zuppo stava fischiettando con una foglia di acetella in bocca, così univa l'utile (il fischiettare era molto utile a parer suo) con il dilettevole (e quella fogliolina aveva un buon sapore, perciò dilettevolmente saporita!).
Era a dir poco splendido compiere un'attività tanto impegnativa e semplice al contempo da giustificare la sua lunga, perenne, praticamente insindacabile assenza a qualsivoglia attività sociale.
Lui disegnava le mappe, ed il fratellone le spacciava per sue guadagnando una montagna di soldi, tanta era l'accuratezza delle zone anche più inesplorabili, ed in cambio il Brò gli garantiva una vita tranquilla e senza impegni. Oh, fratello minore, ma il maggiore era tutto merito suo!
Poi, all'improvviso, tutto cambiò.
Perchè serve sempre un grande cambiamento per una grande svolta, no?
Ebbene, da quel momento lui partì, viaggiò, abbandonò la sua colonia, perseguì la via del "faccio da solo e meglio mi sento".
Tutto questo a causa sua..a causa loro...!!

"Fra'? Dove hai messo il mio flauto di rape?"
"Uh..era ammuffito. L'ho buttato anni fa ormai."
"..che..CHE COSA HAI FATTO!?!?!"

Inaudito.
Ovvio e logico andarsene, no? Sono certo che voi tutti sarete daccordo con me! NON SI TOCCANO I FLAUTI DI RAPE ALTRUI! MUFFA O NON MUFFA!
Beh si, daccordo, forse lo aveva dimenticato per gli ultimi vent'anni, ma questo non cambiava le cose. Dannato fratello. E.....no, non se ne era andato solo per quello, cosa credete!?

"...Mamma...Fra' ha buttato il mio flauto di rape."
"Ah, deve essere ammuffito come l'ocarina di zucca che ho buttato l'altro ieri."
"...che...CHE COSA HAI FATTO!?!?!?!"

Ovvio che non bastava un flauto a mandarlo via. Ma due, dai è troppo! L'aveva terminata, quell'ocarina, appena tre anni prima. ERA NUOVA!
E così, imparata la lezione del "non si lascia nulla in casa altrui", perchè quella non era PIU' la sua casa, Zuppo prese ogni cosa di valore che aveva con se: dunque uno svariato elenco di strumenti da ortolano, a partire dal triangolo di selci alla trombetta di cavolfiore, e partì. Partì, lasciandosi dietro una città perfetta, con una vita perfetta, una famiglia perfetta, ed una stupida, sciocca, banale idea che questa perfezione sarebbe durata in eterno.
Ah. Ma non scordiamoci un dettaglio.

Partì. Attraversò la strada. Il ponte. Il fiume. Inciampò. Cadde nella pozza vicino al fiume. Si inzuppò. Si rialzò e ri-partì.
Perchè il nome se lo era guadagnato con molta sfigata fatica eh.

"Ma che bel bambino, signora Ouquie!"
"...oh...scusatemi, riposavo. Quale bambino?"
"Hemm..quello che tenete nella culla."
"Oh! Quel bambino! Oh si ve lo faccio vedere subit.." E con un braccio, la maldestra madre intruppò la culla, che era ovviamente posizionata di fianco alla finestra aperta, che vide ovviamente un infante venire catapultato fuori, e che, alfine, vide sempre ovviamente il medesimo infante finire a mollo nel fiume, per fortuna abbastanza profondo, che passava proprio adiacente le mura della piccola dimora.
Quando lo ripresero, era vivo. Zuppo, ma vivo.
E Zuppo rimase a vita.

I reumatismi sarebbero arrivati in vecchiaia.

Equip -
Pugnale comune - Prezzo: 9
Armatura di Cuio [1 PA] - Prezzo: 15
Borsa Comune - Prezzo: 10
Fionda - Prezzo(pagato da madre natura XD)

 

Link to comment
Share on other sites

  • 0

Io direi di rimpicciolire di 10 lungo l'asse y tutte le finestre così da avere la finestra in basso più ampia.

Per il font bisogna fare diverse prove e trovare il migliore.

P.S.

Lomax ed io stiamo ridefinendo la seconda lezione di RGSS appena è pronta la posto.

 

EDIT:

@idru

perchè hai sostituito main con initialize?? Io so che le classi scene devono avere il main per funzionare correttamente

 

C'è un problema nell'update:

 for i in 0...$game_party.actors.size		@eroe_update = @eroe[i] 		@eroe_update.update	  end

Perchè non mi riconosce il metodo update delle finestre????? L'array contiene nelle posizioni da 0 a 3 le finestre dei membri del party.

Edited by BlackShadow91
Link to comment
Share on other sites

  • 0

Black non so che dirti, non mi funzionava, messo initialize e ora funziona, boh.

L'ho fatto perchè le altre volte che ho aperto semplici finestre facevo così.

 

a Khorne: ti ringrazio per la riposta, anch'io avevo pensatoa crearmi una class apposta, ma mi sembrava u metodo toooppo macchinoso, ci deve essere un modo corretto di scrivere una cosa del genere, credo di sbagliare sono nello scrivere, dopotutto la cosa mi sembra semplice, se poi c'è da inventarsi un giro fantasioso di codice no problema, ma vorrei essere sicuro prima di incasinare le cose :D

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0

Ho modificato un po' la grandezza di finestre e scritte:

 

http://img201.imageshack.us/img201/8149/immaginemenu.png

 

Ecco lo script:

 

#------------------------------------------------------------------------------##	Menù personalizzato creato da BlackShadow91, idru, Lomax af, Khorne86	 ##------------------------------------------------------------------------------##						   Istruzioni per l'uso							   ## Per una corretta visualizzazione del menù non è possibile creare party con   ## più di 4 membri.															 ## Per la corretta visualizzazione dei parametri si deve modificare la linea 304# # della classe Window_Base con:												# # "self.contents.draw_text(x + 70, y, 36, 32, parameter_value.to_s, 2)"		## (senza virgolette)														   ##																			  ##------------------------------------------------------------------------------#   #------------------------------------------------------------------------------##1)Scena del menù															  #				#------------------------------------------------------------------------------#class Scene_Menu1  def main#Il ciclo for crea un array all'interno del quale si collocano le istanze della #classe Window_Eroe		for i in 0...$game_party.actors.size		#Creazione array	  @eroe = []		#Assegnazione istanze di classi 	  @eroe[i]=Window_Eroe.new(i) 	end		  #Scongela una scena	Graphics.transition	  #Aggiorna il contenuto	loop do	  Graphics.update	  Input.update	  update	  if $scene != self		break	  end	end	  #Congela la scena	Graphics.freeze	for i in 0...$game_party.actor.size	  @eroe[i].dispose	end  end   def update  endend #------------------------------------------------------------------------------##2)Finestre degli eroi														 ##------------------------------------------------------------------------------# class Window_Eroe < Window_Base  def initialize(n)#inizializzazione della variabile da usare per deeterminare la posizione del party  	@n = n	#settaggio dimensioni della finestra super(posiz. X, posiz. Y, largh.,alt.)	  # per la cordinata x: calcola il resto di 2 dall'actor_id e lo moltiplica per 320,		  # per es 0%2=0; 1%2=1; 2%2=0; 3%2=1	super (n % 2 * 320, (n / 2) % 2 * 210,320,210)	  #creazione bitmap	self.contents = Bitmap.new(width - 32,height - 32)	  #formattazione testo	  self.contents.font.name = "AR BERKLEY"	  self.contents.font.size = 28	testo	self.contents.font.name = "Times New Roman"  	self.contents.font.size = 14	parametri	grafica_eroe  end   def testo	  #pulire la finestra	self.contents.clear#La variabile @actor assume l'id dell'eroe che occupa la posizione del party#corrispondente alla finestra su cui si deve scrivere 	@actor = $game_party.actors[@n]	draw_actor_name(@actor, 190, 0)  end   def parametri	draw_actor_parameter(@actor, 0, 86, 0)	draw_actor_parameter(@actor, 180, 86, 1)	draw_actor_parameter(@actor, 180, 109, 2)	draw_actor_parameter(@actor, 0, 109, 3)	draw_actor_parameter(@actor, 0, 132, 4)	draw_actor_parameter(@actor, 180, 132, 5)	draw_actor_parameter(@actor, 0, 155, 6)   end    def grafica_eroe	draw_actor_graphic(@actor, 32, 55)  endend

 

 

P.S.

Idru prova a vedere se ora ti funziona. E un'altra cosa non puoi togliere il dispose perchè è la funzione che permette di eliminare le finestre una volta usciti dalla scena.

 

EDIT:Nessuno sa dirmi perchè la def update nn funziona se la imposto così????

 

def updatefor i in 0...$game_party.actors.sizeeroe [i].updateendend

 

EDIT2:

Visto le critiche sul fatto che si possono utilizzare massimo 4 pg vorrei sapere come potremmo creare un menù su questo stile non sapendo quante finestre massimo possiamo creare??????

 

EDIT3:

Ora che abbiamo capito come scrivere i parametri nel menu dobbiamo concentrarci sul menù in basso e sul rendere le finestre degli eroi selezionabili.

Edited by BlackShadow91
Link to comment
Share on other sites

  • 0

rispondo al primo edit, forse potrebbe essere per quello spazio, eroe invece di eroe ma non sono sicure

 

Seconda cosa, ho copiato e provato il nuovo codice, niente.

io lo chiamo così cliccando su un evento

$menu = Scene_Menu1.new

tu come lo apri?

 

terzo, possiamo, anzi dovremmo^^, fare ancora meglio sulla grafica e posizionamento parametri, tipo inserire le altre info e pensavo di sostituire le scritte ATK STR ecc. con un icona così da guadagnare spazio, tipo come per gli equip, o pensiamo già al menù in basso?

 

EDIT: Sto provando così:

 

def draw_actor_parameter_personale(actor, x, y, type)	case type	when 0	  item = $data_items[0]	  parameter_value = actor.atk	when 1	  item = $data_items[1]	  parameter_value = actor.pdef	when 2	  item = $data_items[2]	  parameter_value = actor.mdef	when 3	  item = $data_items[3]	  parameter_value = actor.str	when 4	  item = $data_items[4]	  parameter_value = actor.dex	when 5	  item = $data_items[5]	  parameter_value = actor.agi	when 6	  item = $data_items[6]	  parameter_value = actor.int	end	bitmap = RPG::Cache.icon(item.icon_name)	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))	self.contents.font.color = normal_color   #inizialmente era x + 120, ora è x + 48 credo basti, non so	self.contents.draw_text(x + 48, y, 36, 32, parameter_value.to_s, 2)  end   def parametri	draw_actor_parameter_personale(@actor, 0, 86, 0)	draw_actor_parameter_personale(@actor, 180, 86, 1)	draw_actor_parameter_personale(@actor, 180, 109, 2)	draw_actor_parameter_personale(@actor, 0, 109, 3)	draw_actor_parameter_personale(@actor, 0, 132, 4)	draw_actor_parameter_personale(@actor, 180, 132, 5)	draw_actor_parameter_personale(@actor, 0, 155, 6)   end

 

 

Ho creato draw_actor_parameter_personale alternativa al draw_actor_parameter standard.

ho copiato il def draw_actor_parameter e sono andato a modificare, voglio che compaiano icone invece che ATK STR ecc.

Ho agiunto il primo rigo di ogni when e questi due righi

bitmap = RPG::Cache.icon(item.icon_name)

self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))

eliminando tutto ciò che riguardava le scritte che non voglio compaiano.

Dopo vari aggiustamenti sono arrivato a questo, ora mi da errore metodo non definito icon_name, ma non mi sembra di aver fatto nulla di diverso dagli standard, sapete che dirmi?

A altra cosa, se funzionasse questo modo andrebbe a mostrare le icone dei rimi 7 oggetti del database, naturalmente non va bene^^ era solo per provare l'inserimento di icone.

Come andrebbe fatta una cosa fatta bene? Nel senso vorrei che per ogni when si inserisse le coordinate x e y per poi andare a recuperare l'icona desiderata nel file con tutte le icone, come si può fare una cosa del genere?

 

EDIT2: Un momento, ma XP non usa un file Iconset come il VX??? usa immagini singole x ogni icon?

Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
forse potrebbe essere per quello spazio, eroe invece di eroe ma non sono sicure

 

No quello è solo un errore di copia nello script è scritto senza spazio.

 

io lo chiamo così cliccando su un evento

$menu = Scene_Menu1.new

tu come lo apri?

 

$scene = Scene_Menu1.new

 

Per quanto riguarda il perfezionamento della grafica io direi di preoccuparci prima dei problemi di ordine tecnico e poi di migliorare il tutto. Anche perchè se non riusciamo a risolvere qualcosa magari dovremmo un po' cambiare l'impostazione!!! Che ne dici?

 

Il codice che hai postato lo guardo dopo che ora devo andare!!!!

Link to comment
Share on other sites

  • 0

Quando riesco a trovare un po' di tempo cerco di andare avanti con il laboratorio ^^

 

Ho cercato di fare due cose:

1 mostrare icone invece di ATK ecc., direi che ci sono, bisogna solo trovare le icone giuste ^^

2 Volevo passare al menù sottostante ed ecco che incontro i problemi:

2.1 (^^) deve essere orizzontale, a scorrimento orizzontale

2.2 tutte le scritte non ci stanno -> bisogna usare icona e anche qui. (lasciando stare quali icone che poi si trovano o si fanno )

 

Intanto ho incontrato sempre gli stessi problemi che davvero non mi so spiegare, il fatto che con main non va ma con initialize si

poi per questo tratto

for i in 0...$game_party.actor.size	  @eroe[i].dispose	end

mi dice 'actor' metodo non definito

Ah, altra cosa d'improvviso sono scomparsi i nomi anche se non ho toccato niente lì, boh per ora fa niente

 

Cancellando queste parti per fare delle prove alla fine sono arrivato a questo:

http://img32.imageshack.us/img32/269/immaginesf.png

 

Con questo tratto di codice mostro le icone:

 def draw_actor_parameter_personale(actor, x, y, type)	case type	when 0	  bitmap = RPG::Cache.icon("004-Weapon04")	  parameter_value = actor.atk	when 1	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.pdef	when 2	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.mdef	when 3	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.str	when 4	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.dex	when 5	  bitmap = RPG::Cache.icon("020-Accessory05")	  parameter_value = actor.agi	when 6	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.int	end	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))	self.contents.font.color = normal_color	self.contents.draw_text(x + 48, y, 36, 32, parameter_value.to_s, 2)  end   def parametri	draw_actor_parameter_personale(@actor, 0, 70, 0)	draw_actor_parameter_personale(@actor, 100, 70, 1)	draw_actor_parameter_personale(@actor, 100, 94, 2)	draw_actor_parameter_personale(@actor, 0, 94, 3)	draw_actor_parameter_personale(@actor, 0, 119, 4)	draw_actor_parameter_personale(@actor, 100, 119, 5)	draw_actor_parameter_personale(@actor, 0, 144, 6)   end

 

Mentre poi sto aggiungendo questa classe, un window comandi Orizzontale cerco di fare il menù orizzontale ad icone

class Window_Commandi_or < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #	 width	: window width  #	 commands : command text string array  #--------------------------------------------------------------------------  def initialize(height, commands)	# Compute window height from command quantity	super(0, 420, commands.size * 64 + 32, height)	@item_max = commands.size	@commands = commands	self.contents = Bitmap.new(@item_max * 32, height - 32)	refresh	self.index = 0  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	for i in 0...@item_max	  draw_item(i)	end  end  #--------------------------------------------------------------------------  # * Draw Item  #	 index : item number  #	 color : text color  #--------------------------------------------------------------------------  def draw_item(index)	bitmap = RPG::Cache.icon(@commands[index])	self.contents.blt(0, 32 * index, bitmap, Rect.new(0, 0, 24, 24))  end  #--------------------------------------------------------------------------  # * Disable Item  #	 index : item number  #--------------------------------------------------------------------------  def disable_item(index)	draw_item(index, disabled_color)  endend

Che richiamo in questo modo nel Main\initialize:

 # Make command window	s1 = "004-Weapon04"	s2 = "004-Weapon04"	s3 = "004-Weapon04"	s4 = "004-Weapon04"	s5 = "004-Weapon04"	s6 = "004-Weapon04"	@command_window = Window_Commandi_or.new(60, [s1, s2, s3, s4, s5, s6])	@command_window.index = 0	# If number of party members is 0	if $game_party.actors.size == 0	  # Disable items, skills, equipment, and status	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	end

 

Il risultato lo vedete, e non va bene, sapete darmi qualche dritta?

Lo scorrimento orizzontale non l'ho ancora provato a fare, mi sa dovrò fare una nuova window_selectable, ma già così le icone non si mostrano.

Se c'è bisogno di qualche chiarimento in più ditemelo.

Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
Quando riesco a trovare un po' di tempo cerco di andare avanti con il laboratorio ^^

 

Ho cercato di fare due cose:

1 mostrare icone invece di ATK ecc., direi che ci sono, bisogna solo trovare le icone giuste ^^

2 Volevo passare al menù sottostante ed ecco che incontro i problemi:

2.1 (^^) deve essere orizzontale, a scorrimento orizzontale

2.2 tutte le scritte non ci stanno -> bisogna usare icona e anche qui. (lasciando stare quali icone che poi si trovano o si fanno )

 

Intanto ho incontrato sempre gli stessi problemi che davvero non mi so spiegare, il fatto che con main non va ma con initialize si

poi per questo tratto

for i in 0...$game_party.actor.size	  @eroe[i].dispose	end

mi dice 'actor' metodo non definito

Ah, altra cosa d'improvviso sono scomparsi i nomi anche se non ho toccato niente lì, boh per ora fa niente

 

Cancellando queste parti per fare delle prove alla fine sono arrivato a questo:

http://img32.imageshack.us/img32/269/immaginesf.png

 

Con questo tratto di codice mostro le icone:

 def draw_actor_parameter_personale(actor, x, y, type)	case type	when 0	  bitmap = RPG::Cache.icon("004-Weapon04")	  parameter_value = actor.atk	when 1	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.pdef	when 2	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.mdef	when 3	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.str	when 4	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.dex	when 5	  bitmap = RPG::Cache.icon("020-Accessory05")	  parameter_value = actor.agi	when 6	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.int	end	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))	self.contents.font.color = normal_color	self.contents.draw_text(x + 48, y, 36, 32, parameter_value.to_s, 2)  end   def parametri	draw_actor_parameter_personale(@actor, 0, 70, 0)	draw_actor_parameter_personale(@actor, 100, 70, 1)	draw_actor_parameter_personale(@actor, 100, 94, 2)	draw_actor_parameter_personale(@actor, 0, 94, 3)	draw_actor_parameter_personale(@actor, 0, 119, 4)	draw_actor_parameter_personale(@actor, 100, 119, 5)	draw_actor_parameter_personale(@actor, 0, 144, 6)   end

 

Mentre poi sto aggiungendo questa classe, un window comandi Orizzontale cerco di fare il menù orizzontale ad icone

class Window_Commandi_or < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #	 width	: window width  #	 commands : command text string array  #--------------------------------------------------------------------------  def initialize(height, commands)	# Compute window height from command quantity	super(0, 420, commands.size * 64 + 32, height)	@item_max = commands.size	@commands = commands	self.contents = Bitmap.new(@item_max * 32, height - 32)	refresh	self.index = 0  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	for i in 0...@item_max	  draw_item(i)	end  end  #--------------------------------------------------------------------------  # * Draw Item  #	 index : item number  #	 color : text color  #--------------------------------------------------------------------------  def draw_item(index)	bitmap = RPG::Cache.icon(@commands[index])	self.contents.blt(0, 32 * index, bitmap, Rect.new(0, 0, 24, 24))  end  #--------------------------------------------------------------------------  # * Disable Item  #	 index : item number  #--------------------------------------------------------------------------  def disable_item(index)	draw_item(index, disabled_color)  endend

Che richiamo in questo modo nel Main\initialize:

 # Make command window	s1 = "004-Weapon04"	s2 = "004-Weapon04"	s3 = "004-Weapon04"	s4 = "004-Weapon04"	s5 = "004-Weapon04"	s6 = "004-Weapon04"	@command_window = Window_Commandi_or.new(60, [s1, s2, s3, s4, s5, s6])	@command_window.index = 0	# If number of party members is 0	if $game_party.actors.size == 0	  # Disable items, skills, equipment, and status	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	end

 

Il risultato lo vedete, e non va bene, sapete darmi qualche dritta?

Lo scorrimento orizzontale non l'ho ancora provato a fare, mi sa dovrò fare una nuova window_selectable, ma già così le icone non si mostrano.

Se c'è bisogno di qualche chiarimento in più ditemelo.

 

Devi modificare le cordinate del draw_item... XD

self.contents.blt(0, 32 * index, bitmap, Rect.new(0, 0, 24, 24))

 

Cosi si svilupperanno solo in verticale, invece prova settando

self.contents.blt(32*index, 0, bitmap, Rect.new(0, 0, 24, 24))

 

È una modifica veloce quindi non ti garantisco funzioni

Link to comment
Share on other sites

  • 0
Wa!! XD sicuro l'errore c'era, ma comunque aggiustando non cambia la situazione

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
Wa!! XD sicuro l'errore c'era, ma comunque aggiustando non cambia la situazione

 

Adesso ho provato a farla.. XD

allora aggiungi nel def initialize

@column_max = @commands.size

 

poi sostituisci

self.contents = Bitmap.new(@item_max * 32, height - 32)

 

con

self.contents = Bitmap.new(@item_max * 64, height - 32)

 

e anche nel draw_item e nel Rect

metti un *64 e aumenta ancora qualcora le scritte si sovvrasrivessero ^^

Link to comment
Share on other sites

  • 0

Oh benissimo :D inserendo colunm compaiono, anche se non riesco ancora a far muovere il rettangolo selezione, vedrò come fare. Poi va posizionato tutto un po' meglio, ma fa niente :D Grazie mille ^^

http://img153.imageshack.us/img153/3250/immaginest.png

Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
  • 0
no, deve essere questo

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
  • 0

Sto cercando di capire come funziona guardando window command, selectable e scene menu ma ancora non mi è ben chiaro, ti posto il codice per intero:

 

#------------------------------------------------------------------------------##1)Scena del menù															  #				#------------------------------------------------------------------------------#class Scene_Menu1  def initialize#Il ciclo for crea un array all'interno del quale si collocano le istanze della #classe Window_Eroe		for i in 0...$game_party.actors.size		#Creazione array	  @eroe = []		#Assegnazione istanze di classi 	  @eroe[i]=Window_Eroe.new(i)	end	  # Make command window	s1 = "004-Weapon04"	s2 = "004-Weapon04"	s3 = "004-Weapon04"	s4 = "004-Weapon04"	s5 = "004-Weapon04"	s6 = "004-Weapon04"	@command_window = Window_Commandi_or.new(60, [s1, s2, s3, s4, s5, s6])	@command_window.index = 0	# If number of party members is 0	if $game_party.actors.size == 0	  # Disable items, skills, equipment, and status	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	end	@command_window.active = true		  #Scongela una scena	Graphics.transition	  #Aggiorna il contenuto	loop do	  Graphics.update	  Input.update	  update	  if $scene != self		break	  end	end	  #Congela la scena	Graphics.freeze   end   def update	 @command_window.update endend #------------------------------------------------------------------------------##2)Finestre degli eroi														 ##------------------------------------------------------------------------------# class Window_Eroe < Window_Base  def initialize(n)#inizializzazione della variabile da usare per deeterminare la posizione del party  	@n = n	#settaggio dimensioni della finestra super(posiz. X, posiz. Y, largh.,alt.)	  # per la cordinata x: calcola il resto di 2 dall'actor_id e lo moltiplica per 320,		  # per es 0%2=0; 1%2=1; 2%2=0; 3%2=1	super (n % 2 * 320, (n / 2) % 2 * 210,320,210)	  #creazione bitmap	self.contents = Bitmap.new(width - 32,height - 32)	  #formattazione testo	  self.contents.font.name = "AR BERKLEY"	  self.contents.font.size = 28	testo	self.contents.font.name = "Times New Roman"  	self.contents.font.size = 14	parametri	grafica_eroe  end   def testo	  #pulire la finestra	self.contents.clear#La variabile @actor assume l'id dell'eroe che occupa la posizione del party#corrispondente alla finestra su cui si deve scrivere 	@actor = $game_party.actors[@n]	draw_actor_name(@actor, 190, 0)  end   def draw_actor_parameter_personale(actor, x, y, type)	case type	when 0	  bitmap = RPG::Cache.icon("004-Weapon04")	  parameter_value = actor.atk	when 1	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.pdef	when 2	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.mdef	when 3	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.str	when 4	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.dex	when 5	  bitmap = RPG::Cache.icon("020-Accessory05")	  parameter_value = actor.agi	when 6	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.int	end	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))	self.contents.font.color = normal_color	self.contents.draw_text(x + 48, y, 36, 32, parameter_value.to_s, 2)  end   def parametri	draw_actor_parameter_personale(@actor, 0, 70, 0)	draw_actor_parameter_personale(@actor, 100, 70, 1)	draw_actor_parameter_personale(@actor, 100, 94, 2)	draw_actor_parameter_personale(@actor, 0, 94, 3)	draw_actor_parameter_personale(@actor, 0, 119, 4)	draw_actor_parameter_personale(@actor, 100, 119, 5)	draw_actor_parameter_personale(@actor, 0, 144, 6)   end    def grafica_eroe	draw_actor_graphic(@actor, 32, 55)  endend class Window_Commandi_or < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #	 width	: window width  #	 commands : command text string array  #--------------------------------------------------------------------------  def initialize(height, commands)	# Compute window height from command quantity	super(0, 420, commands.size * 64 + 32, height)	@item_max = commands.size	@commands = commands	@column_max = @commands.size	self.contents = Bitmap.new(@item_max * 64, height - 32)	refresh	self.index = 0  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	for i in 0...@item_max	  draw_item(i)	end  end  #--------------------------------------------------------------------------  # * Draw Item  #	 index : item number  #	 color : text color  #--------------------------------------------------------------------------  def draw_item(index)	bitmap = RPG::Cache.icon(@commands[index])	self.contents.blt(64 * index, 0, bitmap, Rect.new(0, 0, 24, 24))  end  #--------------------------------------------------------------------------  # * Disable Item  #	 index : item number  #--------------------------------------------------------------------------  def disable_item(index)	draw_item(index, disabled_color)  endend

 

 

Al rigo 49 ho inserito @command_window.update, come c'è in scene menu, ma non capisco a quale upfate fa riferimento questo comando, in window_command non c'è un def update.... ummm ci devo lavorare ancora n po' su

Edited by idru

http://img543.imageshack.us/img543/8858/bannerfirmagrafica.jpg

 

la mia gallery su deviant

SUPERBIA SUDORE FORTUNA

Grandi sogni supportati da una grande passione!!

 

Medagliette: http://img846.imageshack.us/img846/9296/fcp1.pnghttp://img717.imageshack.us/img717/7703/fcp3.png http://www.rpg2s.net/cover_contest/icons/cc_1.png http://www.rpg2s.net/cover_contest/icons/cc_furor_1.png http://www.rpg2s.net/cover_contest/icons/cc_special.png http://www.rpg2s.net/cover_contest/icons/cc_special.pnghttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0
Sto cercando di capire come funziona guardando window command, selectable e scene menu ma ancora non mi è ben chiaro, ti posto il codice per intero:

 

#------------------------------------------------------------------------------##1)Scena del menù															  #				#------------------------------------------------------------------------------#class Scene_Menu1  def initialize#Il ciclo for crea un array all'interno del quale si collocano le istanze della #classe Window_Eroe		for i in 0...$game_party.actors.size		#Creazione array	  @eroe = []		#Assegnazione istanze di classi 	  @eroe[i]=Window_Eroe.new(i)	end	  # Make command window	s1 = "004-Weapon04"	s2 = "004-Weapon04"	s3 = "004-Weapon04"	s4 = "004-Weapon04"	s5 = "004-Weapon04"	s6 = "004-Weapon04"	@command_window = Window_Commandi_or.new(60, [s1, s2, s3, s4, s5, s6])	@command_window.index = 0	# If number of party members is 0	if $game_party.actors.size == 0	  # Disable items, skills, equipment, and status	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	end	@command_window.active = true		  #Scongela una scena	Graphics.transition	  #Aggiorna il contenuto	loop do	  Graphics.update	  Input.update	  update	  if $scene != self		break	  end	end	  #Congela la scena	Graphics.freeze   end   def update	 @command_window.update endend #------------------------------------------------------------------------------##2)Finestre degli eroi														 ##------------------------------------------------------------------------------# class Window_Eroe < Window_Base  def initialize(n)#inizializzazione della variabile da usare per deeterminare la posizione del party  	@n = n	#settaggio dimensioni della finestra super(posiz. X, posiz. Y, largh.,alt.)	  # per la cordinata x: calcola il resto di 2 dall'actor_id e lo moltiplica per 320,		  # per es 0%2=0; 1%2=1; 2%2=0; 3%2=1	super (n % 2 * 320, (n / 2) % 2 * 210,320,210)	  #creazione bitmap	self.contents = Bitmap.new(width - 32,height - 32)	  #formattazione testo	  self.contents.font.name = "AR BERKLEY"	  self.contents.font.size = 28	testo	self.contents.font.name = "Times New Roman"  	self.contents.font.size = 14	parametri	grafica_eroe  end   def testo	  #pulire la finestra	self.contents.clear#La variabile @actor assume l'id dell'eroe che occupa la posizione del party#corrispondente alla finestra su cui si deve scrivere 	@actor = $game_party.actors[@n]	draw_actor_name(@actor, 190, 0)  end   def draw_actor_parameter_personale(actor, x, y, type)	case type	when 0	  bitmap = RPG::Cache.icon("004-Weapon04")	  parameter_value = actor.atk	when 1	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.pdef	when 2	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.mdef	when 3	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.str	when 4	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.dex	when 5	  bitmap = RPG::Cache.icon("020-Accessory05")	  parameter_value = actor.agi	when 6	  bitmap = RPG::Cache.icon("009-Shield01")	  parameter_value = actor.int	end	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))	self.contents.font.color = normal_color	self.contents.draw_text(x + 48, y, 36, 32, parameter_value.to_s, 2)  end   def parametri	draw_actor_parameter_personale(@actor, 0, 70, 0)	draw_actor_parameter_personale(@actor, 100, 70, 1)	draw_actor_parameter_personale(@actor, 100, 94, 2)	draw_actor_parameter_personale(@actor, 0, 94, 3)	draw_actor_parameter_personale(@actor, 0, 119, 4)	draw_actor_parameter_personale(@actor, 100, 119, 5)	draw_actor_parameter_personale(@actor, 0, 144, 6)   end    def grafica_eroe	draw_actor_graphic(@actor, 32, 55)  endend class Window_Commandi_or < Window_Selectable  #--------------------------------------------------------------------------  # * Object Initialization  #	 width	: window width  #	 commands : command text string array  #--------------------------------------------------------------------------  def initialize(height, commands)	# Compute window height from command quantity	super(0, 420, commands.size * 64 + 32, height)	@item_max = commands.size	@commands = commands	@column_max = @commands.size	self.contents = Bitmap.new(@item_max * 64, height - 32)	refresh	self.index = 0  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	for i in 0...@item_max	  draw_item(i)	end  end  #--------------------------------------------------------------------------  # * Draw Item  #	 index : item number  #	 color : text color  #--------------------------------------------------------------------------  def draw_item(index)	bitmap = RPG::Cache.icon(@commands[index])	self.contents.blt(64 * index, 0, bitmap, Rect.new(0, 0, 24, 24))  end  #--------------------------------------------------------------------------  # * Disable Item  #	 index : item number  #--------------------------------------------------------------------------  def disable_item(index)	draw_item(index, disabled_color)  endend

 

 

Al rigo 49 ho inserito @command_window.update, come c'è in scene menu, ma non capisco a quale upfate fa riferimento questo comando, in window_command non c'è un def update.... ummm ci devo lavorare ancora n po' su

 

Fa riferimento alla superclasse che è la Window_Selectable, l'update è li ^^

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...