[JASS] Preload Exploit system in Reforged

Level 15
Joined
Aug 16, 2019
Messages
199
I'm developing a co-op adaptation of SC2 for Warcraft 3 and have a question.

I know that for multiplayer games, it’s possible to implement saving and loading data through the Preload Exploit. It would be useful for me to transfer player experience data between missions—for example, how many games have been played and with which character. It might also be interesting to implement an experience system (but without persistent progression, like in SC2).

Everything should happen automatically, from saving to loading (without requiring a special load code). Theoretically, the data should be used across different maps. Are there any guides or resources for working with the Preload Exploit? What functions are used for writing and reading? What method is used to protect the data from being hacked? Are there any ready-made systems in this area?

Does this system Maxou Save & Load partially meet my needs?

And is this exploit available in the current Reforged patch?
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,866
First line of the disclaimer says that it's not automated. But perhaps you can modify it to be automated:
Disclaimer

  • This system is low level, it focuses only on saving into a code, and reading a code, if you want to write file to disk, you'll have to look around for the preload native.
  • Saving your hero (or item) will require you to store their types into an array and save your hero (or item) index into that array (example included).
  • Anything you want to save HAS to be turned into an integer, if you're trying to save floating numbers, define a precision and multiply as needed to achieve an integer representation.
  • Warning : it can not save negative values.
Or just use TriggerHappy's system, I attached a modified version that Autosaves/Autoloads and removes a lot of the "fluff".

I can't promise that either of these systems will work 100% of the time, I've never used Maxou's and people have had issues in the past with TriggerHappy's. My demo map seems to work fine though.
 

Attachments

  • SaveLoad Group Of Heroes.w3x
    155.3 KB · Views: 11
Last edited:
Hey, the main reason I created the save system is due to pipedream system (the lowlevel computation used by triggerhappy's system to generate the code) having lots of issues afaik, especially on the corrupting saves side.

So far I've been using my system in my own orpg and after switching from TH's to mine, I no longer received reports of saves being corrupted/invalid for apprently no reasons.

Agreed it could use a lot of QOL and some refactoring to make it seamless, some options as well, and the ability to save negative values (with the use of wrapper functions for better UX), that's some work I'd be willing to commit to as soon as I get a decent chunk of time.

It's a very rough system that was made mainly for switching away from pipedream savegen, I can't tell it doesn't have issues, but so far I haven't had any regarding the generated codes.

Depending on your own usage, you could probably edit TH's to use my codegen instead of pipedream, and have it work mostly the same way to avoid said issues (glad I was not the one having them, it really seems like pipedream has some issues in the end, probably due to its arithmetics operations with floating points as far as I remember looking ?)
 
Top