Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
(12 ratings)
Approved
Currently looking into this. Looks like this is a known bug on the blizzard forums with Preloaded filesHello guys, is there a solution to the problem that the list of characters to load does not update during the game.
Example: When I save my level 5 hero in slot 2 and he goes up to level 6 or higher and saves in slot 2 again and uses a hero pick up system he returns to the level of the first time I saved in slot 5 and not level 10, but if I create the map again and load space 2 it returns to level 10.
us.forums.blizzard.com
I don't think so, because that bug was solved in the 1.35 versionCurrently looking into this. Looks like this is a known bug on the blizzard forums with Preloaded files
![]()
BUG: Preload files are being cache’d
Among other things, yes. Just a few files being cached this way has serious consequences for a lot of things. Think about everything from AI breaking in some specific circumstances, to user preferences not saving instantly in W3Champions, even LegionTD scores being buggy and some more, all of...us.forums.blizzard.com
We will need more information, such as how you are saving and loading the data. I am not sure you are aware that you have to load data in the reverse order that you saved the data in.A bit of a random post from me, however I would very much like if this system was operational.
I've tried numerous of times to make this work but to no avail.
- I've set the Aerial Shackle to 2 and it's thing to ''!'' but that didn't affect it one bit.
- I'm simply trying to store Integer data, such as: Wins / Losses, MMR, win rate and basic stuff like that.
Has anyone had success with the mentioned things above?
We will need more information, such as how you are saving and loading the data. I am not sure you are aware that you have to load data in the reverse order that you saved the data in.
Apparently not in this case. If you test out the save/load feature in the example map it can write/save the contents multiple times, but only loads what what was first initially read by the Preloader no matter how many times you write to the files.I don't think so, because that bug was solved in the 1.35 version
One question is how do I disable it for a moment so that the hero doesn't save in the same slot?Found a fix!
Using backup files we can save our current character on these backup files along with the main file. Then by storing the current number of the backup per slot in udg_NumberOfSaves[playerNumber*12+slot] we can load our character's progress without restarting the map by loading the most recent backup file. Each time the map is re-loaded udg_NumberOfSaves is reset, however since we still save our character to the mainfile the game still knows what our current character's progress is. The backup files are then overwritten from the last game as new saves are made in the current one.
TL: DR;
Save, Load, and Delete via the GUI dialog now all work correctly, regardless of caching.
See changes in
- SampleDialogSystem,
- SaveHelperLib,
- SaveFile
One question is how do I disable it for a moment so that the hero doesn't save in the same slot?
Example: My game has the -repick command that allows you to choose another hero, but even the new hero saves in the old one's slot.
Another question is what command saves the hero in a slot of my choice.
Example: I don't want to give the player the choice of saving the same hero in a different slot, as already happens, but it only causes problems when the player tries to change heroes and play with another with the -Repick command.
Man, it was really good!So I had a similar challenge with my map. The specifics of your repick system will depend on how you've implemented it. But I made a version of the save and load map with a button to create a new character. Look at the code for this button and implement a call to your repick code there.

Can you tell me how you solved it? I have the same issue. It says I have to enable local files, but I have it enabled in the Registry Editor.i have figured it out

