Jump to content
Rpg²S Forum

nihil-omen

Utenti
  • Posts

    696
  • Joined

  • Last visited

Everything 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. Uhm beh la 21 è quella di default dell' FTP se non erro, o qualcosa del genere XD Per i nuovi ritratti...eh...pure io! XD
  3. 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
  4. 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? ^^
  5. 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"
  6. Lasciamo stare, mi sono sentito un idiota XD 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 A questo ci pensavo oggi, penso che mi ci metterò questa sera XD 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 ù___ù 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 :/
  7. 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 ^____^
  8. 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 ç_ç
  9. 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
  10. 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
  11. Uhm oddio mi sembra strano che nel mio caso possa trattarsi di ram :S Ho 4 gb e in media faccio girare Photoshop, almeno 3 schede di Firefox, a volte Dreamweaver, MSN e RPG Maker XP tutti assieme eppure va che è una meraviglia XD Comunque grazie, lo terrò a mente ;)
  12. 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
  13. 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 é____è
  14. 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 ù////ù
  15. @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 ^^
  16. 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
  17. 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
  18. 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 )
  19. 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.
  20. 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 :/
  21. Sul problema tecnico non ti so dire purtroppo :/ Sui disegni invece o_o Madò! Ma fammi qualche artwork per 2rA! XD Scherzi a parte, sono davvero bellissimi, complimeti *____*
  22. Olè! ^__^ Vedrai che non te ne pentirai! *___* Anche perchè c'è tutto un nuovo assetto di luci e ombre, quindi è ancora più carino da giocare ^__^
  23. Io ribadisco di attendere ù__ù Con tutti i cambiamenti sarà molto probabilmente consigliabile un bel ricominciare da capo ù_______ù
  24. Parrebbe funzionare! *_________* Grazie millemila! *_________*
  25. 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...