@DragonLord i am fairly new to the sites and would love to start trying to make standalones any suggestion or help would be great
I would if i could. I have no clue where to find these codes in the swf. What am i supposed to use to find it?
@DragonLord i am fairly new to the sites and would love to start trying to make standalones any suggestion or help would be great
I dont understand can i even make a standalone on a mac
Here is Enemy/Player Display hp. The format is a little different because I made this for the program I'm working on. You guys should be able to figure out what goes where.
hpDisplay.xml
hpDisplay_1.txtCode:<?xml version="1.0" encoding="UTF-8"?> <rotmg version="1.0"> <mod id="Enemy/Player Display HP"> <code file2mod="com/company/assembleegameclient/objects/GameObject.class.asasm" line="5283"> hpDisplay_1.txt </code> <code file2mod="com/company/assembleegameclient/objects/GameObject.class.asasm" line="5290"> hpDisplay_2.txt </code> <code file2mod="com/company/assembleegameclient/objects/GameObject.class.asasm" line="5299"> hpDisplay_3.txt </code> <code file2mod="com/company/assembleegameclient/objects/GameObject.class.asasm" line="5311"> hpDisplay_4.txt </code> <code file2mod="com/company/assembleegameclient/net/_-03v.class.asasm" line="8131"> hpDisplay_5.txt </code> </mod> </rotmg>
hpDisplay_2.txtCode:getlocal0 getlex QName(PackageNamespace(""), "_-d7") getlocal2 subtract dup setlocal 13 convert_d getlex QName(PackageNamespace(""), "_-Kj") convert_d divide callproperty QName(PackageNamespace(""), "g2r_color"), 1 setlocal 14
hpDisplay_3.txtCode:pop getlocal 13
hpDisplay_4.txtCode:pop getlocal 14
hpDisplay_5.txtCode:trait method QName(PackageNamespace(""), "g2r_color") method refid "com.company.assembleegameclient.objects:GameObject/g2r_color" param QName(PackageNamespace(""), "Number") returns QName(PackageNamespace(""), "int") body maxstack 7 localcount 2 initscopedepth 1 maxscopedepth 1 code getlocal1 pushdouble .5 ifgt OVER_50 pushint 16776960 ; yellow pushint 1280 findpropstrict QName(PackageNamespace(""), "int") pushbyte 50 getlocal1 pushbyte 100 multiply subtract callproperty QName(PackageNamespace(""), "int"), 1 multiply subtract returnvalue OVER_50: pushint 65280 ; green pushint 327680 findpropstrict QName(PackageNamespace(""), "int") pushbyte 100 getlocal1 pushbyte 100 multiply subtract callproperty QName(PackageNamespace(""), "int"), 1 multiply add returnvalue end ; code end ; body end ; method end ; trait
The .xml file (code for hpDisplay.xml here) says where to place everything. file2mod is the file to modify and line is a line number reference of where to place the code in file2mod (in an unmodified state). The .txt file reference is where to find the code to insert. Place code in the .txt below the instruction found on reference line number.Code:getlocal1 getproperty QName(PackageNamespace(""), "color_") pushint 65280 ifne NOT_HP getlocal1 getproperty QName(PackageNamespace(""), "text_") pushbyte 0 pushbyte 1 callproperty QName(Namespace("http://adobe.com/AS3/2006/builtin"), "slice"), 2 pushstring "+" ifne NOT_HP findpropstrict QName(PackageNamespace(""), "int") getlocal1 getproperty QName(PackageNamespace(""), "text_") callproperty QName(PackageNamespace(""), "int"), 1 getlocal2 getproperty QName(PackageNamespace(""), "_-d7") add dup getlocal1 swap pushstring " [" add getlocal1 getproperty QName(PackageNamespace(""), "text_") add pushstring "]" add setproperty QName(PackageNamespace(""), "text_") getlocal2 swap getlocal2 getproperty QName(PackageNamespace(""), "_-Kj") convert_d divide callproperty QName(PackageNamespace(""), "g2r_color"), 1 getlocal1 swap setproperty QName(PackageNamespace(""), "color_") NOT_HP:
Last edited by nilly; 10-05-2012 at 01:28 AM.

15
Unfortunately not, i have spent alot of time searching, and the only thing close to any of this is Flasm, only problem here is that it only works on AS2 not AS3, so unless you have a spare Windows PC or use a virtual machine with Windows installed, and or partition your hard drive.....
Im sure there must be a way, I just haven't found one yet sorry :/
i use these codes and http://www.mpgh.net/forum/599-realm-...-messages.html
http://www.mpgh.net/forum/599-realm-...odes-here.html
topics to make my own client, all your info is there, download yogda and rabcdasm
and i just use the outdated codes thread for rabcdasm console commands
opening swf
swfdecompress client.swf
abcexport client.swf
rabcdasm client-1.abc
and closing swf
back to terminal
rabcasm client-1\client-1.main.asasm
abcreplace client.swf 1 client-1\client-1.main.abc
and both those programs use to tear apart your swf can be found http://www.mpgh.net/forum/599-realm-...ful-tools.html
Last edited by Dragonlord3344; 10-05-2012 at 04:05 AM.
how did you get xp fame and stats?, all i see is there hp and mp stats

68
@nilly , the Program's Coming Out Nice... Using Java??
To those who are wondering what it is, It's a Hack Applicator..
Steps:
1.Decompiles swf
2.Gets the hack from the text files and location from xml
3.Applies Hack
4.Recompiles the swf
-------------------------------------------------------------
Maybe Use a different extension with zip archiving to store the hacks, like Microsoft did with .themepack files?
-------------------------------------------------------------
Ya, it works pretty well. Basically this thing addresses the need to be able to easily tailor a client to one's liking by allowing her to easily add and remove hacks (including new hacks) as she sees fit. I got all the internal processes working. Going to work on the gui after I finished updating some hacks.
Oh, it does support looking in .zip files for .xml and associated files. It is pretty flexible allowing one to organize their hacks in a wide variety of ways.
Oh, and ya I'm using java for this. I'm thinking about coding the gui in actionscript while keeping all the internal processes java. I'm not sure how that will work out but I figured it would be a good learning experience.
Last edited by nilly; 10-05-2012 at 07:23 AM.

68
@nilly consider autoupdating method names by making the program to search the files for constants that the hack-maker specifies should be in the class, whatever the method name...
Ya I thought about that. Some rudimentary pattern searching could be implemented although I'm not sure how effective it can be. In any case that is a problem I'll save for another day.If I go in that direction, I would like to tackle spam before working on name updating.
I plan on releasing the source when I release to program so adding any needed features doesn't have to depend on me.