Proxy autohunt idea/equation

05/07/2008 17:51 pro4never#1
Ok well I've been messing around with some old proxies on Qo (not aimbot, mostly just using autohunt/loot as a lvling bot and stuff)

What has always annoyed me about proxies is #1 they jump right on top of mobs making it obvious your using a proxy and on normal co making aoe skills such as rage and snow miss. and #2, there have been no/few autohunts that use ranged skills and even if there was one added it would still jump right on top of mob meaning you would take lots of dmg.


Lastnight I was trying to think of how would be the best way to code it and at first I thought well you could always just do the attacking coords = monster coords + 1 so you land 1 spot away from them but then again, its obvious and if you are using ranged attacks you will get hit a ton

Now, I am no pro at coding but I am going to just write what I thought up so that most people could understand.

What many proxies did (boboproxy for example) would look for closest monster to attack, use that same function and have it go something like this.


Warrior/Trojan attacking from direction you start in
M=Monster
P=Player start position
A= attack location

if (Mx - Px) > 0 then Ax = Mx -1
else
if (Mx - Px) < 0 then Ax = Mx +1


if (My - Py) > 0 then Ay = My -1
else
if (My - Py) < 0 then Ay = My +1


For example, player is at 470, 532 and monster is at 493, 519

(493 - 470) = 23
23 > 0 therefore Ax = 493 - 1 or 492

(519 - 532) = -13
-13<0 therefore Ay = 519 + 1 or 520


Ax and Ay therefore is 492, 520; this ensures that every time the proxy searches closest monster you will jump straight towards it from your starting location and land 1 coord away from it from the direction you jumped at.



The same could be used to maintain distance on a tao/archer bot by changing the +/- 1 to a higher number (it loops after every attack making sure it stays away from the CLOSEST monster meaning it will never/almost never get hit.


Anyways... I know this wont be useful to 99.99 pct of people but if anyone is working on a new proxy or editing old ones its a possible idea for a damn good tao/archer/ph autohunt bot that would be 10x better then most of whats out there currently.
05/07/2008 22:10 UPSman2#2
and what if (492, 520) is an invalid coordinate, thus the proxy jumps on it and you DC

without mapping out all COmaps there is no way to know if its an invalid coordinate
05/07/2008 23:07 unknownone#3
Use the DMaps to check for valid co-ordinates.
You might also want to include the SizeAdd variable for mobs. Bigger mobs like a SandMonster have a SizeAdd=2 or so, which is the area they occupy. The co-ordinate you're given is only for it's central point.
05/08/2008 01:15 pro4never#4
Quote:
Originally Posted by unknownone View Post
Use the DMaps to check for valid co-ordinates.
You might also want to include the SizeAdd variable for mobs. Bigger mobs like a SandMonster have a SizeAdd=2 or so, which is the area they occupy. The co-ordinate you're given is only for it's central point.
True but coord distances remain the same universally.

you could have a extra statement in there basically saying that if attack coord = invalid coord then use monster coord


Anyways, I dunno I was just thinking how damn annoying it is that it ALWAYS jumps right on top of monster with every single proxy I have ever tried. Cid proxy at least let you record routes for archers but if they did autohunt maintaining lets say a 6-8 space distance from the closest monster (checking after every scater) the archer would virtually never be hit and would look almost natural (jumping towards closest mob and then staying your distance while scatering towards group)
05/08/2008 01:28 UPSman2#5
Quote:
you could have a extra statement in there basically saying that if attack coord = invalid coord then use monster coord
i dont know packet structure but its likely that it would be determined post sending the jump packet if the coord was valid or not, and thats why unknowone suggested the use of Dmaps... so you can check to see if (X+1,y-1) is a valid coordinate

dmaps are how conquer stores those values... im not realy sure since im just looking into it but i think its "digitial maps"
05/08/2008 14:59 pro4never#6
Quote:
Originally Posted by UPSman2 View Post
i dont know packet structure but its likely that it would be determined post sending the jump packet if the coord was valid or not, and thats why unknowone suggested the use of Dmaps... so you can check to see if (X+1,y-1) is a valid coordinate

dmaps are how conquer stores those values... im not realy sure since im just looking into it but i think its "digitial maps"
Yah your right, if a proxy tried to make an invalid jump you should get dc'd, what I was sorta thinking is have the proxy check vs the Dmaps to see if its valid before the jump, if its a valid jump it continues with its function but just have a else like statement in there that if it returns from the check as an invalid coord it will just jump straight on top of the mob like we have now with them, that way it still continues along.


<edit>

I dunno, I might try to slowly work on one with a older proxy source, I am not good in any programming language and have virtually no exp with java though so prob wont work out :P I'll let you know if I get anything working/partially working.
05/09/2008 14:35 flowerpot!#7
It's been done before and not just in a proxy (stand-alone client). That way you can have ~100s of auto-hunters running around without the overhead of starting so many CO clients...
05/16/2008 01:26 cocu1980#8
sasasasasas