Non so se ho capito bene, tu vuoi che finito il gioco si sblocchi nel menù l'opzione "New Game +" e che iniziata una partita "Plus" ti faccia iniziare la partita in un'altra mappa, giusto?
Nel PC avevo giusto una bozza di script per il "New Game+" che avevo scritto tempo fa, quindi l'ho modificato secondo le tue esigenze
module SK
module New_Game_Plus
Mappe_Id_Inizio_Gioco=[1,84,125]
end
end
class Window_TitleCommand < Window_Command
#OVERWRITE
def make_command_list
$game_settings["New_Game_Plus"]=2 if $game_settings["New_Game_Plus"]==nil
nome_opzione_new_game=Vocab::new_game+("+"*$game_settings["New_Game_Plus"] )
add_command(nome_opzione_new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
add_command(Vocab::shutdown, :shutdown)
end
end
module DataManager
#OVERWRITE
def self.setup_new_game
create_game_objects
$game_party.setup_starting_members
$game_map.setup(SK::New_Game_Plus::Mappe_Id_Inizio_Gioco[$game_settings["New_Game_Plus"]])
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
Graphics.frame_count = 0
end
end
Lo script non aggiunge una nuova opzione al menù, ma va a modificare il vecchio "New Game" e lo fa diventare "New Game +", non so se va bene lo stesso, in caso vedi tu.
Comunque funziona così:
1) Nelle prime righe dello script c'è l'array
Mappe_Id_Inizio_Gioco=[1,84,125]
All'interno metterai gli id delle mappe da cui inizierà il gioco a seconda del new game (il primo valore è per il new game normale, il secondo per il new game play, il terzo per il new game ++ etc)
2) Alla fine del gioco metti un evento-script con su scritto:
$game_settings["Numero_Fine_Gioco"]+=1
per far sapere al gioco di poter sbloccare il nuovo "New Game +"
N.B. Questo piccolo script richiede il metodo universale di Holy
Comunque, se posso darti un consiglio, eviterei di usare un metodo del genere, se vuoi mettere degli eventi speciali a cui possono accedere soltanto se si gioco in "New Game +" potresti semplicemente mettere un sistema di controllo che vede in che New game giochi e mostrare l'evento o meno di conseguenza. Per esempio se volessi far vedere un npc soltanto se sono in new game plus e non in new game "normale" potrei strutturare l'evento così:
if $game_settings["New_Game_Plus"]>0
Self-Switch A ON
end
e nella seconda pagina programmi l'npc; direi che sia un metodo più semplice rispetto al clonare tutte le mappe del gioco. ^^"
Comunque nei prossimi giorni dovrei completare lo script del New Game Plus, permettendo di far potenziare i nemici ed altre belle cosine, se puoi aspettare qualche giorno puoi usare quello :D