1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[Trigger] Save/Load System

Discussion in 'Triggers & Scripts' started by kodok_rebus, May 6, 2012.

  1. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    hello, i have problem with save/load system this the trigger.
    the problem at SaveLoad Save All And SaveLoad Load All, (Custom Script)

    set udg_Save[udg_SaveCount] = SaveLoad_Unit2Integer( udg_TempUnit )
    set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
    set udg_Code = SaveLoad_Encode()
    set udg_Validate = SaveLoad_Decode( udg_Code )
    set udg_Validate = SaveLoad_Decode( udg_Code )
    set udg_Validate = SaveLoad_Decode( udg_Code )

    • SaveLoad Initialization Hero
      • Events
        • Map initialization
      • Conditions
      • Actions
        • -------- List of Heroes --------
        • Set SaveLoad_Heroes[1] = NEWBIE
        • Set SaveLoad_Heroes[2] = Swordman
        • Set SaveLoad_Heroes[3] = Priest
        • Set SaveLoad_Heroes[4] = Druid
        • Set SaveLoad_Heroes[5] = Mage
        • -------- Number of Heroes --------
        • Set SaveLoad_Heroes_LastIndex = 5
        • -------- List of Items --------
        • Set SaveLoad_Items[1] = Claws of Attack +15
        • -------- Number of Items --------
        • Set SaveLoad_Items_LastIndex = 1
        • -------- These three lines may be changed if needed --------
        • Set SaveLoad_Alphabet = ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789
        • Set SaveLoad_CaseSensitive = False
        • Set SaveLoad_UsePlayername = True
        • -------- Required: false --------
        • Set SaveLoad_Initialized = False
        • -------- Leave as is. Used to autocreate variables when copy & pasting to a new map --------
        • Set Code = Project RPG(Codev0.1)
        • Set SaveCount = 1
        • Set Save[1] = 0
        • Set Validate = False
        • Set SaveLoad_Compress[1] = 0
        • Set SaveLoad_Uncompress[1] = 0


    • SaveLoad Save All
      • Events
        • Player - Player 1 (Red) types a chat message containing -save as An exact match
        • Player - Player 2 (Blue) types a chat message containing -save as An exact match
        • Player - Player 3 (Teal) types a chat message containing -save as An exact match
        • Player - Player 4 (Purple) types a chat message containing -save as An exact match
        • Player - Player 5 (Yellow) types a chat message containing -save as An exact match
        • Player - Player 6 (Orange) types a chat message containing -save as An exact match
        • Player - Player 7 (Green) types a chat message containing -save as An exact match
        • Player - Player 8 (Pink) types a chat message containing -save as An exact match
        • Player - Player 9 (Gray) types a chat message containing -save as An exact match
        • Player - Player 10 (Light Blue) types a chat message containing -save as An exact match
      • Conditions
      • Actions
        • -------- Prepare the save array with this player's Hero --------
        • Set SaveCount = 0
        • -------- Player's Goldbar --------
        • Set SaveCount = ((SaveCount + 1) + 1)
        • Set Save[SaveCount] = ((Triggering player) Current lumber)
        • -------- Take all Heroes --------
        • Set UnitGroup = (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True))
        • Set SaveCount = (SaveCount + 1)
        • Set Save[SaveCount] = (Number of units in UnitGroup)
        • Unit Group - Pick every unit in UnitGroup and do (Actions)
          • Loop - Actions
            • -------- Save the Hero --------
            • Set SaveCount = (SaveCount + 1)
            • Set TempUnit = (Picked unit)
            • Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Unit2Integer( udg_TempUnit )
            • -------- Hero Experience --------
            • Set SaveCount = (SaveCount + 1)
            • Set Save[SaveCount] = (Hero experience of (Picked unit))
            • -------- How many items does he carry --------
            • Set SaveCount = (SaveCount + 1)
            • Set Save[SaveCount] = (Number of items carried by (Picked unit))
            • -------- Add all items --------
            • For each (Integer A) from 1 to 6, do (Actions)
              • Loop - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • ((Item carried by (Picked unit) in slot (Integer A)) is owned) Equal to True
                  • Then - Actions
                    • -------- The actual item --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set TempItem = (Item carried by (Picked unit) in slot (Integer A))
                    • Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
                    • -------- The number of charges it has --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set Save[SaveCount] = (Charges remaining in (Item carried by (Picked unit) in slot (Integer A)))
                  • Else - Actions
        • -------- Turn values into code --------
        • Custom script: set udg_Code = SaveLoad_Encode()
        • -------- Show code to player --------
        • Game - Display to (Player group((Triggering player))) for 25.00 seconds the text: ( |cffff0000You Code|r: + Code)
        • Game - Display to (Player group((Triggering player))) for 25.00 seconds the text: -------------------...


    • SaveLoad Load All
      • Events
        • Player - Player 1 (Red) types a chat message containing -load as A substring
        • Player - Player 2 (Blue) types a chat message containing -load as A substring
        • Player - Player 3 (Teal) types a chat message containing -load as A substring
        • Player - Player 4 (Purple) types a chat message containing -load as A substring
        • Player - Player 5 (Yellow) types a chat message containing -load as A substring
        • Player - Player 6 (Orange) types a chat message containing -load as A substring
        • Player - Player 7 (Green) types a chat message containing -load as A substring
        • Player - Player 8 (Pink) types a chat message containing -load as A substring
        • Player - Player 9 (Gray) types a chat message containing -load as A substring
        • Player - Player 10 (Light Blue) types a chat message containing -load as A substring
      • Conditions
        • (Substring((Entered chat string), 1, 6)) Equal to (Matched chat string)
        • (Length of (Entered chat string)) Greater than 6
        • Check_Players[(Player number of (Triggering player))] Equal to False
      • Actions
        • -------- Try to decode what was typed --------
        • Set Code = (Substring((Entered chat string), 7, (Length of (Entered chat string))))
        • Custom script: set udg_Validate = SaveLoad_Decode( udg_Code )
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • Validate Equal to False
          • Then - Actions
            • -------- Invalid code --------
            • Game - Display to (Player group((Triggering player))) the text: |cffd8bfd8Hunter|r,...
            • Skip remaining actions
          • Else - Actions
        • -------- It worked, let's do something with it --------
        • Unit Group - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True)) and do (Actions)
          • Loop - Actions
            • Unit - Remove (Picked unit) from the game
        • Set SaveCount = 1
        • -------- Restore Gold and Goldbar --------
        • Player - Set (Triggering player) Current lumber to Save[SaveCount]
        • -------- Number of Heroes --------
        • Set SaveCount = (SaveCount + 1)
        • For each (Integer B) from 1 to Save[SaveCount], do (Actions)
          • Loop - Actions
            • Set Check_Players[(Player number of (Triggering player))] = True
            • -------- Restore Hero --------
            • Set SaveCount = (SaveCount + 1)
            • Custom script: set udg_TempUnitType = SaveLoad_Integer2Unit(udg_Save[udg_SaveCount])
            • Unit - Create 1 TempUnitType for (Triggering player) at (Center of Respawn Area <gen>) facing Default building facing degrees
            • Camera - Pan camera for (Triggering player) to (Center of Respawn Area <gen>) over 0.00 seconds
            • -------- Set Experience --------
            • Set SaveCount = (SaveCount + 1)
            • Hero - Set (Last created unit) experience to Save[SaveCount], Hide level-up graphics
            • -------- Recreate all items --------
            • Set SaveCount = (SaveCount + 1)
            • For each (Integer A) from 1 to Save[SaveCount], do (Actions)
              • Loop - Actions
                • -------- The actual item --------
                • Set SaveCount = (SaveCount + 1)
                • Custom script: set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
                • Hero - Create TempItemType and give it to (Last created unit)
                • -------- Number of charges --------
                • Set SaveCount = (SaveCount + 1)
                • Item - Set charges remaining in (Last created item) to Save[SaveCount]


    im forget using what variables
    [​IMG]
     
  2. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    make sure you copied the custom script from the map header

    also, have you created those variables manually?
     
  3. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    im already create variables manually not copy
    and the trigger im copy from other map :),but the real map same custom script


    sorry for my bad english
     
  4. mckill2009

    mckill2009

    Joined:
    Mar 10, 2009
    Messages:
    4,696
    Resources:
    34
    Maps:
    5
    Spells:
    27
    JASS:
    2
    Resources:
    34
    I already told you that there's a library behind it that's why it causes errors, you MUST copy that library also to your map...
     
  5. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    okay im try :grin:
    by the way how to copy library? (im still noob)
     
  6. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    and use the auto create feature when pasting instead of making them manually...

    just look at the map header of the map where you got the SL system, copy everything in it and paste into the map header of ur map
     
  7. Jas.per

    Jas.per

    Joined:
    Mar 28, 2012
    Messages:
    217
    Resources:
    3
    Maps:
    2
    Tutorials:
    1
    Resources:
    3
    woah thats long triggers :O
     
  8. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    someone can fix my trigger?
     
  9. ALTELMA

    ALTELMA

    Joined:
    Jan 4, 2009
    Messages:
    113
    Resources:
    0
    Resources:
    0
    Err I have some question. About Goldd or Long Int Value. I want to save it. I divide my gold and save it to my code, but It can't get all gold. How I can best way from this?
     
  10. mckill2009

    mckill2009

    Joined:
    Mar 10, 2009
    Messages:
    4,696
    Resources:
    34
    Maps:
    5
    Spells:
    27
    JASS:
    2
    Resources:
    34
    the map you gave me has a library in the map header, copy ALL of it and paste to your map header, Im sure it will be fixed...
     
  11. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    im surrender with Save/Load System:sad:

    and i dont know how to copy "LIBRARY" can you explain to me?
     
  12. ALTELMA

    ALTELMA

    Joined:
    Jan 4, 2009
    Messages:
    113
    Resources:
    0
    Resources:
    0
    Sorry, but I don't use this systems. I ask for how make code from long Int on simple case.
     
  13. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    @kodok:
     
  14. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    im already try, please check your pm
     
  15. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    save/load system fixed
    im using this tutorial http://www.thehelper.net/forums/showthread.php/49392-Save-Load-Code-Yet-Another
    and do Import Trigger Then Export to my map :)

    i have problem with "ANTI-Singel Player" Anyone can help me?

    this the trigger
    [X]Enabled [ ] initially on
    • SaveLoad NoSinglePlayer
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Custom script: if bj_isSinglePlayer then
        • Trigger - Turn off SaveLoad Save Hero <gen>
        • Trigger - Turn off SaveLoad Load Hero <gen>
        • Wait 5.00 seconds
        • Game - Display to (All players) the text: Single player: -sav...
        • Custom script: endif
     
    Last edited: May 11, 2012
  16. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    I'm not sure if bj_isSinglePlayer still works...

    what I use is the check if it reloads game cache data from disk... and make it initially on coz it runs on map init...
     
  17. kodok_rebus

    kodok_rebus

    Joined:
    Feb 6, 2012
    Messages:
    42
    Resources:
    0
    Resources:
    0
    thanks its work.

    sorry i can't gift you reputation its say "You must spread some Reputation around before giving it to Adiktuz again"

    i give you credits for my map :) and mckill2009 too

    oh yeah you have link for Job Change System? With Level Request And Job Request thanks :)
     
  18. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    I haven't encountered a public resource for that yet...