1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. 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
  3. 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
  4. The poll for Hive's 12th Concept Art Contest is up! Go cast your vote for your favourite genie!
    Dismiss Notice
  5. Travel to distant realms and encounter scenes unknown to the common folk. The Greatest of Adventures is upon us with the 8th Cinematic Contest. Join in on a fun ride.
    Dismiss Notice
  6. The 18th Icon Contest is ON! Choose any ingame unit and give him/her Hero abilities. Good luck to all.
    Dismiss Notice
  7. Contestants are to create a scene set in the Stone Age. Come and see what you can come up with. We wish you the best of luck!
    Dismiss Notice
  8. Colour outside the lines! Techtree Contest #13 is a go. The contest is optionally paired.
    Dismiss Notice
  9. Greetings cerebrates, our Swarm needs new spawners that will have numerous children. Join the HIVE's 31st Modeling Contest - Spawners and Spawned! The contest is optionally paired.
    Dismiss Notice
  10. 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.

Codeless Save and Load (Multiplayer) - v3.0.0

Submitted by TriggerHappy
This bundle is marked as approved. It works and satisfies the submission rules.
Information

If you've ever wanted to transfer progress between multiplayer maps, you probably needed to type in a long code.

That is no longer needed with this system. This will allow you to read save data from your WC3 folder and sync it to all other players in the map.

The demo map features:
  1. Load without typing anything
  2. Save Hero
    • Level/XP
    • Items
    • Abilities
    • Hero Name

  3. 5 Save Slots
* Everything is customizable and you can make the system save & load anything you want.

* This system is intended for GUI users.

Installation

To import the system, all you have to do is copy the trigger folders over to your map and save it.

Screenshots


[​IMG]
[​IMG]
[​IMG]
[​IMG]


Credits

Pipedream (optimal save system)
Previews
Contents

Codeless Save & Load v1.3.9 (Map)

Codeless Save & Load v3.0.0 (Map)

