Hi everyone,
Update: The example code given for Augoeides has been patched and is no longer working. The rest of the tutorial is still applicable to other servers, though.
Update 2: it appears many private servers are using glitchy/erroneous code, or are implementing security features, that sometimes makes creating the loader code much more of a challenge. Some private servers are still worth trying but sadly it is a case of "don't get your hopes up". Still feel free to contact me if you need any help.
So this has been requested so many times in the past, and I've helped people with it individually - but never made a public tutorial about it.
It's a very simple process if you have any coding experience, but please respect learners/beginners who have no idea where to start.
If you only care about making an AQWORLDS trainer, click here.
Introduction
In any Flash trainer we externally load the game's SWF. We do this with the "Loader Code".
Let's look at the loader code:
As you can see, just scanning over the code, there are a few main steps:
- Requesting for the latest game version - GetVersion()
- Receiving and reading the latest game version - onVersionComplete()
- Using the game version, requesting to load the game - LoadGame()
- Receiving the loaded game - onGameComplete();
For now, we can ignore the functions onGameProgress(), which is just a fancy but unnecessary function for tracking how much of the game has loaded.
We can also ignore the function SendPacket(), which is used for hacking the game later on.
Anyway, cutting to what you really want to know. The load for a private server is the exact same process as above, with possibly a few hiccups.
All we need to do fundamentally, is change the links that the 'loader code' actually loads.
This concerns the variables sURL1 and sURL2 in the code, and a few other parts where there is clearly a URL being loaded.
Looking at the code for AQWorlds, we end up with this:
Version Link: https://game.aqworlds.com/game/gameversion.asp
*Game Link: https://aqworldscdn.aq.com/game/game...e_20160429.swf
*Note that the string of numbers at the end will change, because it is what has been loaded from the version link - the game's version.
Finding these links, for private servers
- Open Google Chrome (or another browser with the same functionality)
- Go to the private server you want to create a bot for, to where you would normally log-in.
- At the top of your screen, go to View>Developer>Developer Tools.
- If you struggle with the step above, alternatively, you can right click anywhere on the page and click "Inspect".
- Once you have the Developer window open, make sure you have the "Network" tab selected.
- Go back to the window of the game, and refresh the page, still keeping the Developer window open.
- You should start to see sources for the page load appear under the Network tab that you've selected.
- Amongst all of these links, look for links similar to the ones used for AQWorlds above (a link ending in gameversion.asp, and an SWF link ending in a string of numbers - a date)
- Save these on a notepad somewhere
Using The Links
Okay so as an example, I'm going to be using the private server Augoeides/HiddenProject.
After following the steps above, I have these two links:
Version Link: https://www.augoeides.org/gameversion.asp
Game Link: https://www.augoeides.org/gamefiles/....16-HP.Rr9.swf
Now, it's way too confusing to explain this process. So here's the loader code for HiddenProject, along with annotations to explain what I've done.
Okay so I hope the annotations on the code are enough to help you understand. This is an extremely hard tutorial to make, and in hindsight, I probably should have made a video - but oh well.
Please note that the extra line (Game.params.strCode = "lol") is only necessary for Augoeides/HiddenProject and not any other private server.
What to do from here?
Follow the tutorial linked below. Because you're hacking a private server, 99% of the time the code for AQWorlds is identical. Don't worry, that tutorial is much nicer.
Full AQWorlds Trainer Tutorial: https://www.mpgh.net/forum/showthread.php?t=891807
Phew, thank god that's over.
Oliboli8769
@emoric28 thanks for the suggestion. Keep them coming!!
Last edited by Dab; 01-23-2018 at 01:52 PM. Reason: Requested.
Thanks for your hard work once again, honestly.
/Stuck.
Last edited by Hunter; 05-22-2016 at 10:51 AM.
Oliboli8769 (05-19-2016)
Last edited by Hunter; 05-22-2016 at 10:52 AM.
Oliboli8769 (05-19-2016)
Thank you very much! I can finally kill some time with this
Oliboli8769 (05-19-2016)
Oliboli8769 (05-21-2016)
DocPrimo (05-29-2020)
The game doesnt load when i put in the code any help?
Well it says that a semicolon and rightbrace is missing
here is a SS: prntscr.com/b7wc1l
MPGH has censored some of the code.
It says in the code:
The stars are because of MPGH's censor, mistaking it for advertising etc.Code:Game.world****otClass.sfc.sendXtMessage(var1, var2, args, "str", room);
To fix this, just change this line to
EnjoyCode:Game.sfc.sendXtMessage(var1, var2, args, "str", room);
Hunter (05-25-2016)
Thx
Is there a code i can put in the "Hacks" layer that allows me to have more quests? Example: 31, 32, 33?
I could do it on Hyperderp and its can be pretty handy sometimes.
What do you mean by "more quests"?
Please follow the full tutorial here, the quest load function will do what I think you're asking for: https://www.mpgh.net/forum/showthread.php?t=891807
How do i convert it to an .exe file? I have no experience in these stuffs sorry....
There's lots of applications that do it. Try SWFKit, Flajector, FFDec etc.
I use FFDec because I find it quick.
- - - Updated - - -
@Hunter please could you add a note to the top of this thread? The Augoeides loader is outdated because of the patch, so just a note something like:
"The example code given for Augoeides has been patched and is no longer working. The rest of the tutorial is still applicable to other servers, though."