<div class="de1"><span class="co1">#==============================================================================</span></div><div class="de1"><span class="co1"># - Scene_Title (Dummy Title v 2.2 Lite by giver)</span></div><div class="de1"><span class="co1">#------------------------------------------------------------------------------</span></div><div class="de1"><span class="co1"># Scena che inizializza il gioco e va ad una mappa del gioco senza far scegliere</span></div><div class="de1"><span class="co1"># cosa fare tra Gioca, Carica ed Esci (queste cose andranno inserite in una mappa</span></div><div class="de1"><span class="co1"># se si desidera usarle)</span></div><div class="de1"><span class="co1">#==============================================================================</span></div><div class="de1"> </div><div class="de1"><span class="kw1">class</span> Scene_Title</div><div class="de1"> <span class="co1"># Switch che verrà messo ON se ci sono salvataggi presenti</span></div><div class="de1"> SAVES_PRESENT_SWCID = <span class="nu0">100</span></div><div class="de1"> <span class="co1">#</span></div><div class="de1"> <span class="co1"># Si può scegliere una mappa e posizione di partenza alternativa a quella</span></div><div class="de1"> <span class="co1"># impostata nell'editor. Per accedervi, usare un comando-evento (CALL)</span></div><div class="de1"> <span class="co1"># SCRIPT, ossia l'ultimo della terza pagina dei comandi-evento, inserendo</span></div><div class="de1"> <span class="co1"># il seguente testo:</span></div><div class="de1"> <span class="co1">#</span></div><div class="de1"> <span class="co1"># $scene = Scene_Title.new(true)</span></div><div class="de1"> <span class="co1">#</span></div><div class="de1"> <span class="co1"># ATTENZIONE: Usare questa opzione Resetta tutti i dati del gioco, quindi</span></div><div class="de1"> <span class="co1"># Variabili, Switch e quant'altro settato nel corso di un'eventuale partita</span></div><div class="de1"> <span class="co1"># andrà PERDUTO. Si chiama PARTENZA ALTERNATIVA proprio per questo !</span></div><div class="de1"> <span class="co1">#</span></div><div class="de1"> <span class="co1"># ID Mappa di Partenza Alternativa</span></div><div class="de1"> <span class="co1"># Cambiare il 4 con l'ID della mappa dove il gioco parte diversamente da</span></div><div class="de1"> <span class="co1"># come impostato nell'editor</span></div><div class="de1"> ALTERNATE_START_MAP_ID = <span class="nu0">4</span></div><div class="de1"> <span class="co1"># Ricordare che le coordinate di una mappa partono da 0, non da 1</span></div><div class="de1"> <span class="co1"># Coordinata X nella Mappa di Partenza Alternativa</span></div><div class="de1"> ALTERNATE_START_MAP_X = <span class="nu0">9</span></div><div class="de1"> <span class="co1"># Coordinata Y nella Mappa di Partenza Alternativa</span></div><div class="de1"> ALTERNATE_START_MAP_Y = <span class="nu0">7</span></div><div class="de1"> <span class="co1"># Party di Partenza Alternativa</span></div><div class="de1"> <span class="co1"># Inserire tra parentesi quadre gli ID di TUTTI gli actors che dovranno</span></div><div class="de1"> <span class="co1"># comporre il party in caso di partenza alternativa, visto che actors già</span></div><div class="de1"> <span class="co1"># presenti verranno eliminati.</span></div><div class="de1"> <span class="co1"># Si può lasciare il party alternativo vuoto mettendo solo le parentesi</span></div><div class="de1"> <span class="co1"># quadre [] dopo l'uguale, per aggiungere successivamente i PG che lo</span></div><div class="de1"> <span class="co1"># compongono tramite l'apposito comando-evento</span></div><div class="de1"> ALTERNATE_START_PARTY_ACTORS = <span class="br0">[</span><span class="nu0">1</span>, <span class="nu0">6</span><span class="br0">]</span></div><div class="de1"> <span class="co1">#</span></div><div class="de1"> <span class="co1"># Indica se iniziare subito il gioco, saltando eventuali Title ed Intro</span></div><div class="de1"> <span class="co1"># realizzati ad Eventi</span></div><div class="de1"> <span class="kw1">def</span> initialize<span class="br0">(</span>saltamenùeintro = <span class="kw2">false</span><span class="br0">)</span></div><div class="de1"> <span class="re1">@gioca_subito</span> = saltamenùeintro</div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="co1">#--------------------------------------------------------------------------</span></div><div class="de1"> <span class="co1"># - Processo Principale</span></div><div class="de1"> <span class="co1">#--------------------------------------------------------------------------</span></div><div class="de1"> <span class="kw1">def</span> main</div><div class="de1"> <span class="co1"># Se il gioco è stato avviato per provare una battaglia dal DataBase</span></div><div class="de1"> <span class="kw1">if</span> <span class="re0">$BTEST</span></div><div class="de1"> battle_test</div><div class="de1"> <span class="kw2">return</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="co1"># Caricamento Database</span></div><div class="de1"> <span class="re0">$data_actors</span> = load_data<span class="br0">(</span><span class="st0">"Data/Actors.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_classes</span> = load_data<span class="br0">(</span><span class="st0">"Data/Classes.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_skills</span> = load_data<span class="br0">(</span><span class="st0">"Data/Skills.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_items</span> = load_data<span class="br0">(</span><span class="st0">"Data/Items.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_weapons</span> = load_data<span class="br0">(</span><span class="st0">"Data/Weapons.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_armors</span> = load_data<span class="br0">(</span><span class="st0">"Data/Armors.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_enemies</span> = load_data<span class="br0">(</span><span class="st0">"Data/Enemies.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_troops</span> = load_data<span class="br0">(</span><span class="st0">"Data/Troops.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_states</span> = load_data<span class="br0">(</span><span class="st0">"Data/States.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_animations</span> = load_data<span class="br0">(</span><span class="st0">"Data/Animations.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_tilesets</span> = load_data<span class="br0">(</span><span class="st0">"Data/Tilesets.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_common_events</span> = load_data<span class="br0">(</span><span class="st0">"Data/CommonEvents.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_system</span> = load_data<span class="br0">(</span><span class="st0">"Data/System.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="co1"># Resetta il contatore frame per il tempo di gioco</span></div><div class="de1"> Graphics.<span class="me1">frame_count</span> = <span class="nu0">0</span></div><div class="de1"> <span class="co1"># Creazione oggetti</span></div><div class="de1"> <span class="re0">$game_temp</span> = Game_Temp.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_system</span> = Game_System.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_switches</span> = Game_Switches.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_variables</span> = Game_Variables.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_self_switches</span> = Game_SelfSwitches.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_screen</span> = Game_Screen.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_actors</span> = Game_Actors.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_party</span> = Game_Party.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_troop</span> = Game_Troop.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_map</span> = Game_Map.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_player</span> = Game_Player.<span class="me1">new</span></div><div class="de1"> <span class="co1"># Creazione Gruppo, usando le informazioni nel pannello System del DataBase</span></div><div class="de1"> <span class="co1"># Se si usano Title e/o Intro ad Eventi, dovrebbe essere lasciato VUOTO,</span></div><div class="de1"> <span class="co1"># ossia vanno eliminati tutti i PG dal sotto-pannello di System nel DB</span></div><div class="de1"> <span class="re0">$game_party</span>.<span class="me1">setup_starting_members</span></div><div class="de1"> <span class="co1"># Controlla se ci sono salvataggi ed in caso positivo mette ON lo switch</span></div><div class="de1"> <span class="co1"># indicato nella costante SAVES_PRESENT_SWCID</span></div><div class="de1"> <span class="kw1">for</span> i <span class="kw1">in</span> 0..3</div><div class="de1"> <span class="kw1">if</span> <span class="kw4">FileTest</span>.<span class="me1">exist</span>?<span class="br0">(</span><span class="st0">"Save#{i+1}.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$game_switches</span><span class="br0">[</span>SAVES_PRESENT_SWCID<span class="br0">]</span> = <span class="kw2">true</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="co1"># Se si salta il menù iniziale, parte direttamente dalla mappa indicata</span></div><div class="de1"> <span class="co1"># nell'evento comune quando si sceglie nuovo gioco, ossia quella in cui </span></div><div class="de1"> <span class="co1"># il giocatore inizia a poter gestire il party.</span></div><div class="de1"> <span class="co1"># Il codice assume che il party, essendo presenti Title e/o Intro ad Eventi,</span></div><div class="de1"> <span class="co1"># sia VUOTO, come si usa di solito in questi casi, quindi il party che è</span></div><div class="de1"> <span class="co1"># disponibilie all'inizio del gioco effettivo viene inserito da qui</span></div><div class="de1"> <span class="kw1">if</span> <span class="re1">@gioca_subito</span></div><div class="de1"> <span class="co1"># Inserisce nel Party i membri presenti all'inizio del gioco vero e proprio</span></div><div class="de1"> <span class="co1"># Questa istruzione mette nel party solo il primo personaggio del DataBase.</span></div><div class="de1"> <span class="co1"># Per aggiungere altri PG copiare ed incollare l'istruzione sottostante,</span></div><div class="de1"> <span class="co1"># sostituendo all'uno tra parentesi il numero che identifica il PG</span></div><div class="de1"> <span class="co1"># nel DataBase</span></div><div class="de1"> <span class="co1"># E' la stessa operazione che va fatta, ad Eventi, quando il giocatore</span></div><div class="de1"> <span class="co1"># sceglie Nuova Partita nel Menù Iniziale su Mappa (o quella dopo la Intro</span></div><div class="de1"> <span class="co1"># se questa è stata inserita dopo il Title ad Eventi)</span></div><div class="de1"> <span class="kw1">unless</span> <span class="re0">$game_party</span>.<span class="me1">actors</span> == <span class="br0">[</span><span class="br0">]</span></div><div class="de1"> <span class="kw1">for</span> actorerase <span class="kw1">in</span> <span class="re0">$game_party</span>.<span class="me1">actors</span></div><div class="de1"> <span class="re0">$game_party</span>.<span class="me1">remove_actor</span><span class="br0">(</span>actorerase.<span class="me1">id</span><span class="br0">)</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="kw1">unless</span> ALTERNATE_START_PARTY_ACTORS == <span class="br0">[</span><span class="br0">]</span></div><div class="de1"> <span class="kw1">for</span> actorid <span class="kw1">in</span> ALTERNATE_START_PARTY_ACTORS</div><div class="de1"> <span class="re0">$game_party</span>.<span class="me1">add_actor</span><span class="br0">(</span>actorid<span class="br0">)</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="co1"># Creazione Mappa dove inizia il gioco vero e proprio</span></div><div class="de1"> <span class="co1"># E' la stessa cosa che viene fatta, usando il Trasferimento/Teletrasporto,</span></div><div class="de1"> <span class="co1"># quando il giocatore sceglie Nuova Partita (o quella dopo la Intro, se è</span></div><div class="de1"> <span class="co1"># stata inserita dopo il Title ad Eventi)</span></div><div class="de1"> <span class="re0">$game_map</span>.<span class="me1">setup</span><span class="br0">(</span>ALTERNATE_START_MAP_ID<span class="br0">)</span></div><div class="de1"> <span class="co1"># Trasferimento alle coordinate del punto d'inizio</span></div><div class="de1"> <span class="co1"># Cambiare i valori seguendo gli stessi criteri indicati per l'ID della Mappa</span></div><div class="de1"> <span class="re0">$game_player</span>.<span class="me1">moveto</span><span class="br0">(</span>ALTERNATE_START_MAP_X, ALTERNATE_START_MAP_Y<span class="br0">)</span></div><div class="de1"> <span class="kw1">else</span></div><div class="de1"> <span class="co1"># Creazione Mappa con Title ad Eventi, ossia quella impostata nel tool</span></div><div class="de1"> <span class="re0">$game_map</span>.<span class="me1">setup</span><span class="br0">(</span>$data_system.<span class="me1">start_map_id</span><span class="br0">)</span></div><div class="de1"> <span class="co1"># Trasferimento alle coordinate del Title ad Eventi</span></div><div class="de1"> <span class="re0">$game_player</span>.<span class="me1">moveto</span><span class="br0">(</span>$data_system.<span class="me1">start_x</span>, <span class="re0">$data_system</span>.<span class="me1">start_y</span><span class="br0">)</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="co1"># Aggiornamento Giocatore</span></div><div class="de1"> <span class="re0">$game_player</span>.<span class="me1">refresh</span></div><div class="de1"> <span class="co1"># Suona BGM e BGS automatici</span></div><div class="de1"> <span class="re0">$game_map</span>.<span class="me1">autoplay</span></div><div class="de1"> <span class="co1"># Aggiornamento Mappa</span></div><div class="de1"> <span class="re0">$game_map</span>.<span class="me1">update</span></div><div class="de1"> <span class="co1"># Cambia Scena</span></div><div class="de1"> <span class="re0">$scene</span> = Scene_Map.<span class="me1">new</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"> <span class="co1">#--------------------------------------------------------------------------</span></div><div class="de1"> <span class="co1"># - Test Battaglia</span></div><div class="de1"> <span class="co1">#--------------------------------------------------------------------------</span></div><div class="de1"> <span class="kw1">def</span> battle_test</div><div class="de1"> <span class="co1"># Caricamento Database per il test battaglia</span></div><div class="de1"> <span class="re0">$data_actors</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Actors.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_classes</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Classes.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_skills</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Skills.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_items</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Items.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_weapons</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Weapons.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_armors</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Armors.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_enemies</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Enemies.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_troops</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Troops.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_states</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_States.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_animations</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Animations.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_tilesets</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_Tilesets.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_common_events</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_CommonEvents.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="re0">$data_system</span> = load_data<span class="br0">(</span><span class="st0">"Data/BT_System.rxdata"</span><span class="br0">)</span></div><div class="de1"> <span class="co1"># Resetta il contatore frame per il tempo di gioco</span></div><div class="de1"> Graphics.<span class="me1">frame_count</span> = <span class="nu0">0</span></div><div class="de1"> <span class="co1"># Creazione oggetti</span></div><div class="de1"> <span class="re0">$game_temp</span> = Game_Temp.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_system</span> = Game_System.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_switches</span> = Game_Switches.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_variables</span> = Game_Variables.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_self_switches</span> = Game_SelfSwitches.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_screen</span> = Game_Screen.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_actors</span> = Game_Actors.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_party</span> = Game_Party.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_troop</span> = Game_Troop.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_map</span> = Game_Map.<span class="me1">new</span></div><div class="de1"> <span class="re0">$game_player</span> = Game_Player.<span class="me1">new</span></div><div class="de1"> <span class="co1"># Settaggio Gruppo per il test battaglia</span></div><div class="de1"> <span class="re0">$game_party</span>.<span class="me1">setup_battle_test_members</span></div><div class="de1"> <span class="co1"># Settaggio ID Gruppo di mostri, possibilità di fuga e sfondo</span></div><div class="de1"> <span class="re0">$game_temp</span>.<span class="me1">battle_troop_id</span> = <span class="re0">$data_system</span>.<span class="me1">test_troop_id</span></div><div class="de1"> <span class="re0">$game_temp</span>.<span class="me1">battle_can_escape</span> = <span class="kw2">true</span></div><div class="de1"> <span class="re0">$game_map</span>.<span class="me1">battleback_name</span> = <span class="re0">$data_system</span>.<span class="me1">battleback_name</span></div><div class="de1"> <span class="co1"># Suona SE Inizio Battaglia</span></div><div class="de1"> <span class="re0">$game_system</span>.<span class="me1">se_play</span><span class="br0">(</span>$data_system.<span class="me1">battle_start_se</span><span class="br0">)</span></div><div class="de1"> <span class="co1"># Suona BGM Battaglia</span></div><div class="de1"> <span class="re0">$game_system</span>.<span class="me1">bgm_play</span><span class="br0">(</span>$game_system.<span class="me1">battle_bgm</span><span class="br0">)</span></div><div class="de1"> <span class="co1"># Vai alla scena della battaglia</span></div><div class="de1"> <span class="re0">$scene</span> = Scene_Battle.<span class="me1">new</span></div><div class="de1"> <span class="kw1">end</span></div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>