Jump to content
Rpg²S Forum

nihil-omen

Utenti
  • Posts

    696
  • Joined

  • Last visited

Posts posted by nihil-omen

  1. Beh sì, sicuramente si può trovare di meglio...

     

    Comunque quell'errore che ti da te lo da perchè la variabile che sta prima (o quella che sta dopo) il '>' in un modo o nell'altro NON è un numero!

    Se io ho "if X > Y" e X non è un numero, non può controllare se X è maggiore di Y.

    Mi è capitato spesso quel genere di errore ed era sempre legato a questo fatto, variabili che per un motivo o un altro non erano "esattamente" dei numeri o (a volte) che erano nulle (però mi sembra che in quel caso l'errore è di tipo Nil:class)!

    Quindi controlla bene ;)

     

    PS: Ho letto solo gli ultimi due post, quindi questo è solo un consiglio! Purtroppo al momento non posso mettermi a guardare il codice >_< Ad ogni modo se l'errore è legato alla lista vuota, allora (forse) ti da errore proprio perchè è vuota!

  2. Vedrò di postarli a breve questi benedetti screen XD (il restyle grafico è molto parziale in realtà, sto aspettando ancora i nuovi ritratti e per ora probabilmente i colori e il look and feel del menù resterà il solito verdeacqua e sfondo molto scuro)

     

    Nu la porta è la 21, quella del module net ^___^

     

    E sì, l'Equipment Creator è ben più intrigante XD

    L'indecisione c'è solo per il discorso che è un po' una lotta tra il "combinare" (dei Tavoli da Lavoro) e il "potenziare" XD

    Ma mi sa che metterò l'Equipment Creator ^^

    Sarà comunque accessibile anch'esso dai Tavoli da Lavoro :P

  3. Ragazziiiiiii!

     

    Ho qualche news e una domanda da porvi!

    Prima le news, o meglio, l'aggiornamento alla "to do list" XD

     

    Ho completato, finalmente di programmagre di nuovo il menù, con tutte le nuove features e quelle vecchie riviste (schermate Documenti/Opzioni/Obiettivi/Achievements/ESP) ed ho anche diminuito il numero di tasti utilizzati nel gioco, ora sono "solo" 8, quelli base di RPG Maker XP, così sarà giocabile interamente su joypad, per chi lo ha ^^

     

    Ho scriptato un help per le battaglie e per l'utilizzo degli ESP :quando ci si trova in battaglia appare in basso a sinistra una piccola guida ai tasti, tipo [Z]: Mira [X]: Menù etc etc, inoltre quando si sta per effettuare un attacco fisico, affianco ai nomi dei tasti [A], e [D] apparirà il numero di attacchi che verranno effettuati con quel dato attacco XD

    Visto che occupa un po' di spazio (ma non copre quasi nulla visto che è senza sfondo) l'ho resa attivabile/disattivabile dal menù delle OPZIONI. Inoltre dallo stesso menù si può decidere se visualizzare i tasti della "tastiera" ([Q][W][A][D][Z][X][C]) o i tasti del "controller" (rispettivamente [L][R][X][Y][Z][A][C]) e ciò ha effetto su tutte le visualizzazioni di tutti i tasti di tutto il gioco, così chi sta con il pad non deve stare lì a scervellarsi per capire quale tasto pigiare XD

     

    Inoltre ho completato la programmazione degli Achievements, il collegamento tra gioco e sito funziona ^^

    Però per farlo funzionare sarà necessaria una connessione internet, altrimenti il gioco crasha :/

    E ovviamente occorre essere registrati al sito :S

    Ho trovato una buona scappatoia però XD

     

    Vi spiego in breve come funziona: quando ci si registra sul sito si riceve un ID via email, tale ID va inserito poi quando si INIZIA una nuova partita (ho deciso che sarà inseribile esclusivamente all'inizio), se si decide di non inserirlo, quella partita non potrà MAI inviare/ricevere dati dal sito. Se invece si inserisce l'ID (che deve essere corretto ed esistente) il gioco farà tutto automaticamente e potrete vedere i vostri Achievements direttamente sul sito (e nel menù XD).

    Ma questo è solo l'inizio!

    In pratica ogni volta che si apre il gioco, viene chiesto se si intende giocare una sessione OFFLINE o ONLINE, la differenza è semplicemente che quella ONLINE quando si CARICA un SALVATAGGIO si scarica dal sito le informazioni e quando si SCRIVE un SALVATAGGIO uppa le informazioni nuove sul sito.

    Ora: il gioco crasha se si salva o carica in un momento in cui non c'è linea mentre si è in modalità ONLINE. Non viene perso alcun dato, perchè il salvataggio avviene perfettamente, ma il gioco si chiude!

    Per venire incontro un po' a tutti ho inserito una voce nelle OPZIONI che permette di passare dalla modalità OFFLINE a quella ONLINE e viceversa. Naturalmente se si passa da ONLINE a OFFLINE, semplicemente vengono inibiti i comandi inerenti ad internet, se invece si passa da OFFLINE a ONLINE prima di tutto viene effettuato lo stesso processo che si effettua quando si CARICA un SALVATAGGIO (per proteggere i dati sul sito...c'ho riflettuto un bel po' su come far filare il tutto :/ ).

     

    Può sembrare complicato scritto così XD Ma vi assicuro che da parte del giocatore dovrete soltanto stare attenti a questi passaggi:

    Inizio a giocare -> Ho internet? -> SI: seleziono la modalità ONLINE / NO: seleziono la modalità OFFLINE

    Sto già giocando e sono in modalità ONLINE, ma mi crasha la rete -> Apro il Menù -> Opzioni -> passo all' OFFLINE

    Sto già giocando e sono in modalità OFFLINE ma ora sono connesso -> Menù -> Opzioni -> passo all'ONLINE

     

    Ad ogni modo non dovrete temere di giocare in modalità OFFLINE perchè tutti i progressi che farete con gli Achievements verranno comunque salvati (e riceverete comunque il messaggio di averli sbloccati), semplicemente il sito verrà aggiornato alla prossima sessione ONLINE nella quale SALVERETE!!!! XD

     

    NOTA: naturalmente quando si inizia una nuova partita, se si intende inserire l'ID sarà OBBLIGATORIO essere in modalità ONLINE!

     

    Ora, ogni Achievements ha un numerino affianco, un punteggio, chiamato Rp (Roses Points). Al momento è completamente inutile eccettuato il fatto che sul sito, in base agli Rp acquisiti da ogni giocatore, viene stilata una classifica di tutti gli utenti ^^

    Più in là tuttavia, gli Rp potranno essere spesi sul sito per sbloccare/scaricare componenti speciali come costumi alternativi per i personaggi e altre chicche di questo genere ;)

     

    Forse più tardi comunque posterò qualche screen fatto qua e là XD

     

    Ed ora veniamo alla domanda che ho da porvi!

    Sto iniziando a fare il potenziamento delle armi ma ho bisogno di un vostro significativo parere...

    Secondo voi è meglio creare degli oggetti che servano a potenziare le armi e inserire lo script Equipment Creator

    ( http://www.rpg2s.net/forum/?showtopic=4805 ), oppure potenziare le armi sempre attraverso i Tavoli da Lavoro (mettendo dei semplici potenziamenti +1 +2 +3 che siano generali su tutte le stat dell'arma)?

    Con i Tavoli da Lavoro, rimarrebbe di più sullo stile attuale del gioco, però anche l'Equipment Creator mi ispira :/

     

    Sono completamente indeciso! Voi cosa consigliate? ^^

  4. No, infatti hai ragione non ci stavo ripensando all'epoca :O

     

    Uhm però è strano, con la switch disattivata (e come era scritto PRIMA dell'ultimo consiglio che ti ho dato) non dovrebbe dare problemi :/

     

    Io utilizzo quel metodo lì e non mi appare mai finchè non attivo la switch o_o

     

    Puoi provare a fare un'altra cosa se vuoi, anche se è un po' una mezza porcata...

     

    Nella classe "class Window_HUD < Window_Base" c'è il metodo refresh, quello che inizia subito dopo:

    #--------------------------------------------------------------------------# * Refresh#--------------------------------------------------------------------------def refresh

    Ora, se tu, dopo la riga "self.contents.clear" inserisci:

    if $game_switches[NUMERO_DELLA_SWITCH_PER_VISUALIZZARLO] == true

    e aggiungi un:

    end

    subito prima delle righe (alla fine del metodo in pratica):

    end#--------------------------------------------------------------------------# * Frame Update#--------------------------------------------------------------------------

    Teoricamente non dovrebbe più apparirti... o_o"

  5. NOOOOOOOOOOOOOOOOOOOOOOOO !

    I migliori anni della mia vita spesi a tentare di risolvere un problema "irrisolvibile" . . .

    Ma pagherai ! Ah, se pagherai !

    D'ora in poi, quando proporrai un problema, la prima cosa che ti dirò, sarà: << Guarda se non hai lasciato in giro, per caso, una versione modificata degli elementi dello script da qualche parte PIU' IN BASSO nello script editor . . . >>

     

    Sono profondamente deluso ! tongue.gif

     

    Lasciamo stare, mi sono sentito un idiota XD

     

    A questo non avevo pensato, perchè IO so che le finestre, di base, hanno un valore di z pari a 100 e gli sprite pari 0, quindi, al massimo, può succedere il contrario . . .

     

    No in realtà a questo c'ero quasi arrivato, in passato soprattutto, quando avevo fatto la finestra dei Talenti, infatti sopra la picture mi apparivano tutte le scritte delle finestre che ora spariscono :/

    Infatti mi sembrava strano potesse essere quello il problema XD

     

    Es. Quando attivi un determinato comando che influisce sulla visibilità ed attivazione di finestre, potresti crearti un metodo nomedelcomando_attivazione(bool), che potrebbe apparire più o meno così

     

    A questo ci pensavo oggi, penso che mi ci metterò questa sera XD

     

    Ora, se hai cambiato il codice di Window_Command, sono un distrattone e ti sto facendo l'esempio sbagliato . . .

    Il metodo disable_command cambia il colore del TESTO che rappresenta il nome del comando da far apparire disabilitato, e non tiene memoria di quali sono stati disabilitati. Nient'altro.

     

    Ah boh questi li avevo semplicemente adattati al mio script, erano presenti nello script "Compact Menù" di Sleeping Leonhart :S

    Quindi questi non lo disabilitano? Che amarezza :/

    Provvederò a sistemare ù___ù

     

    Poi, ma non l'ho testato, mi è venuto in mente un sistema, abbastanza vicino al tuo stile, per eliminare le if interne al case/when quando si attiva un comando

    Quindi, dentro il blocco che inizia con "if Input.trigger?(Input::C)" di update_command, inserisci questo codice

     

    Completamente vicino al mio stile X°D

    Infatti lo utilizzerò ù___ù

     

    Grazie mille *_____*

     

    PS: per l'help window, preferisco non metterci mano, era così nel codice originale di Sleeping, probabilmente incasinerei tutto :/

  6. Mi stai dicendo che l'immagine @bgesp COPRE le scritte? X°D

    Oh LoL vado subito a provare!

     

    Ma perchè allora con le altre finestre ciò non accade? :O

     

    No aspè ho appena provato, anche facendo sparire @bgesp non appaiono le scritte :/

    Quindi non vengono coperte dall'immagine ç____ç

     

    Ma quindi consigli di rivedermi l'aggiunta del comando e basta, giusto? :|

     

     

    EDIT:

    Ho provato comunque a fare:

     

    if @bgesp.visible == true #and @esp_window.visible != true

    @achievements_window.visible = true

    @bgesp.visible = false

    end

     

    in questo modo l'immagine sparisce ma appaiono le scritte degli achievements.

    se invece faccio:

     

    if @bgesp.visible == true #and @esp_window.visible != true

    @esp_window.visible = true

    @bgesp.visible = false

    end

     

    allora sparisce l'immagine ma non appare nessuna scritta!

     

    ç_______ç

     

     

     

    EDIT 2:

    AHAHAHAHAHA sono un deficente X°D

     

    Ho risolto XD

     

    In pratica in un'altro script (situato più in basso di questo) avevo creato una classe Window_ESP, quindi in pratica il menù creava l'altra classe, non quella scritta in questo script, per questo funzionava quando scambiavo i nomi!

     

    Madò che stupido...

     

    Grazie comunque raga *_*

     

    Giver, se poi hai qualche dritta su come ripulire un po' il codice, mi farà più che piacere leggerla ^____^

  7. Allora ^^

     

    1) La variabile 15 rappresenta i punti ESP MASSIMI ovvero il cap dei punti per usare i poteri ESP, ci sei andato molto vicino ;)

     

    2)Tra 1 o più e 2 o più non c'è differenza, il valore minimo (quado è diverso da 0) è 10! La differenza nelle condizioni c'è perchè alcune finestre e voci devono apparire solo SE il valore degli ESP è maggiore di 0 (che nel gioco cambia nel momento in cui si apprende il primo ESP, in pratica serve a far apparire le finestre inerenti agli ESP solo quando si conoscono)

     

    3)Sì l'ho aggiunto dopo poco prima di postare tutto il codice e non appare neanche così... E purtroppo no, non so cosa significa ç_ç Però so che se scambio le righe delle classi (231 con 276), come già detto, la finestra degli ESP, quando attivo quella degli Achievements, mi compare :S

     

    E sì, lo so che c'è tantissimo codice ridondante e superfluo, ma sono ancora una mezza calzetta col ruby ç_ç E parecchio codice l'ho scritto mesi fa, quando ero ancora più mezza calzetta ç_ç

  8. Volevo evitare di postare l'intero codice perchè è enorme (a causa della mia nubbezza) >_<

    Però forse è meglio, a scanso di equivoci, postarlo tutto!

     

    Per lo scambio di classi intendevo se scambio le righe 232 e 277. Quindi tutti i riferimenti di una classe vengono fatti all'altra :S

     

    In tal caso, se seleziono il comando Achievements (che dopo lo scambio è colleggato alla finestra ESP) mi compare correttamente la finestra ESP, naturalmente però selezionando il comando ESP NON appare la finestra Achievements, ma soltanto l'immagine che gli fa da sfondo :S

     

    #==============================================================================# ** Compact Menu#------------------------------------------------------------------------------#  Autore: The Sleeping Leonhart#  Versione: 1.1#  Data di rilascio: 2/06/2008#------------------------------------------------------------------------------#  Descrizione:#	Menu che permette l'uso di oggetti, magie ed equipaggiamento tutto nella#	stessa schermata#------------------------------------------------------------------------------#  Istruzioni:#	Editate le immagini per adattare il menu al vostro gusto.#	Le immagini dei membri del party vanno messe nella cartella Pictures#	e vanno chiamate come la grafica del loro Battler.#============================================================================== class Game_Actor < Game_Battler  def now_exp	return @exp - @exp_list[@level]  end  def next_exp	return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0  endend class Window_Base < Window  def draw_actor_exps(actor, x, y)	self.contents.font.color = system_color	self.contents.draw_text(x, y, 28, 32, "Exp")	self.contents.font.color = normal_color	if actor.now_exp != 0	  if actor.level != 99		if actor.now_exp != 0		text = (actor.now_exp.to_f / actor.next_exp.to_f)*100.00		text = text.round		  else		text = 0		end	end	else	  text = 0	end	self.contents.font.color = normal_color	self.contents.draw_text(x + 40, y, 84, 32, text.to_s+"%")  end  def draw_energia (x, y)	if $game_variables[15] >= 1  #$game_party.gold >= 1	  self.contents.font.color = system_color	  self.contents.draw_text(x, y, 110, 14, "Energia")	  self.contents.font.color = normal_color	  self.contents.draw_text(x + 56 + 25, y, 110, 14, $game_party.gold.to_s)	end	end  def draw_actor_parameter(actor, x, y, type)	case type	when 0	  parameter_name = $data_system.words.atk	  parameter_value = actor.atk	when 1	  parameter_name = $data_system.words.pdef	  parameter_value = actor.pdef	when 2	  parameter_name = $data_system.words.mdef	  parameter_value = actor.mdef	when 3	  parameter_name = $data_system.words.str  	  parameter_value = actor.str	when 4	  parameter_name = $data_system.words.dex	  parameter_value = actor.dex	when 5	  parameter_name = $data_system.words.agi	  parameter_value = actor.agi	when 6	  parameter_name = $data_system.words.int	  parameter_value = actor.int	when 7	  parameter_name = "Evasione"	  parameter_value = actor.eva	end	self.contents.font.color = system_color	self.contents.draw_text(x, y, 120, 32, parameter_name)	self.contents.font.color = normal_color	if type == 0	  if actor.skill_learn?(71)		danno_bonus = actor.level / 2.00	  elsif actor.skill_learn?(72)		danno_bonus = actor.level / 1.75	  elsif actor.skill_learn?(73)		danno_bonus = actor.level / 1.50	  elsif actor.skill_learn?(74)		danno_bonus = actor.level / 1.25	  elsif actor.skill_learn?(75)		danno_bonus = actor.level / 1.00	  end	  dmg_bonus = danno_bonus.to_i	  self.contents.draw_text(x + 85, y, 120, 32, dmg_bonus.to_s + "+" )	end	if type == 3	  case $game_party.actors[0].weapon_id	  when 1	  when 2	  when 3	  when 4	  when 5	  when 6		$game_variables[9] = $game_variables[126]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 7		$game_variables[9] = $game_variables[127]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 8		$game_variables[9] = $game_variables[128]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 9		$game_variables[9] = $game_variables[129]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 10		$game_variables[9] = $game_variables[130]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 11		$game_variables[9] = $game_variables[131]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 12		$game_variables[9] = $game_variables[132]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 13		$game_variables[9] = $game_variables[133]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 14		$game_variables[9] = $game_variables[134]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 15		$game_variables[9] = $game_variables[135]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 16		$game_variables[9] = $game_variables[136]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 17		$game_variables[9] = $game_variables[138]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 18		$game_variables[9] = $game_variables[139]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 19		$game_variables[9] = $game_variables[140]	self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	  when 20	  when 21	  when 22	  when 23	  when 24	  when 25		$game_variables[9] = $game_variables[876]		self.contents.draw_text(x + 85, y, 120, 32, $game_variables[9].to_s + "/" )	end	  if $game_party.actors[0].weapon_id == 20		variabile_lancio = $game_party.weapon_number(20) + 1		self.contents.draw_text(x + 88, y, 36, 32, variabile_lancio.to_s , 2)	  elsif $game_party.actors[0].weapon_id == 21		variabile_lancio = $game_party.weapon_number(21) + 1		self.contents.draw_text(x + 88, y, 36, 32, variabile_lancio.to_s , 2)		variabile_lancio = $game_party.weapon_number(22) + 1		self.contents.draw_text(x + 88, y, 36, 32, variabile_lancio.to_s , 2)	  elsif $game_party.actors[0].weapon_id == 23		variabile_lancio = $game_party.weapon_number(23) + 1		self.contents.draw_text(x + 88, y, 36, 32, variabile_lancio.to_s , 2)	  elsif $game_party.actors[0].weapon_id == 24		variabile_lancio = $game_party.weapon_number(24) + 1		self.contents.draw_text(x + 88, y, 36, 32, variabile_lancio.to_s , 2)	  else		self.contents.draw_text(x + 88, y, 36, 32, parameter_value.to_s , 2)	  end	else	  self.contents.draw_text(x + 88, y, 36, 32, parameter_value.to_s , 2)  end   endend   class Window_HpBars < Window	def initialize	  super(16, 60, 672, 672)	#================AGGIUNTE NIHIL==========================	  	  actor = $game_party.actors[0]	  x = 0	  y = 0	  draw_hp_bar(actor, x, y, 112, 3)	  y += 10	 # draw_sp_bar(actor, x, y, 112, 3)	 # draw_sp_bar(actor, x+4, y+2, 112, 3)	  y -= 11	 #===========FINE AGGIUNTE NIHIL==========================	 end   end    class Window_Talenti < Window_Base	def initialize	  super(32, 60, 672, 672)	  self.contents = Bitmap.new(width-32, height-32)	  self.opacity = 0	  self.contents.font.size = 14	  self.contents.font.name = "Arial"		#draw_backwindow(10, 84, 540, 300)		x = 0		y = 98 		for i in 1..20			mod_x = 0			demi_mod_y = (i - 1) * 15			mod_y = demi_mod_y		  if i > 10			mod_x = 0		  #  mox_y = demi_mod_y - 300		  end		  if $game_variables[825+i] > 0			getTalentName ($game_variables[825+i])			getTalentDesc ($game_variables[825+i])			if $nome_talento != " "			  draw_backwindow(x + mod_x, y + mod_y , 130, 14)			  self.contents.draw_text(x + mod_x+3, y + mod_y , 200, 14, $nome_talento)			  draw_backwindow(x + mod_x + 150, y + mod_y , 400, 14)			  self.contents.draw_text(x + mod_x + 153, y + mod_y , 400, 14, $desc_talento)			end		  end		end	end  end   class Window_Achievements < Window_Base#Window_Achievements < Window_Base	def initialize	  super(32, 60, 672, 672)	  self.contents = Bitmap.new(width-32, height-32)	  self.opacity = 0	  self.contents.font.size = 14	  self.contents.font.name = "Arial"	  refresh	end 	def refresh	  self.contents.clear 		#draw_backwindow(10, 84, 540, 300)		x = 3		y = 98		@pagina = $achievements_page		@inizio = (@pagina * 20)		@fine = ((@pagina + 1) * 20) - 1 		for i in @inizio..@fine			mod_x = 150			demi_mod_y = (i % 20) * 15			mod_y = demi_mod_y 			presente = false			codice = get_achi_id(i)			for achi in $achievements			  if codice == achi				presente = true			  end			end 			if presente == true			  draw_backwindow(0 , y + mod_y , 130, 14)			  self.contents.draw_text(x , y + mod_y , 200, 14, get_achi_name(i))			  draw_backwindow(x + mod_x, y + mod_y , 400, 14)			  self.contents.draw_text(x + mod_x, y + mod_y , 400, 14, get_achi_desc(i))			end  		end#for	end#refresh  end#class   class Window_ESP < Window_Base	def initialize	  super(32, 60, 672, 672)	  self.contents = Bitmap.new(width-32, height-32) 	  self.contents.font.size = 14	  self.contents.font.name = "Arial"		#draw_backwindow(10, 84, 540, 300)		x = 0		y = 98	  for pg in 1..4		if $game_switches[150+pg] == true 		  @pg = pg - 1		end	  end   	  num_icon = 0 		for num_esp in 0..($appresi_array_ESP[@pg].size-1) 		  if $appresi_array_ESP[@pg][num_esp] == 1 			num_icon += 1			mod_y = (num_icon - 1) * 15 			draw_backwindow(x, y + mod_y , 110, 14)			draw_backwindow(x + 120, y + mod_y , 20, 14)			draw_backwindow(x + 150, y + mod_y , 400, 14) 			self.contents.font.color = normal_color			self.contents.draw_text(x+5, y+ mod_y, 130, 14, $s_array_ESP[@pg][num_esp][0])			lvl = $l_array_ESP[@pg][num_esp][0]			prezzo = $array_ESP[@pg][num_esp][0][lvl]			self.contents.draw_text(x +125, y+ mod_y, 110, 14, prezzo.to_s)			esp_id = get_ESP_id($s_array_ESP[@pg][num_esp][0])			self.contents.draw_text(x +155, y+ mod_y, 400, 14, get_ESP_desc(esp_id) ) 		  end #if appreso 		end#FOR 	end  end    class Window_Affinity < Window_Base	def initialize	  super(50, 255, 164, 300) 	  self.contents = Bitmap.new(width-32, height-32)	  self.opacity = 0	  self.contents.font.size = 14	  self.contents.font.name = "Arial" 	  @data = []	  for i in 1...$data_skills.size		#if $game_party.item_number(i) > 0		  @data.push($data_skills[i])		#end	  end		#draw_backwindow(10, 84, 540, 300)	  refresh	end 	  def refresh		self.contents.clear		x = 0		y = 0		yp = [0,13,26,39,52,65,78,91,104,117,130,143,156,169]		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[0], 120, 15, "Vigore")		for a in 1..5		  if $game_party.actors[0].skill_learn?(40+a)		  self.contents.draw_text(x+60, y+yp[0], 120, 15, "lvl "+a.to_s)		  if a > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[1], 120, 15, @data[40+a-1].description)		  end		  end		end		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[2], 120, 15, "Vitalità")		for a in 1..5		  if $game_party.actors[0].skill_learn?(45+a)		  self.contents.draw_text(x+60, y+yp[2], 120, 15, "lvl "+a.to_s)		  if a > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[3], 120, 15, @data[45+a-1].description)		  end		  end		end		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[4], 120, 15, "Volontà")		for a in 1..5		  if $game_party.actors[0].skill_learn?(50+a)		  self.contents.draw_text(x+60, y+yp[4], 120, 15, "lvl "+a.to_s)		  if a > 1		  if $game_variables[15] > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[5], 120, 15, @data[50+a-1].description)		  end		  end		  end		end		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[6], 120, 15, "Destrezza")		for a in 1..5		  if $game_party.actors[0].skill_learn?(55+a)		  self.contents.draw_text(x+60, y+yp[6], 120, 15, "lvl "+a.to_s)		  if a > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[7], 120, 15, @data[55+a-1].description)		  end		  end		end		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[8], 120, 15, "Agilità")		for a in 1..5		  if $game_party.actors[0].skill_learn?(60+a)		  self.contents.draw_text(x+60, y+yp[8], 120, 15, "lvl "+a.to_s)		  if a > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[9], 120, 15, @data[60+a-1].description)		  end		  end		end		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[10], 120, 15, "Riflessi")		for a in 1..5		  if $game_party.actors[0].skill_learn?(65+a)		  self.contents.draw_text(x+60, y+yp[10], 120, 15, "lvl "+a.to_s)		  if a > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[11], 120, 15, @data[65+a-1].description)		  end		  end		end		self.contents.font.color = system_color		self.contents.draw_text(x, y+yp[12], 120, 15, "Potenza")		for a in 1..5		  if $game_party.actors[0].skill_learn?(70+a)		  self.contents.draw_text(x+60, y+yp[12], 120, 15, "lvl "+a.to_s)		  if a > 1			self.contents.font.color = normal_color		  self.contents.draw_text(x+20, y+yp[13], 120, 15, @data[70+a-1].description)		  end		  end		end	  end    end  	class Window_Dati < Window_Base	def initialize	  super(40, 186, 190, 164) 	  self.contents = Bitmap.new(width-32, height-32)	  self.opacity = 0	  self.contents.font.size = 14	  self.contents.font.name = "Arial"		#draw_backwindow(10, 84, 540, 300)	  refresh	end 	  def refresh		self.contents.clear		x = 10		y = 0		get_tempo		self.contents.draw_text(x, y, 120, 32, "Tempo di gioco:")		self.contents.draw_text(x + 86, y, 120, 32, @tempo)		get_round		self.contents.draw_text(x, y + 15, 120, 32, "Round: " + @round.to_s)	  end 	  def get_tempo		total_sec = Graphics.frame_count / Graphics.frame_rate		hour = (total_sec / 60) / 60		min = (total_sec / 60) % 60		sec = total_sec % 60		zeroh = ""		zerom = ""		zeros = ""		if hour < 10		  zeroh = "0"		end		if min < 10		  zerom = "0"		end		if sec < 10		  zeros = "0"		end		@tempo = zeroh+hour.to_s+":"+zerom+min.to_s+":"+zeros+sec.to_s		#@tempo = sprintf("%02d:%02d:%02d", hour, min, sec)	  end 	  def get_round		@round = $game_variables[297] +1	  end    end    class Window_EquipESP < Window_Base	def initialize	  super(360, 370, 164, 100) 	  self.contents = Bitmap.new(width-32, height-32)	  self.opacity = 0	  self.contents.font.size = 14	  self.contents.font.name = "Arial" 	  for pg in 1..4		if $game_switches[150+pg] == true 		  @pg = pg - 1		end	  end		#draw_backwindow(10, 84, 540, 300)	  refresh	end 	  def refresh		self.contents.clear		x = 10		y = 0	  self.contents.draw_text(x, y, 110, 14, "[A] "+get_ESP_name($game_variables[923]))	  self.contents.draw_text(x, y+20, 110, 14, "[S] "+get_ESP_name($game_variables[924]))	  self.contents.draw_text(x, y+40, 110, 14, "[D] "+get_ESP_name($game_variables[925]))	  if $game_variables[923] > 0		num_esp = get_ESP_personal_ID($game_variables[923])		costo = $array_ESP[@pg][num_esp][0][lvl]		self.contents.draw_text(x+100, y, 110, 14, " "+costo.to_s)	  end	  if $game_variables[924] > 0		num_esp = get_ESP_personal_ID($game_variables[924])		costo = $array_ESP[@pg][num_esp][0][lvl]		self.contents.draw_text(x+100, y+20, 110, 14, " "+costo.to_s)	  end	  if $game_variables[925] > 0		num_esp = get_ESP_personal_ID($game_variables[925])		costo = $array_ESP[@pg][num_esp][0][lvl]		self.contents.draw_text(x+100, y+40, 110, 14, " "+costo.to_s)	  end	  end	     end #end  #<<--- è quello grosso	#===========FINE AGGIUNTE NIHIL==========================   #  end#   end  class Window_MenuStatus < Window_Selectable  def initialize(actor)	super(220, 48, 480, 96+32)	self.contents = Bitmap.new(width - 32, height - 32)	self.opacity = 0	@actor = actor	refresh	self.active = false	self.index = -1  end  def refresh	self.contents.clear	@item_max = 1	x = 0	y = 0	actor = @actor	self.contents.font.size = 14	draw_actor_name(actor, x, y)	draw_actor_hp(actor, x + 92, y)	#92	draw_actor_sp(actor, x + 180, y)	#236	#DRAW_ESP	if $game_variables[15] >= 1	  self.contents.font.color = system_color	  self.contents.draw_text(x + 280, y, 48, 32, "ESP ")		  self.contents.font.color = $game_variables[16] == 0 ? knockout_color :		  $game_variables[16] <= $game_variables[15] / 4 ? crisis_color : normal_color			self.contents.draw_text(x + 315, y, 48, 32, $game_variables[16].to_s )		  self.contents.font.color = normal_color			self.contents.draw_text(x + 330, y, 48, 32, "/" + $game_variables[15].to_s)	end	draw_actor_state(actor, x, y + 16)	draw_actor_level(actor, x, y + 32)	draw_actor_tp(actor, x + 48, y + 32)	draw_actor_exps(actor, x, y + 48)	draw_energia (x, y + 72)	draw_actor_parameter(actor, x + 92, y + 16, 0)	draw_actor_parameter(actor, x + 92, y + 32, 1)	draw_actor_parameter(actor, x + 92, y + 48, 2)	draw_actor_parameter(actor, x + 92, y + 64, 6)	draw_actor_parameter(actor, x + 236, y + 16, 3)	draw_actor_parameter(actor, x + 236, y + 32, 4)	draw_actor_parameter(actor, x + 236, y + 48, 5)	draw_actor_parameter(actor, x + 236, y + 64, 7)	  x = 60	  y = 1	  draw_hp_bar(actor, x, y, 112, 3)	  x += 150	  draw_sp_bar(actor, x, y, 112, 3)  end  def update_cursor_rect	if @index < 0	  self.cursor_rect.empty	else	  self.cursor_rect.set(0, @index * 96, self.width - 32, 96)	end  endend# end  class Window_MenuItem < Window_Selectable  def initialize	super(287, 355-65, 278, 56+24)	@column_max = 10	refresh	self.index = 0	self.opacity = 0  end  def item	return @data[self.index]  end  def refresh	if self.contents != nil	  self.contents.dispose	  self.contents = nil	end	@data = []	for i in 1...$data_items.size	  if $game_party.item_number(i) > 0		@data.push($data_items[i])	  end	end   #			   ESEMPIO OOOOOOOOOOOOOOOOOOOOOOOOOOOO   # for i in 1...100   #   if $game_party.item_number(i) > 0   #	 @data.push($data_items[i])   #   end   # end   #			 if $game_party.item_number(389) > 0   #			 @data.push($data_items[389])   #			 end   # for i in 102...$data_items.size   #   if $game_party.item_number(i) > 0   #	 @data.push($data_items[i])   #   end   # end	@item_max = @data.size	if @item_max > 0	  self.contents = Bitmap.new(width - 32, row_max * 32)	  for i in 0...@item_max		draw_item(i)	  end	end  end  def draw_item(index)	item = @data[index]	case item	when RPG::Item	  number = $game_party.item_number(item.id)	when RPG::Weapon	  number = $game_party.weapon_number(item.id)	when RPG::Armor	  number = $game_party.armor_number(item.id)	end	if item.is_a?(RPG::Item) and	   $game_party.item_can_use?(item.id)	  self.contents.font.color = normal_color	else	  self.contents.font.color = crisis_color	end	x = index % 10 * 24	y = index / 10 * 24	rect = Rect.new(x, y, 24, 24)	self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))	self.contents.font.size = 14	bitmap = RPG::Cache.icon(item.icon_name)	opacity = self.contents.font.color == normal_color ? 255 : 128	self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)	  self.contents.font.color = Color.new(0, 0, 0)	self.contents.draw_text(x + 11 -11, y + 2+2, 24, 32, number.to_s)	self.contents.draw_text(x + 11 -11, y + 0+2, 24, 32, number.to_s)	self.contents.draw_text(x + 12 -11, y + 1+2, 24, 32, number.to_s)	self.contents.draw_text(x +  9 -11, y + 1+2, 24, 32, number.to_s)	  self.contents.font.color = normal_color	self.contents.draw_text(x + 11 -11, y + 1+2, 24, 32, number.to_s)  end  def update_help	@help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)  end  def update_cursor_rect	if self.active	  if @index < 0		self.cursor_rect.empty		return	  end	  row = @index / @column_max	  if row < self.top_row		self.top_row = row	  end	  if row > self.top_row + 1		self.top_row = row - 1	  end	  cursor_width = self.width / @column_max - 32	  self.oy = (self.oy/32)*24	  x = @index % @column_max * 24	  y = @index / @column_max * 24 - (self.oy/24)*24	  self.cursor_rect.set(x, y, 24, 24)	 else	  self.cursor_rect.set(0, 0, 0, 0)	end  endend class Window_Target < Window_Selectable  def initialize	super(0, 0, $game_party.actors.size*48+32, 96)	self.contents = Bitmap.new(width - 32, height - 32)	self.z += 10	@column_max = @item_max = $game_party.actors.size	refresh  end  def refresh	self.contents.clear	for i in 0...$game_party.actors.size	  x = 48*i+24	  y = 52	  actor = $game_party.actors[i]	  draw_actor_graphic(actor, x, y)	end  end  def update_cursor_rect	if @index <= -2	  self.cursor_rect.set((@index + 10) * 48, 0, 48, 64)	elsif @index == -1	  self.cursor_rect.set(0, 0, @item_max * 48, 64)	else	  self.cursor_rect.set(@index * 48, 0, 48, 64)	end  endend class Window_MenuEquipped < Window_Selectable  def initialize(actor)	super(272, 158-8, 368, 96)	self.contents = Bitmap.new(width - 32, height - 32)	self.opacity = 0	self.active = false	self.index = 0	@actor = actor	refresh  end  def item	return @data[self.index]  end  def refresh	self.contents.clear	@data = []	@data.push($data_weapons[@actor.weapon_id])	@data.push($data_armors[@actor.armor3_id])	@item_max = @data.size	self.contents.font.color = normal_color	self.contents.font.size = 14		  self.contents.font.color = Color.new(0, 0, 0)	self.contents.draw_text(15, 0, 92, 32, $data_system.words.weapon)	self.contents.draw_text(17, 0, 92, 32, $data_system.words.weapon)	self.contents.draw_text(16, 1, 92, 32, $data_system.words.weapon)	self.contents.draw_text(16, -1, 92, 32, $data_system.words.weapon)	self.contents.draw_text(15, 26, 92, 32, $data_system.words.armor3)	self.contents.draw_text(17, 26, 92, 32, $data_system.words.armor3)	self.contents.draw_text(16, 25, 92, 32, $data_system.words.armor3)	self.contents.draw_text(16, 27, 92, 32, $data_system.words.armor3)	#self.contents.draw_text(75, 0, 92, 32, @data[0].to_s)	#draw_item_name(@data[0], 77, 0)	#draw_item_name(@data[0], 76, 1)	#draw_item_name(@data[0], 76, -1)	#draw_item_name(@data[1], 77, 26)	#draw_item_name(@data[1], 75, 26)	#draw_item_name(@data[1], 76, 25)	#draw_item_name(@data[1], 76, 27)	  self.contents.font.color = normal_color	self.contents.draw_text(16, 0, 92, 32, $data_system.words.weapon)	self.contents.draw_text(16, 26, 92, 32, $data_system.words.armor3)	draw_item_name(@data[0], 76, 0)	draw_item_name(@data[1], 76, 26)	#PROIETTILIIII	if $game_party.actors[0].weapon_id >= 6	  if $game_party.actors[0].weapon_id <= 8		proiettili = "B - 01 -Proiettili 9mm_"		numarm = $game_party.actors[0].weapon_id		typ = $game_variables[622 + numarm].to_s		bitmap = RPG::Cache.icon(proiettili+typ)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	  elsif $game_party.actors[0].weapon_id == 25		proiettili = "B - 01 -Proiettili 9mm_"		typ = $game_variables[877].to_s		bitmap = RPG::Cache.icon(proiettili+typ)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	  end	end	if $game_party.actors[0].weapon_id >= 9	  if $game_party.actors[0].weapon_id <= 11		proiettili = "B - 02 -Cartucce Calibro 12_"		numarm = $game_party.actors[0].weapon_id		typ = $game_variables[622 + numarm].to_s		bitmap = RPG::Cache.icon(proiettili+typ)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	  end	end	if $game_party.actors[0].weapon_id == 12		proiettili = "B - 04 -Proiettili Calibro 223_"		numarm = $game_party.actors[0].weapon_id		typ = $game_variables[622 + numarm].to_s		bitmap = RPG::Cache.icon(proiettili+typ)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	end	if $game_party.actors[0].weapon_id >= 13	  if $game_party.actors[0].weapon_id <= 14		proiettili = "B - 03 -Proiettili 5,56mm_"		numarm = $game_party.actors[0].weapon_id		typ = $game_variables[622 + numarm].to_s		bitmap = RPG::Cache.icon(proiettili+typ)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	  end	end	if $game_party.actors[0].weapon_id == 15		proiettili = "B - 05 -44 Magnum_"		numarm = $game_party.actors[0].weapon_id		typ = $game_variables[622 + numarm].to_s		bitmap = RPG::Cache.icon(proiettili+typ)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	end	if $game_party.actors[0].weapon_id == 16		if $game_variables[137] == 1			proiettili = "B - 06 -Proiettile d'Argento"		  elsif $game_variables[137] == 2			proiettili = "B - 07 -Proiettile d'Oro"		  elsif $game_variables[137] == 3			proiettili = "B - 08 -Proiettile al Fosforo"		end		bitmap = RPG::Cache.icon(proiettili)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	end	if $game_party.actors[0].weapon_id == 17			proiettili = "B - 09 -Munizioni Granate"		bitmap = RPG::Cache.icon(proiettili)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	end	if $game_party.actors[0].weapon_id == 18			proiettili = "B - 10 -Combustibile Lanciafiamme"		bitmap = RPG::Cache.icon(proiettili)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	end	if $game_party.actors[0].weapon_id == 19			proiettili = "B - 11 -Razzo"  		bitmap = RPG::Cache.icon(proiettili)		self.contents.blt(52, 0, bitmap, Rect.new(0, 0, 24, 24))	end   end  def update_help	@help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)	#TROVA	@help_window.set_item_data(item)  end  def update_cursor_rect	if self.active	  self.cursor_rect.set(12, @index * 26+9, 244, 16)	else	  self.cursor_rect.set(0, 0, 0, 0)	end  endend class Window_MenuArmor < Window_Selectable  def initialize(actor)	super(287, 243-7, 272, 56)	@actor = actor	@column_max = 10	@row_max = 1	self.index = 0	self.opacity = 0	self.active = false	refresh  end  def item	return @data[self.index]  end  def refresh	if self.contents != nil	  self.contents.dispose	  self.contents = nil	end	@data = []	armor_set = $data_classes[@actor.class_id].armor_set	for i in 1...$data_armors.size	  if $game_party.armor_number(i) > 0 and armor_set.include?(i)		if $data_armors[i].kind == 2		  @data.push($data_armors[i])		end	  end	end	@data.push(nil) if @data.size == 0	 # MODIFICA by giver	@item_max = @data.size	self.contents = Bitmap.new(width - 32, row_max * 32)	for i in 0...@item_max # -1	 # MODIFICA by giver	  draw_item(i)	end  end  def draw_item(index)	item = @data[index]	case item	when RPG::Weapon	  number = $game_party.weapon_number(item.id)	when RPG::Armor	  number = $game_party.armor_number(item.id)	when nil	 # AGGIUNTA by giver	  return	end	x = index % 10 * 24	y = index / 10 * 24	rect = Rect.new(x, y, self.width / @column_max - 32, 32)	self.contents.font.size = 14	bitmap = RPG::Cache.icon(item.icon_name)	opacity = self.contents.font.color == normal_color ? 255 : 128	self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)	  self.contents.font.color = Color.new (0, 0, 0)	self.contents.draw_text(x+11,y+6,128,24, number.to_s)	self.contents.draw_text(x+13,y+6,128,24, number.to_s)	self.contents.draw_text(x+12,y+5,128,24, number.to_s)	self.contents.draw_text(x+12,y+7,128,24, number.to_s)	  self.contents.font.color = normal_color	self.contents.draw_text(x+12,y+6,128,24, number.to_s)  end  def update_help	@help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)	# AGGIUNTA by giver	@help_window.set_item_data(self.item)  end  def update_cursor_rect	if self.active	  self.cursor_rect.set(@index % 10 * 24, 0, 24, 24)	  self.oy = index / 10 * 24	else	  self.cursor_rect.set(0, 0, 0, 0)	end  end  # AGGIUNTA by giver  def item?	return (self.item != nil)  endend class Window_MenuWeapon < Window_Selectable  def initialize(actor)	super(287, 243-24-7, 272, 56)	@actor = actor	@column_max = 10	@row_max = 1	self.index = 0	self.opacity = 0	self.active = false	refresh  end  def item	return @data[self.index]  end  def refresh	if self.contents != nil	  self.contents.dispose	  self.contents = nil	end	@data = []	weapon_set = $data_classes[@actor.class_id].weapon_set	for i in 1..6	  if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)		@data.push($data_weapons[i])	  end	end	i = 25	  if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)		@data.push($data_weapons[i])	  end	for i in 7..24	  if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)		@data.push($data_weapons[i])	  end	end	@data.push(nil) if @data.size == 0	 # MODIFICA by giver	@item_max = @data.size	self.contents = Bitmap.new(width - 32, row_max * 32)	for i in 0...@item_max # -1	 # MODIFICA by giver	  draw_item(i)	end  end  def draw_item(index)	item = @data[index]	case item	when RPG::Weapon	  #number = $game_party.weapon_number(item.id)	  ammo =  [1,1,1,1,1,$game_variables[126],$game_variables[127],	  $game_variables[128],$game_variables[129],$game_variables[130],	  $game_variables[131],$game_variables[132],$game_variables[133],	  $game_variables[134],$game_variables[135],$game_variables[136],	  $game_variables[138],$game_variables[139],$game_variables[140],	  $game_party.weapon_number(20),$game_party.weapon_number(21),	  $game_party.weapon_number(22),$game_party.weapon_number(23),	  $game_party.weapon_number(24),$game_variables[876]] #AGGIUNGI ARMA WEAPON	  number = ammo[item.id-1]	when RPG::Armor	  number = $game_party.armor_number(item.id)	when nil	# AGGIUNTA by giver	  return	end	x = index % 10 * 24	y = index / 10 * 24	rect = Rect.new(x, y, self.width / @column_max - 32, 32)	self.contents.font.size = 14	bitmap = RPG::Cache.icon(item.icon_name)	opacity = self.contents.font.color == normal_color ? 255 : 128	self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)	  self.contents.font.color = Color.new (0, 0, 0)	self.contents.draw_text(x+11,y+6,128,24, number.to_s)	self.contents.draw_text(x+13,y+6,128,24, number.to_s)	self.contents.draw_text(x+12,y+5,128,24, number.to_s)	self.contents.draw_text(x+12,y+7,128,24, number.to_s)	  self.contents.font.color = normal_color	self.contents.draw_text(x+12,y+6,128,24, number.to_s)  end  def update_help	@help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)	# AGGIUNTA by giver	@help_window.set_item_data(self.item)  end  def update_cursor_rect	if self.active	  self.cursor_rect.set(@index % 10 * 24, 0, 24, 24)	  self.oy = index / 10 * 24	else	  self.cursor_rect.set(0, 0, 0, 0)	end  end  # AGGIUNTA by giver  def item?	return (self.item != nil)  endend class Scene_Menu  def initialize(menu_index = 0)	@menu_index = menu_index  end   def main	@actor_index = 0	@target = ""	@clock = 0	scene_window	Graphics.transition	loop do	  Graphics.update	  Input.update	  update	  if $scene != self		break	  end	end	Graphics.freeze	scene_dispose  end   def scene_window	@actor = $game_party.actors[@actor_index]	@map = Spriteset_Map.new	@bg = Sprite.new	if $game_variables[15] >= 1	  @bg.bitmap = Bitmap.new("Graphics/Pictures/MenuBG_ESP")	else	  @bg.bitmap = Bitmap.new("Graphics/Pictures/MenuBG")	end	@pg = Sprite.new	@pg.bitmap = Bitmap.new("Graphics/Pictures/"+@actor.battler_name)	@pg.y = 64	@pg.x = 100	@arrow = Sprite.new	@arrow.x = 264 -22	@arrow.y = 170 -5	@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow1") 	s1 = ""	if $game_variables[15] >= 1	  @command_window = Window_Command.new(160, [s1, s1, s1, s1, s1, s1, s1, s1])	else	  @command_window = Window_Command.new(160, [s1, s1, s1, s1, s1, s1, s1])	end	@command_window.index = @menu_index	@command_window.visible = false	if $game_party.actors.size == 0	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	  @command_window.disable_item(4)	  @command_window.disable_item(5)	  @command_window.disable_item(6)	  if $game_variables[15] >= 1	  @command_window.disable_item(7)	  end	  if $game_variables[295] == 0		if $game_variables[15] >= 1		  @command_window.disable_item(6)		else		  @command_window.disable_item(5)		end	  end	end 	$achievements_page = 0 	@help_window = Window_Help.new	@help_window.opacity = 0	@item_window = Window_MenuItem.new	@status_window = Window_MenuStatus.new(@actor)	@target_window = Window_Target.new	@right_window = Window_MenuEquipped.new(@actor)	@item_window1 = Window_MenuWeapon.new(@actor)	@item_window2 = Window_MenuArmor.new(@actor) 	@equipped_esp_window = Window_EquipESP.new	@affinity_window = Window_Affinity.new	@talent_window = Window_Talenti.new	@esp_window = Window_ESP.new	@achievements_window = Window_Achievements.new	$achievements_page = 0	@partita_window = Window_Dati.new 	@bgequipesp = Sprite.new	@bgequipesp.bitmap = Bitmap.new("Graphics/Pictures/EquipESP_Window")	if $game_variables[15] > 1	  @bgequipesp.visible = true	else	  @bgequipesp.visible = false	end	@bgw = Sprite.new	@bgw.bitmap = Bitmap.new("Graphics/Pictures/Talent_Window")	@bgw.visible = false	@bgesp = Sprite.new	@bgesp.bitmap = Bitmap.new("Graphics/Pictures/ESP_Window")	@bgesp.visible = false	@bgachi = Sprite.new	@bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_0")	@bgachi.visible = false 	@talent_window.visible = false	@talent_window.active = false	@esp_window.visible = false	@esp_window.active = false	@achievements_window.visible = false	@achievements_window.active = false	if $game_variables[15] < 1	  @equipped_esp_window.visible = false	end 	@item_window.help_window = @help_window	@right_window.help_window = @help_window	@item_window1.help_window = @help_window	@item_window2.help_window = @help_window	@item_window.active = false	@help_window.visible = false	@target_window.visible = false	@target_window.active = false  end   def scene_dispose	@command_window.dispose	@item_window.dispose	@item_window1.dispose	@item_window2.dispose 	@equipped_esp_window.dispose	@affinity_window.dispose	@talent_window.dispose	@esp_window.dispose	@achievements_window.dispose 	@partita_window.dispose	@status_window.dispose	@target_window.dispose	@right_window.dispose	@help_window.dispose	@map.dispose	@bg.dispose	@pg.dispose	@arrow.dispose	@bgw.dispose	@bgesp.dispose	@bgachi.dispose   end   def update	#aggiunte Nihil -----------------	if @clock <= 17	  @clock += 1	else	  @clock = 0	end	case @clock	  when 0		@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow1")	  when 3		@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow2")	  when 6		@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow3")	  when 9		@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow4")	  when 12		@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow5")	  when 15		@arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow6")	end	#fine aggiunte Nihil-------------  	@partita_window.refresh	@command_window.update	@item_window.update	@item_window1.update	@item_window2.update	@status_window.update	@target_window.update	@right_window.update	@map.update	case @right_window.index	when 0	  @item_equip_window = @item_window1	when 1	  @item_equip_window = @item_window2	end 	if @command_window.active	  update_command	  return	end	if @item_window.active	  update_item	  return	end	if @right_window.active	  update_right	  return	end	if @item_equip_window.active	  update_equip_item	  return	end	if @target_window.active	  update_item_target if @target == "item"	  update_skill_target if @target == "skill"	  return	end	if @talent_window.active	  update_talent	  return	end	if @esp_window.active	  update_esp	  return	end	if @achievements_window.active	  update_achievements	  return	end  end   def update_command	case @command_window.index	when 0	  @help_window.set_text("Equipaggia armi e abiti.")	  @arrow.x = 225	  @arrow.y = 160	when 1	  @help_window.set_text("Visualizza e usa gli oggetti.")	  @arrow.x = 225	  @arrow.y = 284	when 2	  if $game_variables[15] > 1		@help_window.set_text("Visualizza i poteri ESP appresi.")		@arrow.x = 225		@arrow.y = 362	  else		@help_window.set_text("Visualizza i talenti appresi.")		@arrow.x = 225		@arrow.y = 379	  end	when 3	  if $game_variables[15] > 1		@help_window.set_text("Visualizza i talenti appresi.")		@arrow.x = 225		@arrow.y = 379	  else		@help_window.set_text("Visualizza i documenti raccolti.")		@arrow.x = 225		@arrow.y = 396	  end	when 4	  if $game_variables[15] > 1		@help_window.set_text("Visualizza i documenti raccolti.")		@arrow.x = 225		@arrow.y = 396	  else		@help_window.set_text("Visualizza la mappa della location.")		@arrow.x = 225		@arrow.y = 413	  end	when 5	  if $game_variables[15] > 1		@help_window.set_text("Visualizza la mappa della location.")		@arrow.x = 225		@arrow.y = 413	  else		@help_window.set_text("Visualizza gli achievements sbloccati.")		@arrow.x = 225		@arrow.y = 430	  end  	when 6	  if $game_variables[15] > 1		@help_window.set_text("Visualizza gli achievements sbloccati.")		@arrow.x = 225		@arrow.y = 430	  else		@help_window.set_text("Permette di modificare le impostazioni e di uscire dal gioco.")		@arrow.x = 225		@arrow.y = 447	  end 	when 7	  @help_window.set_text("Permette di modificare le impostazioni e di uscire dal gioco.")		@arrow.x = 225		@arrow.y = 447	end	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  $scene = Scene_Map.new	  return	end	if Input.trigger?(Input::C)	  if $game_party.actors.size == 0 #and @command_window.index < 4		$game_system.se_play($data_system.buzzer_se)		return	  end	  case @command_window.index	  when 0		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@right_window.active = true	  when 1		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@item_window.active = true	  when 2		$game_system.se_play($data_system.decision_se)		@item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@equipped_esp_window.visible = false		if $game_variables[15] > 1		  @bgesp.visible = true		  @esp_window.visible = true		  @esp_window.active = true		else		  @bgw.visible = true		  @talent_window.visible = true		  @talent_window.active = true		end		@command_window.active = false 	  when 3		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  @bgw.visible = true		  @talent_window.visible = true		  @talent_window.active = true		  @item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@command_window.active = false		@equipped_esp_window.visible = false		else		  $scene = Scene_Questbook.new		end 	  when 4		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  $scene = Scene_Questbook.new		else		  $game_temp.common_event_id = (180)		  $scene = Scene_Map.new		end 	  when 5		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  $game_temp.common_event_id = (180)		  $scene = Scene_Map.new		else		  $achievements_page = 0		  @bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_0")		  @bgachi.visible = true		  @achievements_window.visible = true		  @achievements_window.active = true		  @item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@command_window.active = false		@equipped_esp_window.visible = false		end 	  when 6		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  $achievements_page = 0		  @bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_0")		  @bgachi.visible = true		  @achievements_window.visible = true		  @achievements_window.active = true		  @item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@command_window.active = false		@equipped_esp_window.visible = false		else		  $scene = Scene_Option.new		end	  when 7		$scene = Scene_Option.new	  end	  return	end  end     #--------------------------------	def update_talent	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @bgw.visible = false	  @talent_window.visible = false	  @talent_window.active = false	  @item_equip_window.visible = true	  @right_window.visible = true	  @item_window.visible = true	  @item_window1.visible = true	  @item_window2.visible = true	  @command_window.active = true	  @affinity_window.visible = true	  @partita_window.visible = true	  if $game_variables[15] > 1		@equipped_esp_window.visible = true	  end	  return	end  end  #----------------------------------	def update_achievements	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @bgachi.visible = false	  @achievements_window.visible = false	  @achievements_window.active = false	  @item_equip_window.visible = true	  @right_window.visible = true	  @item_window.visible = true	  @item_window1.visible = true	  @item_window2.visible = true	  @command_window.active = true	  @affinity_window.visible = true	  @partita_window.visible = true	  if $game_variables[15] > 1		@equipped_esp_window.visible = true	  end	  return	end	if Input.trigger?(Input::C)	  $game_system.se_play($data_system.decision_se)	  $achievements_page += 1	  if $achievements_page > 4		$achievements_page = 0	  end	  @bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_"+$achievements_page.to_s)	  @achievements_window.refresh	  return	end  end  #----------------------------------	def update_esp	if @bgesp.visible == true #and @esp_window.visible != true	  @esp_window.visible = true	end	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @bgesp.visible = false	  @esp_window.visible = false	  @esp_window.active = false	  @item_equip_window.visible = true	  @right_window.visible = true	  @item_window.visible = true	  @item_window1.visible = true	  @item_window2.visible = true	  @command_window.active = true	  @affinity_window.visible = true	  @partita_window.visible = true	  if $game_variables[15] > 1		@equipped_esp_window.visible = true	  end	  return	end  end  #----------------------------------   def update_item	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @item_window.active = false	  @item_window.help_window.visible = false	  @command_window.active = true	  return	end	if Input.trigger?(Input::C)	  @item = @item_window.item	  unless @item.is_a?(RPG::Item)		$game_system.se_play($data_system.buzzer_se)		return	  end	  unless $game_party.item_can_use?(@item.id)		$game_system.se_play($data_system.buzzer_se)		return	  end	  $game_system.se_play($data_system.decision_se)	  if @item.scope >= 3		@item_window.active = false		@target_window.x = 287		@target_window.y = 355		@target_window.visible = true		@target_window.active = true		@target = "item"		if @item.scope == 4 || @item.scope == 6		  @target_window.index = -1		else		  @target_window.index = 0		end	  else		if @item.common_event_id > 0		  $game_temp.common_event_id = @item.common_event_id		  $game_system.se_play(@item.menu_se)		  if @item.consumable			$game_party.lose_item(@item.id, 1)			@item_window.draw_item(@item_window.index)		  end		  $scene = Scene_Map.new		  return		end	  end	  return	end  end   def update_item_target	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  unless $game_party.item_can_use?(@item.id)		@item_window.refresh	  end	  @target = ""	  @item_window.active = true	  @target_window.visible = false	  @target_window.active = false	  return	end	if Input.trigger?(Input::C)	  if $game_party.item_number(@item.id) == 0		$game_system.se_play($data_system.buzzer_se)		return	  end	  if @target_window.index == -1		used = false		for i in $game_party.actors		  used |= i.item_effect(@item)		end	  end	  if @target_window.index >= 0		target = $game_party.actors[@target_window.index]		used = target.item_effect(@item)	  end	  if used		$game_system.se_play(@item.menu_se)		if @item.consumable		  $game_party.lose_item(@item.id, 1)		  @item_window.draw_item(@item_window.index)		end		@target_window.refresh		if $game_party.all_dead?		  $scene = Scene_Gameover.new		  return		end		if @item.common_event_id > 0		  $game_temp.common_event_id = @item.common_event_id		  $scene = Scene_Map.new		  return		end		@status_window.refresh	  end	  unless used		$game_system.se_play($data_system.buzzer_se)	  end	  return	end  end     def update_right	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @right_window.active = false	  @right_window.help_window.visible = false	  @command_window.active = true	  return	end	if Input.trigger?(Input::C)	  if @actor.equip_fix?(@right_window.index) or	  not @item_equip_window.item?	 # MODIFICA by giver		$game_system.se_play($data_system.buzzer_se)		return	  end	  $game_system.se_play($data_system.decision_se)	  @right_window.active = false	  @item_equip_window.active = true	  return	end  end   def update_equip_item	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @right_window.active = true	  @item_equip_window.help_window.visible = false	  @item_equip_window.active = false	  return	end	if Input.trigger?(Input::C)	  $game_system.se_play($data_system.equip_se)	  type = 0	  type = 3 if @right_window.index == 1	  item = @item_equip_window.item	  unless item == nil	  @actor.equip(type, item.id)	  #@actor.equip(type, item == nil ? 0 : item.id)	  @right_window.active = true	  @item_equip_window.active = false	  $game_party.checkbulletequip	  @right_window.refresh	  @item_equip_window.refresh	  @status_window.refresh	  @partita_window.refresh	  #Controllo proiettili nuovi !!!	  $game_party.checkbulletequip	  #$game_party.actors[0].equip(1,74, false)	  #Aggiunte Nihil	  if $game_switches[11]		for actor in $game_party.actors		  $game_switches[716] = false		  tlnt = 11		  for i in 1..20			if $game_variables[825+i] == tlnt			  $game_switches[716] = true			end		  end		  if $game_switches[716] == true			actor.sp -= 50		  else			actor.sp -= 100		  end		end		$scene = Scene_Map.new	  end	  end	  #Fine Aggiunte Nihil 	  return	end  endend

  9. Salve ragazzi!

     

    Come avevo già accennato sul topic del progetto, sto modificando il menù, che è fondamentalmente quasi completo, dovrò solo aggiungere un'altra voce e poi avrò finito ^_^

     

    Il problema è che tra i comandi che ho messo ce ne è uno che non funziona :/

     

    Dovrebbe far apparire una finestra che sovrasta tutte le altre, so come si fa perchè ne ho fatti altri due identici a questo e che funzionano a meraviglia, però questo non riesco proprio a farlo funzionare!

     

    In pratica, fa apparire sì la finestra (che in realtà è un'immagine non è una finestra standard) ma non mi fa apparire le scritte (quindi mi viene da pensare che l'oggetto in questione @esp_window.visible sia false, nonostante gli dia il comando di settarlo su true :/)!

    La finestra è programmata bene perchè se scambio il nome della sua classe con quella di una delle altre due (e quindi cambiando l'index nella @command_window), le scritte appaiono!

     

    Vi posto il codice dell'update dei comandi vari, magari mi sapreste aiutare...

     

    Ah un particolare, questo comando è attivo solo se la variabile[15] è maggiore di 1. Se non è così, non fa apparire la scritta e la command window ha un comando in meno.

     

    Ecco a voi il codice ç_ç

     

    def update_command	case @command_window.index	when 0	  @help_window.set_text("Equipaggia armi e abiti.")	  @arrow.x = 225	  @arrow.y = 160	when 1	  @help_window.set_text("Visualizza e usa gli oggetti.")	  @arrow.x = 225	  @arrow.y = 284	when 2	  if $game_variables[15] > 1		@help_window.set_text("Visualizza i poteri ESP appresi.")		@arrow.x = 225		@arrow.y = 362	  else		@help_window.set_text("Visualizza i talenti appresi.")		@arrow.x = 225		@arrow.y = 379	  end	when 3	  if $game_variables[15] > 1		@help_window.set_text("Visualizza i talenti appresi.")		@arrow.x = 225		@arrow.y = 379	  else		@help_window.set_text("Visualizza i documenti raccolti.")		@arrow.x = 225		@arrow.y = 396	  end	when 4	  if $game_variables[15] > 1		@help_window.set_text("Visualizza i documenti raccolti.")		@arrow.x = 225		@arrow.y = 396	  else		@help_window.set_text("Visualizza la mappa della location.")		@arrow.x = 225		@arrow.y = 413	  end	when 5	  if $game_variables[15] > 1		@help_window.set_text("Visualizza la mappa della location.")		@arrow.x = 225		@arrow.y = 413	  else		@help_window.set_text("Visualizza gli achievements sbloccati.")		@arrow.x = 225		@arrow.y = 430	  end  	when 6	  if $game_variables[15] > 1		@help_window.set_text("Visualizza gli achievements sbloccati.")		@arrow.x = 225		@arrow.y = 430	  else		@help_window.set_text("Permette di modificare le impostazioni e di uscire dal gioco.")		@arrow.x = 225		@arrow.y = 447	  end 	when 7	  @help_window.set_text("Permette di modificare le impostazioni e di uscire dal gioco.")		@arrow.x = 225		@arrow.y = 447	end	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  $scene = Scene_Map.new	  return	end	if Input.trigger?(Input::C)	  if $game_party.actors.size == 0 #and @command_window.index < 4		$game_system.se_play($data_system.buzzer_se)		return	  end	  case @command_window.index	  when 0		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@right_window.active = true	  when 1		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@item_window.active = true	  when 2		$game_system.se_play($data_system.decision_se)		@item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@equipped_esp_window.visible = false		if $game_variables[15] > 1		  @bgesp.visible = true		  @esp_window.visible = true		  @esp_window.active = true		else		  @bgw.visible = true		  @talent_window.visible = true		  @talent_window.active = true		end		@command_window.active = false 	  when 3		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  @bgw.visible = true		  @talent_window.visible = true		  @talent_window.active = true		  @item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@command_window.active = false		@equipped_esp_window.visible = false		else		  $scene = Scene_Questbook.new		end 	  when 4		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  $scene = Scene_Questbook.new		else		  $game_temp.common_event_id = (180)		  $scene = Scene_Map.new		end 	  when 5		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  $game_temp.common_event_id = (180)		  $scene = Scene_Map.new		else		  $achievements_page = 0		  @bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_0")		  @bgachi.visible = true		  @achievements_window.visible = true		  @achievements_window.active = true		  @item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@command_window.active = false		@equipped_esp_window.visible = false		end 	  when 6		$game_system.se_play($data_system.decision_se)		if $game_variables[15] > 1		  $achievements_page = 0		  @bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_0")		  @bgachi.visible = true		  @achievements_window.visible = true		  @achievements_window.active = true		  @item_equip_window.visible = false		@right_window.visible = false		@item_window.visible = false		@item_window1.visible = false		@item_window2.visible = false		@affinity_window.visible = false		@partita_window.visible = false		@command_window.active = false		@equipped_esp_window.visible = false		else		  $scene = Scene_Option.new		end	  when 7		$scene = Scene_Option.new	  end	  return	end  end     #--------------------------------	def update_talent	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @bgw.visible = false	  @talent_window.visible = false	  @talent_window.active = false	  @item_equip_window.visible = true	  @right_window.visible = true	  @item_window.visible = true	  @item_window1.visible = true	  @item_window2.visible = true	  @command_window.active = true	  @affinity_window.visible = true	  @partita_window.visible = true	  if $game_variables[15] > 1		@equipped_esp_window.visible = true	  end	  return	end  end  #----------------------------------	def update_achievements	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @bgachi.visible = false	  @achievements_window.visible = false	  @achievements_window.active = false	  @item_equip_window.visible = true	  @right_window.visible = true	  @item_window.visible = true	  @item_window1.visible = true	  @item_window2.visible = true	  @command_window.active = true	  @affinity_window.visible = true	  @partita_window.visible = true	  if $game_variables[15] > 1		@equipped_esp_window.visible = true	  end	  return	end	if Input.trigger?(Input::C)	  $game_system.se_play($data_system.decision_se)	  $achievements_page += 1	  if $achievements_page > 4		$achievements_page = 0	  end	  @bgachi.bitmap = Bitmap.new("Graphics/Pictures/Achievements_Window_"+$achievements_page.to_s)	  @achievements_window.refresh	  return	end  end  #----------------------------------	def update_esp	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @bgesp.visible = false	  @esp_window.visible = false	  @esp_window.active = false	  @item_equip_window.visible = true	  @right_window.visible = true	  @item_window.visible = true	  @item_window1.visible = true	  @item_window2.visible = true	  @command_window.active = true	  @affinity_window.visible = true	  @partita_window.visible = true	  if $game_variables[15] > 1		@equipped_esp_window.visible = true	  end	  return	end  end

     

    Qualche idea su quale potrebbe essere il problema? ç_ç

    Heeeeeeeeeeeeeelp ç_ç

     

     

    EDIT: ho fatto alcune prove, il visible viene settato su TRUE!!!!!

    Quale può essere il problema allora?

    Perchè funziona correttamente se scambio due classi? :S

  10. Uhm immaginavo che fosse una cosa del genere :S

     

    Allora vi spiego in breve, il gioco quando si carica una partita o si inizia una nuova partita, scarica (via http) dal sito del gioco, un file .txt(univoco per ogni utente/giocatore).

    A scaricarlo funge e va bene, non ho potuto provare il "carica partita" ma quando si fa "nuova partita" fa la stessa cosa e funziona!

    Quando invece deve caricarlo (ovvero quando salva la partita) utilizza l' ftp e mi da questo errore :S

     

    Come script utilizzo il module net che si trova anche su questo forum: http://www.rpg2s.net/forum/index.php?showtopic=8746

     

    Ho provato lo script su un altro progetto e funziona, ho provato poi a fargli fare ciò che deve fare nel mio save su un altro progetto e funziona!

    Quindi mi viene da pensare che sia il save che assieme all'upload dia questo problema... :S

     

    Comunque vi posto la porzione di codice:

    def write_save_data(file)characters = []for i in 0...$game_party.actors.sizeactor = $game_party.actors[i]characters.push([actor.character_name, actor.character_hue])endMarshal.dump(characters, file)Marshal.dump(Graphics.frame_count, file)$game_system.save_count += 1$game_system.magic_number = $data_system.magic_numberMarshal.dump($game_system, file)Marshal.dump($game_switches, file)Marshal.dump($game_variables, file)Marshal.dump($game_self_switches, file)Marshal.dump($game_screen, file)Marshal.dump($game_actors, file)Marshal.dump($game_party, file)Marshal.dump($game_troop, file)Marshal.dump($game_map, file)Marshal.dump($game_player, file)#Marshal.dump($corsa, file)Marshal.dump($wpid ,file)Marshal.dump($sprint_attiva ,file)Marshal.dump($array_ESP, file)Marshal.dump($l_array_ESP, file)Marshal.dump($s_array_ESP, file)Marshal.dump($p_array_ESP, file)Marshal.dump($appresi_array_ESP, file)Marshal.dump($achievements, file) if $online == true  var_id = $game_variables[295]  if var_id != 0	if var_id < 10	  user_id = "000"+var_id.to_s	elsif var_id < 100	  user_id = "00"+var_id.to_s	elsif var_id < 1000	  user_id = "0"+var_id.to_s	else	  user_id = ""+var_id.to_s	end    # righe = $obiettivo.split('|')   testo = "REGISTERD"   for achi in $achievements	 if achi != "REGISTERD"	   testo += "/==/"+achi	 end   end   $game_system.se_play($data_system.decision_se)  filename = "./Data/Achievements/"+user_id+".txt"  file = File.open(filename, "w")   # linee = ["prima","seconda","terza","quarta","quinta",testo]   # for linea in linee  file.write(testo)	#end  file.close  $game_system.se_play($data_system.decision_se)    Net::FTP.upload("./Data/Achievements/"+user_id+".txt", "/Utenti/Achievements/"+user_id+".txt")  $game_system.se_play($data_system.decision_se)  file=File.open(filename, "w")  file.write("- 2rA Achievement System -")  file.close  $game_system.se_play($data_system.decision_se)  endend endend

     

    Qualche consiglio su come poter risolvere? :/

    Alla fine in media in tutte le prove che ho fatto ci mette 2 secondi al massimo a scaricare/caricare e non mi si impalla...

     

    EDIT:

    Non solo, ho provato ad inserire il codice che carica nello script di salvataggio normale, sull'altro progetto, e pure lì funziona a meraviglia :/

     

    Sigh sob ç_____ç

     

    EDIT 2:

     

    Ok forse ho capito -.-"

     

    Ho riprovato ora e funziona a meraviglia >_>"

    Probabilmente il problema è dovuto al fatto che prima avevo, più o meno, problemi di linea...

     

    In pratica l'idea è questa, ogni volta che si fa partire il gioco, si decide se giocare in modalità Online (che prevede di aggiornare l'elenco degli Achievements ogni volta che si salva) oppure in modalità Offline (ovvero che, gli achievement sbloccati vengono memorizzati e l'elenco sul sito verrà aggiornato alla prossima sessione Online).

    Ciò serve a dare l'opportunità al giocatore di decidere, in base alla propria disposizione di rete, di utilizzare o meno la feature degli Achievements :D

     

    Semplicemente, visto che avevo qualche problema (molto transitorio) prima, avrei dovuto selezionare la modalità Offline >_____<

     

    Grazie ad ogni modo delle risposte ragazzi *______*

    E di avermi chiarito cosa intende l'rgss per "hanging" XD

  11. Salve ragassuoli!

    Stavo lavorando al mio sistema di trofei/achievements per 2rA e per farlo andare al meglio ho inserito un comando del modulo net (quello per caricare/scaricare files da internet) nella scena load/save (scarica quando fa load e carica quando fa save)...

    Teoricamente dovrebbe andare tutto però quando poi effettivamente vado a salvare mi da schermo nero, mentre carica, ma poi si pianta e mi appare l'errore "Script is hanging" :(

     

    Cosa vuol dire?

    Come potrei risolvere?

     

    Heeeeeeeeeeeeelp é____è

  12. Vabè non so se può farvi piacere ma il termine "flusso" lo utilizzo anche io in 2rA per spiegare alcune cose della trama/gameplay XD

    Anche se nel mio caso non spiega DIRETTAMENTE i poteri ù____ù""

    Vabè poi scoprirete XD

     

    Ad ogni modo mi accodo a Guardian approposito della patch ù////ù

  13. @Guardian beh sì è un verde acqua un po' scuro eh... però è verde acqua XD Oppure blu erba! *_*

     

    @Zosimos uhm sì era una delle cose che volevo tentare, dopo il restyling del menù del personaggio ^^

  14. Verde acqua XD

     

    Comunque vabè è solo una questione di modificare il file immagine che fa da sfondo ù_ù"

    Ci rimetterò mano quando modificherò la schermata del menù, visto che devono essere molto molto simili :P

  15. Uhm quindi in definitiva, è la finestra che non ti piace XD

     

    In realtà non fa impazzire neanche me, ma è così per restare nel tema delle finestre del menù (che sono così, solo che hanno più scritte sopra XD) :/

     

    Qualche consiglio su come modificarlo? XD

  16. Ok, direi che era ora di aggiornarvi un poco XD

     

    E' un po' che non vi aggiorno ormai!

     

    Manca ancora un po' per la demo, e l'università mi rema contro, ma dal 18 potrò lavorarci full-time e a quel punto ci vorrà davvero poco per arrivare alla fase di betatesting! Dopo toccherà ai betatester setacciare i vari bugs ed infine, una volta ripulita, la demo verrà pubblicata apertamente XD

     

    Non darò date, visto che è stata posticipata in maniera orribile... :/

    Doveva uscire in Aprile e FORSE esce entro fine settembre, fatevi dui conti...

     

    Ad ogni modo, la "to do list" è ancora corposa, breve, ma corposa e comprende:

     

    -le ormai famose aree opzionali

    -un restyle grafico e "molto" tecnico del menù del pg (molti più "commands" e non più il pannello ESP di prima)

    -programmare il sistema di trofei (la parte lunga sarà il php sul sito, quello interno al gioco è molto banaNe)

    -modificare l'intro (ho riflettuto che alcune informazioni che volevo dare nel corso del primo capitolo stanno meglio lì)

    -(forse)restyle della schermata dei titoli

    -(forse)potenziamento delle armi

     

    Per quanto riguarda le cose fatte finora (e mi son dato da fare):

     

    -nuovo sistema di ESP (dall'apprendimento, al numero di ESP, allo sviluppo, all'utilizzo...vi spiegherò poi nel dettaglio)

    -schermata degli obiettivi (ovvero un riadattamento dello script di Leon, il suo quest log)

    -nuovo menù dei documenti(dopo essermi fatto il mazzo sullo script di Zeriab, è quasi irriconoscibile ora)

    -snellimento e potenziamento dei codici di programmazione (ora è un po' più leggero)

    -riadattamento degli ESP passivi in "Affinità" (hanno cambiato nome e modalità di apprendimento, vi spiegherò poi)

     

    Ora, visto che sono pigro e vado di corsa, vi posto un solo screen XD

    Questo è l'appena finito sistema dei documenti:

    http://img337.imageshack.us/img337/5678/nuovodocumenti.jpg

     

    Quando si seleziona una voce, si ritorna sulla mappa, e si apre il documento, come la prima volta che si è preso, finito di leggere il documento, si torna su questa schermata ^^

     

    (ps: si la striscia bianca in alto a sinistra è già stata tolta :P )

  17. Non riuscivo a connettermi a questo thread prima ò_o

     

    Ad ogni modo grazie Valentino, ho risolto ^^

     

    Semplicemente utilizzo questi comandi:

     

    -per prendere la directory e il nome del file:

    filename = "Test/test.txt"

    -per aprire il file in modalità scrittura (cancella tutto e scrive da capo)

    file = File.open(filename, "w")

    -per aprire il file in modalità lettura (permette di leggere il file)

    file = File.open(filename, "r")

    -SE è aperto in modalità lettura, per leggere le righe e metterle dentro un array:

    linee = file.readlines

    -SE è aperto in modalità scrittura,per scrivere qualcosa all'interno del file:

    file.write(linea)

    -per chiudere il file:

    file.close

     

    ps: le modalità di apertura dei file sono queste

    * r: apertura a sola lettura

    * r+: apertura per lettura e scrittura dall'inizio del file

    * w: apertura a sola scrittura, se il file non esiste ne viene creato uno nuovo, altrimenti viene azzerato

    * w+: apertura per lettura e scrittura, se il file non esiste ne viene creato uno nuovo, altrimenti viene azzerato

    * a: apertura a sola scrittura dalla fine del file, se il file non esiste viene creato

    * a+: apertura per lettura e scrittura dalla fine del file, se il file non esiste viene creato

    * b: va aggiunto ad uno dei precedenti e permette la gestione in modalità binaria, esiste solo per sistemi Windows.

  18. Sicuramente è possibile, solo che non so come si faccia o cosa è necessario per farlo!

     

    Sto programmando (tra le altre cose) un paio di chicche ottime per 2rA, però avrei bisogno appunto di questo:

     

    un modo per aprire un file di testo, leggere il suo contenuto, effettuare uno split (questo lo so fare grazie a giver!), mettere il tutto dentro variabili di testo, accorparle in una variabile unica apportando alcune modifiche (questo è facile), cancellare il contenuto del file .txt, scrivere il nuovo contenuto, salvare il file.

     

    Qualcuno sa come si fa?

    Sarebbe davvero davvero utilissima come cosa! *_____*

    E mi permetterebbe di realizzare quel paio di chicche! *_____*

     

    Non chiedetemi il motivo per cui il file deve essere .txt o cose del genere plis ù___ù E' top secret ù___ù

     

    Però vi ringrazio in anticipo dell'aiuto ragazzi *__________*

     

    EDIT:

    Ok, a fare si può fare, perchè questo script fondamentalmente lo fa:

    http://www.rpg2s.net/forum/index.php?showtopic=710

     

    Solo che non so come carpire il codice per farglielo fare :/

     

    Per intenderci, ho capito che per aprire un file bisogna usare comandi tipo:

     

    -per aprire un file in modalità lettura-

    file = File.open(filename, "r")

     

    -per aprire un file in modalità scrittura-

    file = File.open(filename, "wb")

     

    (trovati nello script del Save/Load scene dove filename = "Saves/Save#{@index + 1}.rxdata")

     

    Solo che poi utilizza il metodo Marshal.load e Marshal.dump che nel save system serve per caricare e scrivere nel file, solo che si tratta di file .rxdata quindi non so se vanno bene per un file di testo :/

  19. Io approvo, approvo alla grande ù_ù

     

    Soprattutto quel bellissimo editing dei menù a libro ù______ù"""

     

    XD

     

    No comunque mi piace l'effetto pergamena nei dialoghi, però poi occhio, che tutte le scene le dovrai far apparire in poco spazio, perchè è vero che occupa un bel po' di spazio :S

    Cioè per dirti, è un flagello sta cosa per me su 2rA e conta che io ho le finestre dei dialoghi molto piccole!

    Eppure mi capita spesso di dover rifare più volte una scena per non tagliare personaggi o zone importanti della mappa, a causa dei dialoghi :S

     

    Ad ogni modo, secondo me, basterebbe rimpicciolire la finestra dei dialoghi e forse saprei dirti come fare, ma non sono troppo sicuro :S

     

    E spicciati con 'sta demo è____é

×
×
  • Create New...