Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 56
  1. #31
    raikoug's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    86
    Reputation
    10
    Thanks
    203
    My Mood
    Happy
    tried, If i decompile it, and recompile without changing anything, it works (It should be crazy, just becouse I made it with rabcdasm, so I had to recompile it!).

  2. #32
    nilly's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Posts
    2,652
    Reputation
    155
    Thanks
    13,983
    My Mood
    Angelic
    Ok I was able to recreate the problem you guys were having with hacked clients. The problem was as JustAnoobROTMG indicated. I'm still not sure how multinames are supposed to be coded so when I needed them, I took them from other parts of the code that did functionally the same thing as what I wanted to do. I guess problems can and do come up when doing so.

    Anyways, I changed the word Projectile to Player in the multiname references that were complained about. It seemed to have worked.

    Here is the function code again with the fixes.

    Code:
       trait method QName(PackageNamespace(""), "use_potion")
      method
       refid "com.company.assembleegameclient.objects:Player/use_potion"
       param QName(PackageNamespace(""), "String")
       returns QName(PackageNamespace(""), "int")
       body
        maxstack 8
        localcount 10
        initscopedepth 8
        maxscopedepth 8
        code
    	
    	; --- TEMP for checking for Quiet status effect ---
    	pushstring		"Magic"
    	getlocal1
    	ifne			SEARCH_4_POTION
    	
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-86") ; holds current magic points
    	pushbyte		0
    	ifne			SEARCH_4_POTION ; current magic points is 0, likely because of quite so don't do anything
    	
    	findpropstrict QName(PackageNamespace(""), "trace")
    	pushstring "Quiet probably active"
    	callpropvoid QName(PackageNamespace(""), "trace"), 1
    	
    	pushint			-1
    	returnvalue
    	; -------------------------------------------------
    
    SEARCH_4_POTION:	
    	pushbyte		4
    	setlocal		2 ; index
    
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "player_")
    	getproperty		QName(PackageNamespace(""), "inventory")
    	getproperty		QName(PackageNamespace(""), "slots_")
    	coerce_a
    	setlocal		3 ; slot array
    	
    	jump CHECK_INV
    	
    CHECK_INV_LOOP:	
    	label
    	getlocal		3
    	getlocal		2
    	nextvalue
    	coerce			QName(PackageNamespace("com.company.assembleegameclient.ui"), "_-E6")
    	dup
    	setlocal		4 ; holds slot item
    	
    	getproperty		QName(PackageNamespace(""), "objectType_")
    	dup
    	setlocal		5 ; holds item type
    	pushint			-1
    	ifeq			CHECK_INV ; goto next slot, no itme exist in current slot
    	
    	getlex			QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
    	getproperty		QName(PackageNamespace(""), "_-QF")
    	getlocal		5
    	getproperty		MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-09j"), StaticProtectedNs("_-09j"), StaticProtectedNs("_-0-I")])
    	dup
    	setlocal		6 ; holds item xml data
    	
    	pushstring		"Potion"
        callproperty	Multiname("hasOwnProperty", [PrivateNamespace("*", "com.company.assembleegameclient.objects:_-Od/iinit#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:_-Od/iinit#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-V"), StaticProtectedNs("_-V")]), 1
    	pushfalse
    	ifeq			CHECK_INV ; goto next slot if item isn't a potion
    	
    	;----- start inner loop to check potion for heal/magic activation -----
    	pushbyte		0
    	setlocal		7 ; index for inner loop
    
    	getlocal		6
    	getproperty		Multiname("Activate", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    	coerce_a
    	setlocal		8 ; holds activate array
    	
    	jump			CHECK_POT
    
    CHECK_POT_LOOP:
    	label
    	getlocal		8
    	getlocal		7
    	nextvalue
    	coerce			QName(PackageNamespace(""), "XML")
    	dup
    	setlocal		9 ; holds activate line
    	
    	callproperty	Multiname("toString", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")]), 0
    	getlocal1
    	ifne			CHECK_POT ; jump to next attribute if desired attribute not found
    	
    	findpropstrict QName(PackageNamespace(""), "trace")
    	pushstring "Using "
    	getlocal1
    	add
    	pushstring " Pot"
    	add
    	callpropvoid QName(PackageNamespace(""), "trace"), 1
    	
    	getlocal		4
    	callpropvoid	QName(PackageNamespace(""), "attemptUse"), 0 ; use potion
    	kill			8
    	kill			7
    	kill			3
    	kill			2
    	
    	getlocal		9
    	getproperty		MultinameA("amount", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    		; ^^ sends back amount of health/magic gained
    	jump			DONE
    	  
    CHECK_POT:
    	hasnext2		8, 7
    	iftrue			CHECK_POT_LOOP
    	kill			8
    	kill			7
    	;----------------------------------------------------------------------
    	
    CHECK_INV:
    	hasnext2		3, 2
    	iftrue			CHECK_INV_LOOP
    	kill			3
    	kill			2
    	pushint			-1 ; no suitable potion found
    	
    DONE:
    	returnvalue
        end ; code
       end ; body
      end ; method
     end ; trait
      
     trait method QName(PackageNamespace(""), "use_special")
      method
       refid "com.company.assembleegameclient.objects:Player/use_special"
       returns QName(PackageNamespace(""), "int")
       body
        maxstack 8
        localcount 10
        initscopedepth 8
        maxscopedepth 8
        code
    	
    	;--- get player's special stats ---
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-zq")
    	pushbyte		1
    	getproperty		MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-09j"), StaticProtectedNs("_-09j"), StaticProtectedNs("_-0-I")])
    	dup
    	setlocal		1 ; holds special objectType
    	pushint			-1
    	ifne			CHECK_MAGIC ; end if no special equiped
    	
    	pushint			1 ; means no special equipped
    	returnvalue
    	
    CHECK_MAGIC:
    	;--- check to see if player has enough magic to cast special ---	
    	getlex			QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
    	getproperty		QName(PackageNamespace(""), "_-QF")
    	getlocal		1
    	convert_i
    	getproperty		MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-09j"), StaticProtectedNs("_-09j"), StaticProtectedNs("_-0-I")])
    	dup
    	setlocal		2 ; holds xml of special
    	findpropstrict	QName(PackageNamespace(""), "int")
    	swap
    	getproperty		Multiname("MpCost", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    	callproperty	QName(PackageNamespace(""), "int"), 1
    	dup
    	setlocal		3 ; holds mp cost
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-86")
    	ifle			COOLDOWN_CHECK ; jump if player has enough mana
    	
    	pushint			2 ; means not enough mana
    	returnvalue
    	
    COOLDOWN_CHECK:
    	;--- check to see if cooldown is up ---
    	findpropstrict	QName(PackageNamespace("flash.utils"), "getTimer")
    	callproperty	QName(PackageNamespace("flash.utils"), "getTimer"), 0
    	dup
    	setlocal		4 ; holds current time
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-0m") ; _-0m holds time at which cooldown is up
    	ifge			RESET_TIMER ; jump if cooldown is up
    	
    	pushint			3 ; means cooldown not up
    	returnvalue
    
    RESET_TIMER:
    	;--- reset timer ---
    	getlocal0
    	findpropstrict	QName(PackageNamespace(""), "Number")
    	getlocal		2
    	getproperty		Multiname("Cooldown", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    	callproperty	QName(PackageNamespace(""), "Number"), 1
    	convert_i
    	pushint			1000
    	multiply ; cool down time
    	dup
    	pushbyte		0
    	ifne			SET_COOLDOWN:
    	pop
    	pushint			500
    	
    SET_COOLDOWN:
    	getlocal		4
    	add
    	setproperty		QName(PackageNamespace(""), "_-0m")
    	
    	;--- use special ---
    	findpropstrict QName(PackageNamespace(""), "trace")
    	pushstring "Using Special"
    	callpropvoid QName(PackageNamespace(""), "trace"), 1
    	
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "map_")
    	dup
    	dup
    	getproperty		QName(PackageNamespace(""), "mouseX")
    	swap
    	getproperty		QName(PackageNamespace(""), "mouseY")
    	callproperty	QName(PackageNamespace(""), "pSTopW"), 2
    	coerce			QName(PackageNamespace("flash.geom"), "Point")
    	setlocal		5
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "gs_")
    	getproperty		QName(PackageNamespace(""), "gsc_")
    	getlocal		4
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "objectId_")
    	pushbyte		1
    	getlocal		1
    	getlocal		5
    	getproperty		QName(PackageNamespace(""), "x")
    	getlocal		5
    	getproperty		QName(PackageNamespace(""), "y")
    	callpropvoid	QName(PackageNamespace(""), "useItem"), 6
    	
    	pushbyte		0 ; means use special succeeded
    	returnvalue
        
    	end ; code
       end ; body
      end ; method
     end ; trait
    Let me know if this fixes your guys problems with hacked clients.

  3. The Following User Says Thank You to nilly For This Useful Post:

    JustAnoobROTMG (09-24-2012)

  4. #33
    JustAnoobROTMG's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Posts
    1,916
    Reputation
    185
    Thanks
    18,230
    Tested/Working.. Thank you for this update Nilly !

    Also, inb4 people who will try to modify their hack client says it dont work :

    you must REMOVE the OLD AUTONEXUS CODE in "update" before adding this one !

    Quite obvious, but it must be said

    Omg, i am thinking about something....
    Another form of auto-MP....

  5. #34
    059's Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    California
    Posts
    3,312
    Reputation
    700
    Thanks
    92,771
    I don't know how any priest can die using this, really cool

  6. #35
    Ravors Malody's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    Can you please be more clear where to put in this code ? I am having trouble.

  7. #36
    DinoKyle's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    64
    Reputation
    10
    Thanks
    53
    My Mood
    Goofy
    Thanks for this.. You saved me some work.

  8. #37
    kRaYzRaY's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Location
    Cleveland, OH
    Posts
    14
    Reputation
    11
    Thanks
    60
    My Mood
    Inspired
    I'm a little new to coding, so I'd deeply appreciate any explanation to my seemingly simple question. I've taken a hacked client that I liked, added this code, and compiled it. It worked great except I wanted to modify the auto-nexus percentage to my liking. So I decompiled it the same way I did before, only to find that the Player.class.asasm no longer contains any of the code I added before. It seems original again. Is this normal and I am just missing something astutely obvious or is something amiss?

  9. #38
    nilly's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Posts
    2,652
    Reputation
    155
    Thanks
    13,983
    My Mood
    Angelic
    Well the code you inserted won't have all the comments as the code you pasted in and the labels like USE_SPECIAL will look like L1234 or whatever. It will blend in and look like all the other code. It is still in there though. You just have to match up the instructions.

  10. #39
    kRaYzRaY's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Location
    Cleveland, OH
    Posts
    14
    Reputation
    11
    Thanks
    60
    My Mood
    Inspired
    Ahh, I see. But oddly enough, nilly, when I search the whole document for an occurrence of, for example, "nexus" I come up with nothing.

    While I'd like a solution to that dilemma, if not just for education's sake, I'd like to continue on to my original intent and purpose of editing the auto-nexus code to suit my liking. So I will start from scratch again. Now, I would edit these values, right? And what exactly do they represent?

    ;*** determine if time to use special ***
    pushdouble .50
    ifle USE_SPECIAL
    FINISHED_SPECIAL:
    label

    ;*** determine if time to use heal potion ***
    pushdouble .35
    ifle USE_HEAL_POT
    FINISHED_HEAL_POT:
    label

    ;*** determine if nexus is needed ***
    pushdouble .20
    ifle AUTO_NEXUS
    FINISHED_AUTO_NEXUS:
    label

    jump DONE ; finished checks


    Ideally, I'd like to have auto-nexus kick in at 30% remaining health. I appreciate your work (or play) and any help you can provide. Thank you.

  11. #40
    nilly's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Posts
    2,652
    Reputation
    155
    Thanks
    13,983
    My Mood
    Angelic
    See the pushdouble instructions under each of the comments: use special, use heal potion, and nexus is needed? The instruction is followed by a fraction which represents the percentage to activate on. So .50 that is below ";*** determine if time to use special ***" means that it will use special (when priest) at less than or equal to 50% health. The .20 under ";*** determine if nexus is needed ***" means auto-nexus when at or below 20% health. So if you want to have it auto-nexus at 35% health just change that number to .35 . The use heal potion works the same way.

    If you do change the auto-nexus to 35%, remember to change the auto-pot percentage otherwise you'll nexus and waste a health pot. Also note that you can disable any one of them by replacing the number with 0.

  12. #41
    joshizposh's Avatar
    Join Date
    Dec 2012
    Gender
    male
    Posts
    5
    Reputation
    10
    Thanks
    0
    Can soemone make this work for mod selector would be awesoem thanks

  13. #42
    bog624's Avatar
    Join Date
    Jun 2012
    Gender
    male
    Posts
    873
    Reputation
    95
    Thanks
    1,981
    My Mood
    Aggressive
    Quote Originally Posted by nilly View Post
    Well raikoug got me interested in doing this when he posted a thread in the request section, https://www.mpgh.net/forum/655-realm-...autonexus.html .

    It works a little different from the way he describe what he would like to do in the original post. I found that tying the auto-pot, auto-special, and auto-nexus together, all sharing the same activation point, was dangerous. The problem was that it took time from when the request to use the special ablilty or heal potion and the time when the effects manifested themselves (probably due to server communication). During this time auto-nexus would not activate because there was an alternative (use special or use potion). This caused it to be more risky to use over the normal auto-nexus. What I ended up doing was separating the features, giving all them their own unique activation point (the percentage of health on which to activate). This way auto-nexus will still activate even if there is an alternative available (works just like normal auto-nexus). It's safer this way and I think it works rather well.

    Features:
    Auto-Special (Priest Only) at 50% health (with auto-magic pot when needed)
    Auto-Heal Potion at 35% health
    and Auto-Nexus at 20%

    This should work with any and all pots that have the Heal or Magic activate property. There is also a check for quiet status effect so it doesn't waste magic pots unnecessarily.

    If you want to change the activation points, it should be fairly obvious where to do so in the code.

    As a side note, I've experienced kick to character select screen a few times. I think I solved the problem though. Let me know if you are experiencing this and think this code is the culprit.


    Here is the code:

    Stick this in com.company.assembleegameclient.objects:Player/update function, just before the returnvalue instruction at the end.
    Code:
    	;--- check if the player object is me ---
    	getlocal0
    	getlex			QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "player_")
    	ifne DONE		; is this the player? end if not true
    	
    	;--- check to see if player is in nexus
    	getlex			QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "name_")
    	pushstring		"Nexus"
    	ifeq DONE		; is player in nexus? jump if true
    	
    	;*** get and store health percentage ***
    	getlex			QName(PackageNamespace(""), "_-aY")
    	convert_d
    	getlex			QName(PackageNamespace(""), "_-LT")
    	convert_d
    	divide
    	dup
    	dup
    	
    	;*** determine if time to use special ***
    	pushdouble		.50
    	ifle			USE_SPECIAL
    FINISHED_SPECIAL:
    	label
    	
    	;*** determine if time to use heal potion ***
    	pushdouble		.35
    	ifle			USE_HEAL_POT
    FINISHED_HEAL_POT:
    	label
    	
    	;*** determine if nexus is needed ***
    	pushdouble		.20		
    	ifle			AUTO_NEXUS
    FINISHED_AUTO_NEXUS:
    	label
    	
    	jump			DONE ; finished checks
    	
    USE_SPECIAL:
    	;--- check to see if player is a priest ---
    	getlex			QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "player_")
    	getproperty		QName(PackageNamespace(""), "objectType_")
    	pushint			784
    	ifne			FINISHED_SPECIAL ; dont use special if player isn't a priest
    	
    	;--- attempt to use special ---
    	getlocal0
    	callproperty	QName(PackageNamespace(""), "use_special"), 0
    	
    	pushint			2
    	ifne			FINISHED_SPECIAL ; check to see if reason special wasn't used was because of magic points
    	
    	getlocal0
    	pushstring 		"Magic"
    	callproperty	QName(PackageNamespace(""), "use_potion"), 1 ; attempt to use magic pot
    	pop
    	jump			FINISHED_SPECIAL
    	
    USE_HEAL_POT:
    	getlocal0
    	pushstring 		"Heal"
    	callproperty	QName(PackageNamespace(""), "use_potion"), 1
    	pop
    	jump			FINISHED_HEAL_POT
    	
    AUTO_NEXUS:
    	getlex			QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "gs_")
    	getproperty		QName(PackageNamespace(""), "gsc_")
    	callpropvoid	QName(PackageNamespace(""), "_-M6"), 0 ; no health pot found, goto nexus
    	
    	getlex			QName(PackageNamespace(""), "map_")
    	pushstring		"Nexus"
    	setproperty		QName(PackageNamespace(""), "name_")
    	
    	jump			FINISHED_AUTO_NEXUS
    
    DONE:
    Add this to the Player.class.asasm file. These are functions used by the above code and can be inserted just above the "end ; class" line at the end of the file.
    Code:
     trait method QName(PackageNamespace(""), "use_potion")
      method
       refid "com.company.assembleegameclient.objects:Player/use_potion"
       param QName(PackageNamespace(""), "String")
       returns QName(PackageNamespace(""), "int")
       body
        maxstack 8
        localcount 10
        initscopedepth 8
        maxscopedepth 8
        code
    	
    	; --- TEMP for checking for Quiet status effect ---
    	pushstring		"Magic"
    	getlocal1
    	ifne			SEARCH_4_POTION
    	
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-86") ; holds current magic points
    	pushbyte		0
    	ifne			SEARCH_4_POTION ; current magic points is 0, likely because of quite so don't do anything
    	
    	findpropstrict QName(PackageNamespace(""), "trace")
    	pushstring "Quiet probably active"
    	callpropvoid QName(PackageNamespace(""), "trace"), 1
    	
    	pushint			-1
    	returnvalue
    	; -------------------------------------------------
    
    SEARCH_4_POTION:	
    	pushbyte		4
    	setlocal		2 ; index
    
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "player_")
    	getproperty		QName(PackageNamespace(""), "inventory")
    	getproperty		QName(PackageNamespace(""), "slots_")
    	coerce_a
    	setlocal		3 ; slot array
    	
    	jump CHECK_INV
    	
    CHECK_INV_LOOP:	
    	label
    	getlocal		3
    	getlocal		2
    	nextvalue
    	coerce			QName(PackageNamespace("com.company.assembleegameclient.ui"), "_-E6")
    	dup
    	setlocal		4 ; holds slot item
    	
    	getproperty		QName(PackageNamespace(""), "objectType_")
    	dup
    	setlocal		5 ; holds item type
    	pushint			-1
    	ifeq			CHECK_INV ; goto next slot, no itme exist in current slot
    	
    	getlex			QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
    	getproperty		QName(PackageNamespace(""), "_-QF")
    	getlocal		5
    	getproperty		MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-09j"), StaticProtectedNs("_-09j"), StaticProtectedNs("_-0-I")])
    	dup
    	setlocal		6 ; holds item xml data
    	
    	pushstring		"Potion"
        callproperty	Multiname("hasOwnProperty", [PrivateNamespace("*", "com.company.assembleegameclient.objects:_-Od/iinit#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:_-Od/iinit#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-V"), StaticProtectedNs("_-V")]), 1
    	pushfalse
    	ifeq			CHECK_INV ; goto next slot if item isn't a potion
    	
    	;----- start inner loop to check potion for heal/magic activation -----
    	pushbyte		0
    	setlocal		7 ; index for inner loop
    
    	getlocal		6
    	getproperty		Multiname("Activate", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    	coerce_a
    	setlocal		8 ; holds activate array
    	
    	jump			CHECK_POT
    
    CHECK_POT_LOOP:
    	label
    	getlocal		8
    	getlocal		7
    	nextvalue
    	coerce			QName(PackageNamespace(""), "XML")
    	dup
    	setlocal		9 ; holds activate line
    	
    	callproperty	Multiname("toString", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")]), 0
    	getlocal1
    	ifne			CHECK_POT ; jump to next attribute if desired attribute not found
    	
    	findpropstrict QName(PackageNamespace(""), "trace")
    	pushstring "Using "
    	getlocal1
    	add
    	pushstring " Pot"
    	add
    	callpropvoid QName(PackageNamespace(""), "trace"), 1
    	
    	getlocal		4
    	callpropvoid	QName(PackageNamespace(""), "attemptUse"), 0 ; use potion
    	kill			8
    	kill			7
    	kill			3
    	kill			2
    	
    	getlocal		9
    	getproperty		MultinameA("amount", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    		; ^^ sends back amount of health/magic gained
    	jump			DONE
    	  
    CHECK_POT:
    	hasnext2		8, 7
    	iftrue			CHECK_POT_LOOP
    	kill			8
    	kill			7
    	;----------------------------------------------------------------------
    	
    CHECK_INV:
    	hasnext2		3, 2
    	iftrue			CHECK_INV_LOOP
    	kill			3
    	kill			2
    	pushint			-1 ; no suitable potion found
    	
    DONE:
    	returnvalue
        end ; code
       end ; body
      end ; method
     end ; trait
      
     trait method QName(PackageNamespace(""), "use_special")
      method
       refid "com.company.assembleegameclient.objects:Player/use_special"
       returns QName(PackageNamespace(""), "int")
       body
        maxstack 8
        localcount 10
        initscopedepth 8
        maxscopedepth 8
        code
    	
    	;--- get player's special stats ---
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-zq")
    	pushbyte		1
    	getproperty		MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-09j"), StaticProtectedNs("_-09j"), StaticProtectedNs("_-0-I")])
    	dup
    	setlocal		1 ; holds special objectType
    	pushint			-1
    	ifne			CHECK_MAGIC ; end if no special equiped
    	
    	pushint			1 ; means no special equipped
    	returnvalue
    	
    CHECK_MAGIC:
    	;--- check to see if player has enough magic to cast special ---	
    	getlex			QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
    	getproperty		QName(PackageNamespace(""), "_-QF")
    	getlocal		1
    	convert_i
    	getproperty		MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-09j"), StaticProtectedNs("_-09j"), StaticProtectedNs("_-0-I")])
    	dup
    	setlocal		2 ; holds xml of special
    	findpropstrict	QName(PackageNamespace(""), "int")
    	swap
    	getproperty		Multiname("MpCost", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    	callproperty	QName(PackageNamespace(""), "int"), 1
    	dup
    	setlocal		3 ; holds mp cost
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-86")
    	ifle			COOLDOWN_CHECK ; jump if player has enough mana
    	
    	pushint			2 ; means not enough mana
    	returnvalue
    	
    COOLDOWN_CHECK:
    	;--- check to see if cooldown is up ---
    	findpropstrict	QName(PackageNamespace("flash.utils"), "getTimer")
    	callproperty	QName(PackageNamespace("flash.utils"), "getTimer"), 0
    	dup
    	setlocal		4 ; holds current time
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "_-0m") ; _-0m holds time at which cooldown is up
    	ifge			RESET_TIMER ; jump if cooldown is up
    	
    	pushint			3 ; means cooldown not up
    	returnvalue
    
    RESET_TIMER:
    	;--- reset timer ---
    	getlocal0
    	findpropstrict	QName(PackageNamespace(""), "Number")
    	getlocal		2
    	getproperty		Multiname("Cooldown", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-iX"), StaticProtectedNs("_-iX"), StaticProtectedNs("_-TE"), StaticProtectedNs("_-iP"), StaticProtectedNs("_-0-I")])
    	callproperty	QName(PackageNamespace(""), "Number"), 1
    	convert_i
    	pushint			1000
    	multiply ; cool down time
    	dup
    	pushbyte		0
    	ifne			SET_COOLDOWN:
    	pop
    	pushint			500
    	
    SET_COOLDOWN:
    	getlocal		4
    	add
    	setproperty		QName(PackageNamespace(""), "_-0m")
    	
    	;--- use special ---
    	findpropstrict QName(PackageNamespace(""), "trace")
    	pushstring "Using Special"
    	callpropvoid QName(PackageNamespace(""), "trace"), 1
    	
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "map_")
    	dup
    	dup
    	getproperty		QName(PackageNamespace(""), "mouseX")
    	swap
    	getproperty		QName(PackageNamespace(""), "mouseY")
    	callproperty	QName(PackageNamespace(""), "pSTopW"), 2
    	coerce			QName(PackageNamespace("flash.geom"), "Point")
    	setlocal		5
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "map_")
    	getproperty		QName(PackageNamespace(""), "gs_")
    	getproperty		QName(PackageNamespace(""), "gsc_")
    	getlocal		4
    	getlocal0
    	getproperty		QName(PackageNamespace(""), "objectId_")
    	pushbyte		1
    	getlocal		1
    	getlocal		5
    	getproperty		QName(PackageNamespace(""), "x")
    	getlocal		5
    	getproperty		QName(PackageNamespace(""), "y")
    	callpropvoid	QName(PackageNamespace(""), "useItem"), 6
    	
    	pushbyte		0 ; means use special succeeded
    	returnvalue
        
    	end ; code
       end ; body
      end ; method
     end ; trait
    This code is made to work for v123.5.1
    Nilly would You help me update dis .-.
    Good Day.



    Quote Originally Posted by DimitriSavage View Post
    *le wild bog is hunting in his natural habitat....le wild bog sees pray...le wild bog uses HACK....le wild bog wins....le wild bog is evolving....le wild bog is now le wild gob*

    LE WILD BOG IN LE POKEDEX : POKEDEX ENTRY

    LE WILD GOB IN LE POKEDEX : POKEDEX ENTRY

    TEH FINAL EVOLUTION OF LE WILD BOG : POKEDEX ENTRY


  14. #43
    RealmAnna's Avatar
    Join Date
    Mar 2013
    Gender
    male
    Posts
    105
    Reputation
    10
    Thanks
    3
    Hey Nilly, thanks for releasing these hacks, they seem awesome, and very well thought out.

    Just a question, does this have anything to do, with what you claimed to be a method of survival more efficient than auto-nexus, in one of your previous posts?

    Thanks

  15. #44
    UltraN00b's Avatar
    Join Date
    May 2012
    Gender
    male
    Location
    Protected v0id
    Posts
    514
    Reputation
    68
    Thanks
    401
    My Mood
    Amazed
    @ @RealmAnna Why did you necrobump the old thread? Anyways the method that nilly developed is that the Client would AutoNexus as soon as the Killing blow is received, instead of sending the DEAD packet.
    Liked my Post? Say Thanks!
    Before saying that a developer is wrong, think harder. Maybe, YOU are wrong since the dev knows more about his own programs than you do and has more knowledge about what he is doing.
    -- Direct Quote from the XDA-Developers Forums.

  16. #45
    nilly's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Posts
    2,652
    Reputation
    155
    Thanks
    13,983
    My Mood
    Angelic
    Quote Originally Posted by bog624 View Post
    Nilly would You help me update dis .-.
    This can't be updated by simply updating names. This was made before they made health/mana pots stackable.

    Quote Originally Posted by RealmAnna View Post
    Hey Nilly, thanks for releasing these hacks, they seem awesome, and very well thought out.

    Just a question, does this have anything to do, with what you claimed to be a method of survival more efficient than auto-nexus, in one of your previous posts?

    Thanks
    What @UltraN00b said.
    Be careful, stray too far from the pack and you'll get lost.

Page 3 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. Runescape 2 auto programs
    By fabled in forum Hack Requests
    Replies: 19
    Last Post: 09-05-2007, 01:43 PM
  2. WarRock Auto Vehicle Repair Hack
    By mortis123 in forum WarRock - International Hacks
    Replies: 12
    Last Post: 01-17-2006, 08:40 PM
  3. Auto or aim bot
    By aaronm in forum WarRock - International Hacks
    Replies: 4
    Last Post: 01-13-2006, 04:10 PM
  4. Vehicle Stealing and Vehicle auto-destroy in Havana
    By Zededarian in forum Game Hacking Tutorials
    Replies: 0
    Last Post: 01-02-2006, 04:34 PM
  5. WarRock Auto Healer
    By Flawless in forum WarRock - International Hacks
    Replies: 8
    Last Post: 12-31-2005, 03:44 AM