Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : New Game Plus-Script???



necromant
07.12.2013, 23:08
Hallo.
Ich hab mal folgende Frage:
Kann mir jemand ein Script für den RMXP posten/erstellen, womit ich ein New Game Plus erstellen kann?

Cornix
07.12.2013, 23:15
Das könnte potentiell sehr simpel sein. Je nachdem wie du es haben möchtest.

Wenn du dich ein wenig in den Code zum Starten eines neuen Spiels, und zum Laden eines bestehenden Spiels reinliest, sollte es dir möglich sein die beiden Scripte miteinander zu verschmelzen und nur die entsprechenden Zeilen aus den jeweiligen Scripten zu verwenden.
Im Grunde willst du ein neues Spiel erstellen, allerdings die Actor-Daten aus dem bestehenden Speicherstand übernehmen. Du musst also selektiv Laden.

MajinSonic
07.12.2013, 23:38
Streng genommen braucht es dafür doch kein Skript.
Schalte einfach alle Variablen und alle Switches wieder in den urzustand. (Also Variablen auf 0 und switches auf OFF)
Dann, nach dem ende machst du kein "return to title" sondern machst eine Map wo du die Einstellungen für neues spiel plus einsetzt. Wenn du es wie bei Tales of machen möchtest, kannst du da sowas freischalten wie 2x EP usw

Bevor sich das Menü aber öffnet, lässt du den Spieler speichern. So kann er, neues Spiel plus einfach "laden".
Dann machst du noch einen Switch den du nur dann anmachst, wenn es ein Plusspiel ist. So kannst du relativ einfach neue Inhalte integrieren, die erst beim zweiten lauf sichtbar werden.
Außerdem ersparst du dir so lästige programmiererei und Fehler. Einfachstes Eventing.

LG
MajinSonic

Lares Yamoir
08.12.2013, 00:39
@MajinSonic
Ich glaube, das ist nicht unbedingt (direkt) machbar. Ich denke da vor allem an Self Switches, die lassen sich ja nicht ohne weiteres außerhab der Map ändern und resetten sich auch nicht automatisch.

@necromant
Ich hätte zwar ne grobe Lösung im Kopf, aber ohne Ruby wird das nix und da ich selber den XP nicht mehr habe, kann ich dir leider auch kein Skript erstellen. Falls du sie trotzdem hören willst, sag bescheid.

MajinSonic
08.12.2013, 09:09
Ah stimmt. Ich habe die Selfswitches vergessen. Allerdings könnte man diese bestimmt mit einem Ruby Befehl auch wieder ausschalten. Dann wär das alles geritzt ;)

Bex
08.12.2013, 11:21
Bei den Self Switches wurde mir erst neulich geholfen^^. Hier die Lösung um die mit Ruby zu steuern.

Erweiterte Benutzung:
Durch das Eventkommando Script ist es auch möglich Self Switches eines Events von ausserhalb jenes Events zu verändern.

$game_self_switches[[$game_map.map_id, 5, 'B']] = true

Setzt den Self Switch B des Events mit der Event_ID 005 auf der aktuellen Map auf On.
Begriffserklärung:
$game_map.map_id bezieht sich auf die aktuelle Map und könnte durch Zahlen oder Variablen ersetzt werden.
EventID bezieht sich auf die EventID des Zielevents und muss durch eine Zahl oder Variable ersetzt werden
(0 ist This Event). 'A' ist der ausgewählte Self Switch. Es kann A,B,C oder D eingetragen werden.

Self Switch Pointer
$game_self_switches[[$game_map.map_id, $game_variables[1], 'A']] = true
Der Wert von Variable001 bestimmt die ID des Events dessen Self Switch verändert wird.

Folgendes Beispiel wird im Eventbefehl Conditional Branch benutzt:
$game_self_switches[[$game_map.map_id, 5, 'A']] == true

Es wird abgefragt ob der Self Switch A des Events mit der ID_005 auf der aktuellen Map auf On ist.
Ob das die richtige Lösung für sein Problem ist bezweifle ich im Moment noch.

Kwabi
08.12.2013, 11:54
Zum Zurücksetzen der Self-Switches sollte ein einfaches

$game_self_switches = Game_SelfSwitches.new
genügen.
Ansonsten am Ende, wenn du wirklich ALLES zurücksetzen möchtest, alle diese befehle nacheinander aufrufen:


$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new #Musste ausprobieren, ob du danach noch manuell was machen kannst
$game_player = Game_Player.new
$game_party.setup_starting_members


Habs jetzt nicht ausprobiert, aber so setze ich zumindest variablen und switches zurück. Wie gesagt, beim letzten musst du sehen was sich wie auswirkt, das hab ich nun nicht getestet.
Und ich hab eigentlich keine ahnung was "New Game Plus" eigentlich ist, ich les hier nur von Zeugs zurücksetzen ^^"

Cepanks
08.12.2013, 13:32
Und ich hab eigentlich keine ahnung was "New Game Plus" eigentlich ist, ich les hier nur von Zeugs zurücksetzen ^^"
Grob gesagt: Du startest nach erfolgreichem Komplettieren des Spiels einen neuen Spielpielstand, bei dem aber "irgendwas anders ist". Z. B.: die Party behält Level und Ausrüstungsgegenstände, die sie zum Ende des letzten Durchspielens hatte oder alle Gegner haben nun doppelt so viel HP.