Reviews
Moderator
Awaiting further review
  1. iuryharoon

    iuryharoon

    Joined:
    Dec 12, 2012
    Messages:
    7
    Resources:
    0
    Resources:
    0
    Good night people
    wanted help to add an extra bag to save ...
    grateful..
     
  2. Recklessness

    Recklessness

    Joined:
    Aug 17, 2014
    Messages:
    53
    Resources:
    0
    Resources:
    0
    How could I make it so when a player walks through a region all current players are sent to a new map and their heroes are loaded
     
  3. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,608
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    Impossible. You cannot automatically start another map unless it is in a campaign.
     
  4. Recklessness

    Recklessness

    Joined:
    Aug 17, 2014
    Messages:
    53
    Resources:
    0
    Resources:
    0
    I'm trying to make an RPG essentially that has instances for dungeons or large cities if I make the map a campaign would it not work this way?
     
  5. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,608
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
  6. Recklessness

    Recklessness

    Joined:
    Aug 17, 2014
    Messages:
    53
    Resources:
    0
    Resources:
    0
    And this could work in a multiplayer map?
     
  7. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,608
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    No. Game Caches only work in campaigns and campaigns are single player.
     
  8. TriggerHappy

    TriggerHappy

    Code Moderator

    Joined:
    Jun 23, 2007
    Messages:
    3,659
    Resources:
    22
    Spells:
    11
    Tutorials:
    2
    JASS:
    9
    Resources:
    22
    Your only option at the moment for multiplayer is to make your map large enough to contain all the instances you want to create. Then, you can create a region surrounding the entire area and change the player's camera bounds.
     
  9. Recklessness

    Recklessness

    Joined:
    Aug 17, 2014
    Messages:
    53
    Resources:
    0
    Resources:
    0
    I'll be trying that out the only real issue I've begun to realize is the 480x480 space is not enough for me lol, but I might just scale everything down.
     
  10. iuryharoon

    iuryharoon

    Joined:
    Dec 12, 2012
    Messages:
    7
    Resources:
    0
    Resources:
    0
  11. Clanzion

    Clanzion

    Joined:
    Jul 4, 2016
    Messages:
    384
    Resources:
    0
    Resources:
    0
     
  12. iuryharoon

    iuryharoon

    Joined:
    Dec 12, 2012
    Messages:
    7
    Resources:
    0
    Resources:
    0
    I saw this post but it did not work ...

    I know it's asking too much ... does anyone have a map that has them both working?

    TriggerHappy

    I have a problem creating the character in SAVE / LOAD and the Equipment TOGETHER ... if anyone can help?
     
    Last edited by a moderator: Mar 25, 2019
  13. ToggleModGoat

    ToggleModGoat

    Joined:
    Jan 19, 2019
    Messages:
    10
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Someone probably asked this, but does it work without allowing local files or do any player who wants to save, need to enable that?
     
  14. TriggerHappy

    TriggerHappy

    Code Moderator

    Joined:
    Jun 23, 2007
    Messages:
    3,659
    Resources:
    22
    Spells:
    11
    Tutorials:
    2
    JASS:
    9
    Resources:
    22
    It works without enabling anything as of patch 1.30.
     
  15. ToggleModGoat

    ToggleModGoat

    Joined:
    Jan 19, 2019
    Messages:
    10
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Amazing.

    But it looks too complicated for me tho. I only need to save Tech-Type for my map, so im trying around with stuff :confused:
     
  16. iuryharoon

    iuryharoon

    Joined:
    Dec 12, 2012
    Messages:
    7
    Resources:
    0
    Resources:
    0
  17. Azoth

    Azoth

    Joined:
    Sep 10, 2013
    Messages:
    19
    Resources:
    0
    Resources:
    0
    Something doesn't work right with the GUI -save/-load system.

    If you save your progress (type: "-save") for the first time, for example a Hero lvl 5, quit the game, restart it and type "-load", the lvl 5 Hero will be loaded. Until here everything is fine. But ...
    ... if you save him again (for example with lvl 7) and load him again, you will get your past saved game with an Hero of lvl 5.
     
  18. ZiGOR

    ZiGOR

    Joined:
    Mar 17, 2012
    Messages:
    569
    Resources:
    2
    Maps:
    2
    Resources:
    2
    Hello. I've never done saving before. How can I save the Integer variable for every player in the game and load it next game using this system? :)
     
  19. Uncle

    Uncle

    Joined:
    Aug 10, 2018
    Messages:
    375
    Resources:
    0
    Resources:
    0
    Is there a limitation to how much you can save? I'm having issues with my map, I have a Diablo style item system that needs to store a lot of different variables to an item.

    • Save Items
      • Events
      • Conditions
      • Actions
        • Set SaveTempUnit = Player1StashIndex[1]
        • 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 SaveTempUnit in slot (Integer A)) Not equal to No item
              • Then - Actions
                • Set TempItem = (Item carried by SaveTempUnit in slot (Integer A))
                • Set TempInteger = (Custom value of TempItem)
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemMod1[TempInteger]
                • Set SaveMaxValue[SaveCount] = 50
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemMod2[TempInteger]
                • Set SaveMaxValue[SaveCount] = 50
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveMaxValue[SaveCount] = 50
                • Set SaveValue[SaveCount] = ItemMod3[TempInteger]
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemRoll1[TempInteger]
                • Set SaveMaxValue[SaveCount] = 100
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemRoll2[TempInteger]
                • Set SaveMaxValue[SaveCount] = 100
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemRoll3[TempInteger]
                • Set SaveMaxValue[SaveCount] = 100
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemTier1[TempInteger]
                • Set SaveMaxValue[SaveCount] = 10
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemTier2[TempInteger]
                • Set SaveMaxValue[SaveCount] = 10
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemTier3[TempInteger]
                • Set SaveMaxValue[SaveCount] = 10
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemBase[TempInteger]
                • Set SaveMaxValue[SaveCount] = 25
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemType[TempInteger]
                • Set SaveMaxValue[SaveCount] = 25
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemRarity[TempInteger]
                • Set SaveMaxValue[SaveCount] = 5
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemLevel[TempInteger]
                • Set SaveMaxValue[SaveCount] = 100
                • -------- - --------
                • Set SaveCount = (SaveCount + 1)
                • Set SaveValue[SaveCount] = ItemGoldValue[TempInteger]
                • Set SaveMaxValue[SaveCount] = 999
              • Else - Actions


    • Load Items
      • Events
      • Conditions
      • Actions
        • Set TurnOffLoop = False
        • 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
                • TurnOffLoop Equal to False
              • Then - Actions
                • Set SaveCount = (SaveCount + 1)
                • Set SaveMaxValue[SaveCount] = 999
                • Custom script: call SaveHelper.GUILoadNext()
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • SaveValue[SaveCount] Not equal to 0
                  • Then - Actions
                    • Game - Display to (All players) for 5.00 seconds the text: (Load Item + (String((Integer A))))
                    • Item - Create Dummy Item at (Center of (Playable map area))
                    • Set AIndexItemCount = (AIndexItemCount + 1)
                    • Set IndexItem[AIndexItemCount] = (Last created item)
                    • Item - Set the custom value of (Last created item) to AIndexItemCount
                    • Set TempInteger = AIndexItemCount
                    • -------- - --------
                    • Set ItemGoldValue[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 100
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemLevel[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 5
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemRarity[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 25
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemType[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 25
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemBase[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 10
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemTier3[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 10
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemTier2[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 10
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemTier1[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 100
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemRoll3[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 100
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemRoll2[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 100
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemRoll1[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 50
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemMod3[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 50
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemMod2[TempInteger] = SaveValue[SaveCount]
                    • -------- - --------
                    • Set SaveCount = (SaveCount + 1)
                    • Set SaveMaxValue[SaveCount] = 50
                    • Custom script: call SaveHelper.GUILoadNext()
                    • Set ItemMod1[TempInteger] = SaveValue[SaveCount]
                  • Else - Actions
                    • Set TurnOffLoop = True
                    • Set SaveCount = (SaveCount - 1)
              • Else - Actions

    I can only Save and Load up to 4 items before this stops working. If there is no limit to how much I can save then what am I doing wrong?
     
    Last edited: May 17, 2019
  20. TriggerHappy

    TriggerHappy

    Code Moderator

    Joined:
    Jun 23, 2007
    Messages:
    3,659
    Resources:
    22
    Spells:
    11
    Tutorials:
    2
    JASS:
    9
    Resources:
    22
    Updated, 3.0.0.
    • Patch 1.31 support.
    • Removed Sync and SyncInteger libraries and replaced them with the new sync natives introduced in Patch 1.31.
    • Updated FileIO to v1.1.0.
    • Added SavePlayerLoading variable to the initialization trigger to prevent an unknown variable error when copying to a new map.