Download the version that DarkePacific posted above.Can you tell me how you solved it? I have the same issue. It says I have to enable local files, but I have it enabled in the Registry Editor.![]()
Sadly it doesn't seem to be any diffrent. I still have the issue where it says that I need to enable local files. :/Download the version that DarkePacific posted above.
How big are the variables being saved? The maximum value I noticed is 99,999; greater than that, it will work at some point.After some test I made lately, it seems that the created code has a limit because if is long enough it won't load properly.
In my case I didn't do that, what I did is saving an string using the same logic, I saved each character by converting it to its ASCII value because the system only works with integers.How big are the variables being saved? The maximum value I noticed is 99,999; greater than that, it will work at some point.
I noticed you changed a lot of the libraries since I used it back when his PlayerUtils was version 1.28. Now you have it as 1.29 and apparently saving in a much different method. So does this mean it is now more multiplayer compatible? TriggerHappy told me a couple years ago I shouldn't use this (I didn't listen, I'm still using it because I have other causes for desyncs in my map already). Curious if changing to your version will help with that, though.Someone asked for the New Character button to be moved to the bottom, and another person asked for the items to be loaded in the exact order they were saved. Here's a version where these changes have been made.
I believe it can help you, I use this version of DarkePacific and it is doing well in multiplayer.I noticed you changed a lot of the libraries since I used it back when his PlayerUtils was version 1.28. Now you have it as 1.29 and apparently saving in a much different method. So does this mean it is now more multiplayer compatible? TriggerHappy told me a couple years ago I shouldn't use this (I didn't listen, I'm still using it because I have other causes for desyncs in my map already). Curious if changing to your version will help with that, though.
Got the updates working. Finally found that I hadn't been saving the unit as SavePlayerHero when it's picked. I fixed it by declaring it when the hero is chosen. Can't remember why I didn't need that using the previous version of this.I believe it can help you, I use this version of DarkePacific and it is doing well in multiplayer.
And also, how can you disable the dialog system for a player once he loads once or lets say, twice?
This specific encoder uses W3 natives, so the answer is no, you will need another encoder that is portable for that.Hello
Are there any ports that allow someone to decode the save file outside of the game? I want to allow players to submit their save data to an online leaderboard but will need a script to decode their save code. I figure not but would be a boon if this was possible.
Thanks
Hey Ouro, yep - currently running with only a few issues (can't delete character slot via menu).Guys did some one used this system on Reforged? while saving on reforged, lots of errors.
On Reforged, do you have vJASS and JassHelper enabled?Guys did some one used this system on Reforged? while saving on reforged, lots of errors.
I belive it is due to map saved through original world editor (reforged). Before i used Jass New Gen Pack.
Did some one tried to use JNGP for Reforged?
Set VariableSet SaveItemTypeMax = 999
-------- Note: Changing max values can cause a code wipe --------
The maximum value I noticed is 99,999
A JASS integer can hold values from –2,147,483,648 up to 2,147,483,647 (signed 32-bit).Hi! I've got a question about the system limitations.
What is the maximum value of the stored integer? How many integers can be stored at all?
The tutorial says:
but on the other hand, Productor have mentioned
Set VariableSet SaveItemTypeMax = 999
-------- Note: Changing max values can cause a code wipe --------
Thanks! So, one variable with 99999 max value is not a reason why it becomes a mess in multiplayer.A JASS integer can hold values from –2,147,483,648 up to 2,147,483,647 (signed 32-bit).
In practice, though, we usually cap at safer ranges because of encoding/decoding and code-length issues. That’s why you’ll see people recommend something like 99,999 as a practical ceiling. Anything bigger explodes the length of your savecode string.
That SaveItemTypeMax = 999 line is not a hard engine limit, it’s just the maximum index your particular system is configured to use.
If you raise it, you can technically store thousands of integers, but you’ll pay for it in code length and stability.
So the short answer is:
- Max single integer: you can safely go up to ~99,999, though the absolute engine max is 2.1 billion.
- Max integers stored: depends on how long you want your savecodes to be. Most systems keep it under ~1,000 entries to avoid bloated codes.
This codeless system is pretty much abandoned.Help me please I am trying to do the simplest thing using this system but I don't know how to do it. I just want a player that finishes my map to be able to play a character next game that is normally locked. So when the user plays again, he can just enter a code, then he will be able to select that character if he wishes (no saving items/stats/units or anything like that, just the player entering a code and a boolean turning true I guess). How do I do that using this (very complicated for me since I am not used to coding) system?. Can someone explain to me which triggers/functions do I have to keep from this system and which can I delete, then guide me on how to do the rest? This should be as simple as turning a boolean to true but for me its not that simple.
Thanks a lot! I will try implementing this into my map and give credit!This codeless system is pretty much abandoned.
I attached a save/load system you can use that's designed for GUI users. Note that I haven't tested it enough to confirm that it's bug free, perhaps you can test it out for me. The map has two examples and a ton of notes explaining how to use it. It's a modified version of this other system, so credit where credit is due: Maxou Save Load
Unfortunately it either dosen't work for me or I am missing something. I copied everything into my map but the message differs. I attached the message it shows on my map(With tooltip missing and without the preload message) compared to the message it shows on the original map. Also when I tried it online it didn't work showing a message like: "player name sync 1/2" and it kept spamming this message. And at the end, a last message appeared that the files could not be loaded or something like that.This codeless system is pretty much abandoned.
I attached a save/load system that you can use that's designed for GUI users. Note that I haven't tested it enough to confirm that it's bug free, perhaps you can test it out for me. The map has two examples and a ton of notes explaining how to use it. It's a modified version of this other system, so credit where credit is due: Maxou Save Load
Unfortunately it either dosen't work for me or I am missing something. I copied everything into my map but the message differs. I attached the message it shows on my map(With tooltip missing and without the preload message) compared to the message it shows on the original map. Also when I tried it online it didn't work showing a message like: "player name sync 1/2" and it kept spamming this message. And at the end, a last message appeared that the files could not be loaded or something like that.
Looks like you forgot to import the save abilities. They're in the Object Editor. Make sure you use the same Rawcode pattern I used, or if you use your own Rawcodes, because those are taken, then ensure that you follow the same +1-per-ability pattern and inform the system of these changes in the system script.Unfortunately it either dosen't work for me or I am missing something. I copied everything into my map but the message differs. I attached the message it shows on my map(With tooltip missing and without the preload message) compared to the message it shows on the original map. Also when I tried it online it didn't work showing a message like: "player name sync 1/2" and it kept spamming this message. And at the end, a last message appeared that the files could not be loaded or something like that.
Those abilities are how you can save data to the local Preload file and achieve a codeless setup.@Uncle is there a reason you added these abilities ? afaik the FileIO from TH is storing the current string, loading up the payload into it and replacing it with the original content all at once, I don't think you need these abilities in the end
Not all abilities work, so I went with a guaranteed design by utilizing copies of an ability that I knew worked. It's definitely a bit more annoying to setup, but you could just copy and paste one of the abilities into your map, and then copy that copy and follow the pattern yourself. That way you don't have to jump between two maps, ten times.Yeah I know that, but using base game abilities is easier isn't it ? I'm using those for the updated codeless version of my system, creating custom abilities with custom rawcodes -- except to make life easier looping from Z000 to Z0XX -- is just an unnecessary overhead, unless I'm missing something but so far it seems to be working.
Aerial Shackles works, that's what this system uses as the first ability. I have a big list of working abilities somewhere, at one point I had a setup that could use 400+ of them which I was using for a different save/load system.No it wouldn't as it stores the initial state, loads the preloads, and restore the ability to its initial state -- if there's any I don't think I've encountered them so far, I've been extending the setup to 55 abilities, tho' for safety : which ability are you certain works ? I'll copy/paste that one to make sure it works without any lurking bug.
Looks like you forgot to import the save abilities. They're in the Object Editor. Make sure you use the same Rawcode pattern I used, or if you use your own Rawcodes, because those are taken, then ensure that you follow the same +1-per-ability pattern and inform the system of these changes in the system script
Those abilities are how you can save data to the local Preload file and achieve a codeless setup.
You can't directly read/write just any old string from a Preload file, these files are meant to be used to call official Blizzard API (it would be a huge security risk otherwise). So we instead read/write to unused Ability Tooltips by exploiting the BlzGetAbilityTooltip() function. It's very hacky but it allows you to read/write whatever text you wa
This is it, I haven't copied those abilities in the object editor. I had no idea they existed. Will report back once I get to test it again.Looks like you forgot to import the save abilities. They're in the Object Editor. Make sure you use the same Rawcode pattern I used, or if you use your own Rawcodes, because those are taken, then ensure that you follow the same +1-per-ability pattern and inform the system of these changes in the system script.
Sorry, I forgot to mention that, as well as the configurable section of the "SaveLoad" map script where you can define some important settings.This is it, I haven't copied those abilities in the object editor. I had no idea they existed. Will report back once I get to test it again.



