Results 1 to 17 of 17

Thread: RM2k3 CustomSaveLoadPatch: Eigenes Speichersystem!

  1. #1

    RM2k3 CustomSaveLoadPatch: Eigenes Speichersystem!

    Hallo,

    es hat sich wieder mal was "ergeben". Eigentlich hatte ich gar keine Zeit, wollte dann aber halt einen kleinen Wunsch erfüllen, und dabei hat sich das hier entwickelt. Viel Spaß damit.

    (Ich hab jetzt keine Lust das nochmal auf Deutsch zu schreiben. Sorry.)

    Quote Originally Posted by readme.txt
    =========================
    RM2k3 CustomSaveLoadPatch
    =========================
    For RPG Maker 2003 v1.08
    by Cherry
    www.cherrytree.at
    cherry@cherrytree.at

    This patch allows you to create your own save/load system.

    FEATURES
    --------

    1) Save the game directly using an event
    2) Load the game directly using an event
    3) Check if a savestate exists using an event
    4) Query information (name, level and HP of first hero) of a savestate using an event
    5) Use as many savestates as you like (not limited to 1-15!)

    INSTALLATION
    ------------

    You need to have BetterAEP installed, otherwise loading games won't work. Get it here: http://cherrytree.at/download/?did=17

    1) To install the CustomSaveLoadPatch, get Lunar IPS from here: http://fusoya.eludevisibility.org/lips/
    2) Open Lunar IPS
    3) Click "Apply IPS"
    4) Select "RPG_RT_CustomSaveLoadPatch.ips" and click "Open"
    5) At the next screen, select "All files" as filetype, navigate to your project folder, select your "RPG_RT.exe" file and click "Open"

    USAGE
    -----

    A) SAVING THE GAME

    1) Write the number of the save slot you want to use into variable 3351 (not limited to 1-15! Can also be zero or a number greater than 15.)
    2) Open the save menu

    EXAMPLE:
    <> Change Variable [3351:SaveID] = 20
    <> Call Save Menu
    This will save the game into slot 20.

    There is no visible or audible feedback when saving.

    Note that when the user manually picks "Save" from the game menu, the game will be saved to the slot specified in variable 3351 and the menu will then be closed.
    So if you want to use this feature, make sure variable 3351 is set to the right slot in the time the player is able to use the menu.

    B) LOADING THE GAME

    1) Write the number of the save slot you want to use into variable 3351 (not limited to 1-15! Can also be zero or a number greater than 15.)
    2) Write 1 into variable 3350
    3) Call the "End Event Processing" function

    Note that steps 2 and 3 require BetterAEP to be installed.

    EXAMPLE:
    <> Change Variable [3351:SaveID] = 4
    <> Change Variable [3350:BetterAEP] = 1
    <> End Event Processing
    This will load the game from slot 4.

    When loading, the music and the screen will fade out.

    If you try to load a nonexistent savestate, it will appear to work (the screen and music will fade out and in again), but nothing will happen.

    C) QUERYING INFORMATION ABOUT A SAVESTATE

    1) Write the number of the save slot you want to check into variable 3352 (not limited to 1-15! Can also be zero or a number greater than 15.)
    2) Process the information as you wish

    After writing a value to variable 3352, information about the savestate will be stored like this:

    IF THE SAVESTATE EXISTS:
    1) Variable 3352 will be 1
    2) Variable 3353 will contain the level of the first hero in the savestate's party
    3) Variable 3354 will contain the HP of the first hero in the savestate's party
    4) The hero with ID 99 will get the name of the first hero in the savestate's party
    IF THE SAVESTATE DOES NOT EXIST:
    1) Variable 3352 will be 0
    2) Variables 3353 and 3354 and hero 99 won't be changed

    MAKE SURE YOU HAVE AT LEAST 99 HEROES IN YOUR DATABASE WHEN USING THIS FEATURE, OTHERWISE THE GAME WILL CRASH ("Event script referenced a hero that doesn't exist")!

    EXAMPLE:
    <> Change Variable [3352:SaveQuery] = 10
    <> Branch If Var[3352:SaveQuery] == 1
    ... <> Message: Savestate 10 exists!
    ... : Hero Level: \v[3353]
    ... : Hero HP: \v[3354]
    ... : Hero Name: \n[99]
    ... <>
    : Else
    ... <> Message: Savestate 10 doesn't exist!
    ... <>
    : End
    This will check whether savestate 10 exists, and if it does, it will display information about it.



    Have fun!
    Cherry
    Download: http://cherrytree.at/downloads/customsaveload.rar

    mfG Cherry

    PS: Ich weiß, dass der Power Patch Compact auch speichern/laden kann. Allerdings mit mehr Einschränkungen, langsamer, manchmal buggy, und außerdem lang nicht so einfach zu benutzen (besonders beim 2k3). Und schon gar nicht mit Heldeninfo.

    EDIT: Kleine Verbesserung, wer sie will:

    http://share.cherrytree.at/showfile-...witch_1005.ips
    Wenn man diesen IPS-Patch drüberpatcht, bewirkt das "Save" im Standardmenü was anderes, nämlich es wird Switch 1005 auf ON gesetzt und das Menü verlassen. Damit kann man z.B. sein eigenes (Speicher-)Menü aufrufen.

    http://share.cherrytree.at/showfile-...ch_changer.exe
    Wenn man die gepatchte RPG_RT auf dieses Programm zieht, kann man damit die Switch ID von 1005 auf was anderes ändern.

    Last edited by Cherry; 05.07.2012 at 17:46.

  2. #2
    Könnte vielleicht ein wenig Arbeit werden mit einem eigenen Save/Load-Menü (hauptsächlich am Interface). Ich finde es allerdings sehr ansprechend. Ich werde versuchen es einzubauen, sobald ich Zeit finde das Laden- und Speichermenü zu erstellen (von der reinen Grafik her). Da ich eh immer nur eine Speicherfunktion nutze (freies Speichern) dürfte dieses System auch recht schnell gehen (technisch gesehen). Ich könnte es sogar jederzeit einbauen, wenn ich wollte (und die Grafiken hätte). Allerdings müsste ich ein wenig noch an meinen Fähigkeiten feilen, damit ich ein pasables Interface hinbekomme. :/
    Dieses Programm lässt kreative Gedanken aufkommen. Vielleicht sollte ich mir mal in den Winterferien die Zeit nehmen und mal versuchen Pixelarts für die Heldeninfo anzufertigen, das eigentliche Menü-Interface zu integrieren und dann gucken, ob ich es genauso gut hinbekomme wie das eigene Startmenü.

  3. #3
    Ist es auch möglich die Anzahl der Speicherpunkte auf einen (Pokémon lässt grüßen) zu reduzieren?

  4. #4
    Dein Bier. Wenn du dem Spieler z.B. nur einen Platz anbietest? Da ist ja kein Speichermenü mehr, außer du baust eines selber. D.h. du brauchst einfach nur einen Punkt "Speichern" machen der in Slot 0 oder 1 oder wo immer du willst speichert, und fertig. (Und natürlich eine "Laden"-Funktion dafür.)

  5. #5
    Nice, das ist genau das, nach dem ich gesucht habe.

  6. #6
    Der riesen Vorteil beim Power Patch Compact ist ja, dass man die Map ID und X/Y Koordinaten des Helden beim nächsten Laden selbst festlegen kann. Das scheint hier nicht möglich zu sein? Oder seh ich es einfach nicht?

  7. #7
    Nein, es ist nicht möglich. Ich hielt es für besser so, weil die Methode wie der PPC vorgeht komplett eine andere ist, die in meinen Augen lang nicht so reibungslos funktioniert wie hier. Ich kann jedem nur empfehlen, lieber das hier zu verwenden, wenn er diese Zusatzfunktion entbehren kann.

  8. #8
    Und Facesets oder Charsets können nicht gespeichert werden?

  9. #9
    Würde wenig bringen. Es gibt keine "Show Face by name" Funktion im Maker.

  10. #10
    Kleine Frage:
    So wie ich das verstanden habe, können nur Level, HP und Heldenname abgefragt werden. Wenn ich also ein eigenes Savemenü bastle, dann habe ich lediglich diese 3 Werte für die Anzeige bei den einzelnen Spielstände zur Verfügung, richtig?
    Wäre es nicht möglich, anstatt bloss nur den Heldennamen ALLE Werte des ersten Helden des Spielstandes in den Helden mit der ID 99 rein zu kopieren?
    So wäre ich in der Lage, beliebige Dinge für die einzelnen Spielstände anzuzeigen, ohne die Beschränkung auf 2 numerische Werte und einen Namen, dessen Abfrage einen riesigen If-Baum nach sich ziehen kann.

    Ich weiss, du hast momentan nicht viel kaum Zeit, doch ich wäre um diese Erweiterung sehr froh und dankbar. Ein DynRPG-Plugin wäre natürlich auch eine gute Alternative.

  11. #11
    Dass es nur diese Werte gibt hat einen Grund. Der Maker speichert genau diese Werte (plus die 4 Faces), also alles was er normal im Savemenü braucht, in einem Extrabereich am Anfang der Datei. Im Savemenü lädt der Maker nur diesen Bereich. (Die Alternative ist Laden des gesamten Spielstandes, was aber nix bringt weil es die vorherigen Daten des Spiels ja löscht). Mein Patch verwendet die vorhandenen Funktionen des Makers.

    (Ein DynRPG-Plugin für das Speichern und Lesen zusätzlicher Daten sollte kein Problem sein, dafür gibts extra den Plugin-Speicher...)

  12. #12
    So etwas ähnliches hab ich mir schon gedacht. Macht eigentlich auch Sinn.
    Ich glaube ich werde mich trotzdem mal etwas in C++ einarbeiten, damit ich nicht immer auf die Plugins anderer angewiesen bin und meine Erweiterungen selber schreiben kann.

    Danke für die schnelle Antwort

  13. #13
    Es ist aber nicht möglich,die Funktion im Standard Menü zu verwenden, oder? Weil "Speichern" im StandardMenü löst ja keinen Switch oder sowas aus, welcher das eigene Speichermenü öffnen kann. Wenn man also kein Zusatzmenü verwenden will, dann steht man da, oder?

    LG
    MajinSonic

  14. #14
    Quote Originally Posted by Cherry
    Note that when the user manually picks "Save" from the game menu, the game will be saved to the slot specified in variable 3351 and the menu will then be closed.
    So if you want to use this feature, make sure variable 3351 is set to the right slot in the time the player is able to use the menu.
    Wenn du vom Standardmenü aus das Speichermenü aufrufst, wird laut Cherrys Beschreibung automatisch in den Spielstand mit derjenigen Nummer, die in der Variable mit der ID 3351 definiert ist, gespeichert und das Menü danach geschlossen. Das Standardspeichermenü wird demnach gar nie aufgerufen.

  15. #15
    Kleine Verbesserung, wer sie will:

    http://share.cherrytree.at/showfile-...witch_1005.ips
    Wenn man diesen IPS-Patch drüberpatcht, bewirkt das "Save" im Standardmenü was anderes, nämlich es wird Switch 1005 auf ON gesetzt und das Menü verlassen. Damit kann man z.B. sein eigenes (Speicher-)Menü aufrufen.

    http://share.cherrytree.at/showfile-...ch_changer.exe
    Wenn man die gepatchte RPG_RT auf dieses Programm zieht, kann man damit die Switch ID von 1005 auf was anderes ändern.

  16. #16
    This bugged me. Now it doesn't.

    CustomSaveLoad2k

    Nur RPG_RT 2k (v1.07 )

    Nach dem Patchen mit SaveLoad kann man die Var_IDs ändern:
    0x6E00C = default 3351 (SaveSlot)
    0x6E046 = default 3352 (LoadSlotInfo: [ID+0]SlotExistence [ID+1]LeaderLvl [ID+2]LeaderHP)
    0x6E08F = Hero_ID 99 (GetLeaderName)

    Zur Erklärung der IDs den ersten Post lesen.
    Zum Speichern den Eventbefehl 'SaveMenu' oder (ungepatchten) Menüpunkt nutzen. Zum Laden den BetterAEP nutzen.

    (ab 0x6E0AD sind die Bytes bis einschließlich 0x6E27D frei/ungenutzt (ca. 470))

    Quote Originally Posted by bugmenot View Post
    Save-Switch (ähnlich dem Patch für den 2k3, setzt einen Switch auf ON, bei Wahl der Menü-Option Speichern (die SaveFileScene wird nicht aufgerufen))
    RPG_RT 2k (v1.07 )
    Nach dem Patchen kann man die Switch_ID ändern:
    0x7A04B = [ED 03] (= 1005)
    Credit to: Cherry's RM2k3 CustomSaveLoadPatch

  17. #17
    Quote Originally Posted by bugmenot View Post
    Save-Switch
    Ich dachte für einen Moment "Self-Switch" gelesen zu haben. Und ich hab mir schon Hoffnungen gemacht. Q_Q

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •