Features:
-Smart tree navigation: If you are stuck like on a tree, back up and strafe left or right a few steps, go on your way. If you have been trying for 2 minutes and haven't made it, assume you're really stuck, give up, pick new target.
-Anti-KS code: Target selected initially with "nopcnear" range, and then this is verified once we get into range of the mob. I've noted good results of running up to the mob, seeing a player near, and automatically giving up and picking a new target.
-Easy cancel: Press esc and you will cancel your target and choose a new one. The same one if it is still the closest. Press F1 to target yourself and the script terminates (turning off attack and run and such along the way).
Limitations:
-This is designed for a high level melee character. I use it with a level 48 shadowknight, he runs around and reams these things, takes no damage, and goes on his merry way. This script does not attempt to cast in any way, or verify safety. That's your job, it's a bad idea to really go AFK during this anyway, what if a GM shows up?
-This was designed for East Commons, a relatively open flat zone. More trees and more buildings equals more getting caught on them. Plus:
-Faction issues are important. My shadowknight will occasionally aggro the rangers, or I found (the hard way) a cleric guildmaster that doesn't quite like him. I suggest you watch where you are going if anything big might try to kill you.
DISCLAIMER: These motions are rather machinelike and I personally would say it's obvious that it's a script. The Anti-KS code helps IMO, the people you would have KSed would be the most likely to notice. But, if you turn this script on and go AFK, you might well be discovered. The turning and running right to the correct mobs, and the rigid paths that are followed are dead giveaways.
And now for the code!!!!
Code: Select all
| farmpad.mac
| farm quality pelts and spiderling silk in EC
| for making into leather padding
#include routines.mac
sub Main
/lootn never
/alert clear 1
/alert add 1 npc bear
/alert add 1 npc kodiak
/alert add 1 npc spiderling
/alert add 1 npc puma
/alert add 1 npc lion
/alert add 1 npc cat
/alert add 1 npc wolf
/press esc
:Start
/call findTarget
/varset v11 $target(id)
/call killTarget
/if n $target(id)==$char(id) /goto :Stop
/target corpse
/if n $target(id)==$v11 /call lootTarget
/goto :Start
:Stop
/attack off
/call autorun 0
/lootn always
/return
Sub findTarget
/target alert 1 nopcnear 60
/delay 2
/return
Sub killTarget
/varset v60 $target(id)
/if $v60==0 /return
/varset t0 2m
/varset v12 1
/varset v80 0
/face nopredict
:Follow
/if n $target(id)==$char(id) /return
/if "$target(id)"!="$v60" /goto :KillDone
/if "$target(name)"~~"corpse" /goto :KillDone
/face nopredict
/if n $target(distance)>12 /call autorun 1
/if n $target(distance)<15 {
/call autorun 0
/if $v12==1 {
/if n $target(id)==$char(id) /return
/call findTarget |anti-ks code
/if "$target(id)"!="$v60" /goto :KillDone
/attack on
/varset v12 0
}
}
/if n $t0==0 /press esc
/varset v51 $char(x)
/varset v52 $char(y)
|/delay 1
/if n $v51==$char(x) /if $v52==$char(y) /call tree $v12
/goto :Follow
:KillDone
/sendkey up up
/attack off
/delay 3
/return
Sub Tree
/delay 3
/if $p0==0 /return
/sendkey up up
/sendkey down down
/delay 2
/sendkey up down
/sendkey down ctrl
/if n $rand(99)>50 {
/sendkey down right
} else {
/sendkey down left
}
/delay 3
/sendkey up right
/sendkey up left
/sendkey up ctrl
/varset v80 0
/return
Sub lootTarget
/delay 2
:gotocorpse
/if n $target(distance)>10 {
/face
/sendkey down up
/goto :gotocorpse
}
/sendkey up up
/face
/loot
/delay 10
/varset v10 0
:LootLoop
/click left corpse $v10
/delay 5
/if "$cursor(name)"=="NULL" /goto :LootDone
/if "$cursor(name)"~~"silk" {
/click left auto
} else /if "$cursor(name)"~~"quality" {
/click left auto
} else {
/click left destroy
/delay 1
/click left 458 420
/delay 1
}
/varadd v10 1
/goto :LootLoop
:LootDone
/delay 3
/press esc
/delay 2
/return






