alrighty, the bot picks up drops, checks ur health so it will sit when you need it (varies from toon so change it if you must)
Has a new "distance" targeting system so it doesnt rely on the close range "next target" feature.
Step 1. Go onto Google and search for a macro called AC tool.
Step 2. Download/install it.
Step 3. Open it up.
Step 4. Paste this code into it.
Step 5. Run Lineage and log in.
Step 6. Get to your hunting ground.
Step 7. Minimize L2 and type the name of the mob you want to hunt where it says at the top of the macro script, [puma] for example.
Step 8. bring L2 back up and Edit your quickbar to what it says on the macro.
Step 9. Minimize L2 and Start the macro.
The macro will open up L2 by its self and will start to do its thing in around 8 seconds.
Hope this gives me a life membership!

Copy and paste the 2nd part over the same line were it asks you to add the Hpbar. (at the bottom)
This sounds a long one but with common sense you can be up and running in moments. Good luck.
1st part
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
//Level2 0.1
//alpha beta gaga release
SETActiveWindow Lineage II
delay 8 sec //start delay
//code borrowed from tivia is the hp/mp check for your char, thanks mang
//RESOLUTION: 1024x768
//PUT ALL FILES IN YOUR ACTOOL\MACROS FOLDER.
//Personal Notes:
//1: If you haven't attacked the mob yet, and you're being aggro'd,
// you'll have a monster attacking you and their name will have red
// balls in the target title. You could wait and check that before you
// attack the passive mob. (assuming you only target passive mobs)
//2: Could use the near target hotkey to see how many mobs are attacking
// you at once. Cycle through and keep a count by checking discrepancies
// in their health bars. --run away using the arrow keys?
//3: Load potential targets from a text file?
//4: Find out precisely the amount of HP by scanning down the hp meter till
// you get to the depleted red color (or blue)
//5: Start using soulshots if monster health is lower than yours but you're starting to hurt
//6: Could determine how fast you are killing him by storing damage/hit over x amount
// of exchanges...see if you need to use soulshots
Constants
//CHANGE "PUMA" TO WHATEVER MONSTER (PASSIVE IS BEST) YOU WANT TO FIGHT
//KEEP THE NAME IN THE BRACKETS
Monster = [Puma]
ExecWeaponSkill = {F1}
ExecAttack = {F2}
ExecPickup = {F3}
ExecTarget = {F4}
ExecSpoil = {F5}
ExecSweep = {F6}
ExecHeal = {F7}
ExecPotion = {F8}
///LOCATIONS//
//LiveNPC = 435, 19
//DeadNPC = 435, 19
MobHP = 435, 19
FullHP = 119, 25
HalfHp = 70, 25
LowHp = 40, 25
FullMP = 119, 38
HalfMP = 70, 38
LowMP = 40, 38
ObjVar = 5
//COLORS//
//DeadMOB = 102 //the color the hp bar will be if a mob is dead (at 435, 19)
LiveMOB = 207 //the color the hp bar will be if a mob is alive (at 435, 19)
//TOOLBAR FLAGS//
WeaponSkill = 1
Spoil = 1
Heal = 0
Potion = 0
//HEALTH FLAGS//
Safe = 1
Danger = 0
Critical = 0
//COMBAT FLAGS//
Attacking = 0 //test if you're currently engaged in combat
StopSpoil = 1 //should we spoil this guy or not
Spoiled = 0 //see if target is already spoiled
//MISC
Difference = 0 //used to find the variance of red
End //of constants
////MAIN LOOP
While 1=1
Processmessages
Call Main
End
///END MAIN LOOP
/////////////////////////////////////////////////
/////////////////////////////////////////////////
Procedure Main
Keys ^a {BACK} {BACK} //make sure it deletes any channel crap crap (+, #, etc)
Set STOPSPOIL = 0 //reset stop spoil if it somehow didn't get reset already
While $Attacking = 0
Timestamp Debug: We're at main...
Keys ^a {BACK} {BACK} //make sure it deletes any channel crap crap (+, #, etc)
Keys /target $Monster {RETURN}
Delay 200
//target anything close first
Call Aggro
//Call the CheckMonsterHP procedure to see if we have a target
Call CheckMonsterHP
//see if we need to sit down
//lots of overhead here?
Call SitDown
Timestamp Debug: End of main...
End //End $Attacking While
//Call Kill because we're attacking now
Call Kill
End
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
Procedure Kill
If $Spoil = 1 and $Spoiled = 0 and $StopSpoil = 0
Keydown $ExecSpoil 500
Set SPOILED = 1 //monster has been spoiled
End
//if $Critical = 1
//call runawaylikeabitch
While $Attacking = 1
Keydown $ExecAttack 150
delay 1500
Keydown $ExecWeaponSkill 250
delay 100
KeyDown $ExecAttack 150
delay 5 sec
Call CheckMonsterHP
Timestamp END OF ATTACKING
End
//Hooray! Monster is dead, now for the spoils
//BEGIN !@#$%^&* PICKUP HACK
Keydown $ExecPickup 10
delay 20
Keydown $ExecPickup 10
delay 20
Keydown $ExecPickup 10
delay 20
Keydown $ExecPickup 10
delay 20
Keydown $ExecPickup 10
delay 20
Keydown $ExecPickup 10
delay 20
Keydown $ExecPickup 10
delay 50
Keydown $ExecPickup 100
//END PICKUP HACK
If $Spoiled = 1
Keydown $ExecSweep //sweep the monster
Set SPOILED = 0 //reset spoiled flag
Set STOPSPOIL = 0 //reset stopspoil flag
End
Call Aggro //double check
Call HealthCheck // see if you're good to go again
End
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
Procedure SitDown
Call HealthCheck
//now we check and see if we're safe to attack
If $Safe = 0 and $Attacking = 0
//see how long we need to sit
while $Danger = 1 or $Critical = 1
keys /sit
if $Danger = 1
delay 1 min
else
if $Critical = 1
delay 2 min
End
End
keys /stand
End //End HealthCheck while
End //End parent If
End
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
//Pretty much just Tivia's MyHealth procedure with a few things sprinkled in
Procedure HealthCheck
Timestamp ()
Isobject HalfHp at 70, 25
//SET HEALTH FLAGS
Set SAFE = 0
Set DANGER = 1
Set CRITICAL = 0
If $Heal = 1
Keydown $ExecHeal 200
//dont want to sit there with your thumb up your !@#$%^&* if you're getting stomped
If $Attacking = 0
Delay 4000
End
End
Else
Isobject LowHp at 40, 25
//SET HEALTH FLAGS
Set SAFE = 0
Set DANGER = 0
Set CRITICAL = 1
If $Potion = 1
Keydown $ExecPotion 200
//defend yourself, dont delay! :D
If $Attacking = 0
delay 1000
End
Else
Set SAFE = 1
Set DANGER = 0
Set CRITICAL = 0
Timestamp
If $Attacking = 0
Delay 1 sec
End
End
End
End
End
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
Procedure CheckMonsterHP
//Load the current RGB values at $MobHP
LoadRGB $MobHP
//find the difference between desired red and actual red
Compute $Difference = ABS ( $LiveMOB - {RGBRed} )
//if the difference is acceptable, it's still alive
if $Difference < 40
Set ATTACKING = 1
Timestamp Debug: We're still fighting...
//else it's dead
else
Set ATTACKING = 0
Timestamp Debug: MOB has been vanquished.
end
End
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
Procedure Aggro every 5 sec
Timestamp ()
Keydown $ExecTarget 250
Call CheckMonsterHP
//if we got aggrod, dont waste time by spoiling
If $Attacking = 1 and $Spoil = 1
Set STOPSPOIL = 1
End
//hit escape and call nearest target?
End
/////////////////////////////////////////////////
/////////////////////////////////////////////////
//stolen include file -- Thanks tivia
Include Macros\Objects\HpBar.inc
2nd part (hpbar)
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
Object HalfHp // Test at coords 74, 25
99=0,0|99=2,0|
76=0,2|76=2,2|
90=0,4|90=2,4|
121=0,6|121=2,6|
End Object
Object FullHp // Test at coords 106, 26
140=0,0|140=2,0|140=4,0|140=6,0|140=8,0|140=10,0|140=12,0|140=14,0|140=16,0|140=18,0|140=20,0|140=22,0|145=24,0|
162=0,2|162=2,2|162=4,2|162=6,2|162=8,2|162=10,2|162=12,2|162=14,2|162=16,2|162=18,2|162=20,2|162=22,2|145=24,2|
198=0,4|198=2,4|198=4,4|198=6,4|198=8,4|198=10,4|198=12,4|198=14,4|198=16,4|198=18,4|198=20,4|198=22,4|176=24,4|
247=0,6|247=2,6|247=4,6|247=6,6|247=8,6|247=10,6|247=12,6|247=14,6|247=16,6|247=18,6|247=20,6|247=22,6|247=24,6|
End Object
Object LowHp // Test at coords 40, 25
99=0,0|99=2,0|99=4,0|99=6,0|
76=0,2|76=2,2|76=4,2|76=6,2|
90=0,4|90=2,4|90=4,4|90=6,4|
121=0,6|121=2,6|121=4,6|121=6,6|
End Object
//Object MyMP // Test at coords 13, 40
76=0,0|132=2,0|132=4,0|132=6,0|132=8,0|132=10,0|132=12,0|132=16,0|132=20,0|255=22,0|255=24,0|132=26,0|132=28,0|132=30,0|132=32,0|132=34,0|132=36,0|132=38,0|132=40,0|132=42,0|132=46,0|132=48,0|255=50,0|255=52,0|132=54,0|132=56,0|255=58,0|255=60,0|132=64,0|132=66,0|132=68,0|132=72,0|132=76,0|132=78,0|255=80,0|255=82,0|132=84,0|132=86,0|255=88,0|255=90,0|132=94,0|132=96,0|132=98,0|
132=0,2|150=2,2|150=4,2|150=6,2|150=8,2|150=10,2|150=12,2|255=14,2|255=16,2|150=20,2|150=24,2|150=28,2|150=30,2|150=32,2|150=34,2|150=36,2|150=38,2|150=40,2|150=42,2|150=46,2|150=48,2|150=52,2|150=56,2|150=60,2|150=62,2|150=64,2|150=66,2|255=68,2|150=70,2|150=72,2|150=76,2|150=78,2|150=82,2|150=86,2|150=90,2|150=92,2|150=94,2|150=96,2|150=98,2|
132=0,4|187=2,4|187=4,4|187=6,4|187=8,4|187=10,4|187=12,4|187=20,4|255=22,4|255=24,4|187=26,4|187=28,4|187=30,4|187=32,4|187=34,4|187=36,4|187=38,4|187=40,4|187=42,4|187=46,4|187=48,4|187=52,4|187=56,4|187=58,4|187=60,4|187=64,4|187=66,4|187=70,4|187=72,4|187=76,4|187=78,4|187=82,4|187=86,4|187=88,4|187=90,4|187=94,4|187=96,4|187=98,4|
143=0,6|225=2,6|225=4,6|225=6,6|225=8,6|225=10,6|225=12,6|225=20,6|225=24,6|225=26,6|225=28,6|225=30,6|225=32,6|225=34,6|225=36,6|225=38,6|225=40,6|225=42,6|225=46,6|225=48,6|225=52,6|225=56,6|225=60,6|225=64,6|255=66,6|225=68,6|225=70,6|225=72,6|225=76,6|225=78,6|225=82,6|225=86,6|225=90,6|225=94,6|225=96,6|225=98,6|
// End Object
// Object HalfMp // Test at coords 13, 39
119=0,0|215=2,0|213=4,0|213=6,0|213=8,0|213=10,0|213=12,0|213=14,0|213=16,0|213=18,0|213=20,0|213=22,0|213=24,0|213=26,0|213=28,0|213=30,0|213=32,0|213=34,0|213=36,0|213=38,0|213=40,0|78=42,0|78=44,0|78=46,0|78=48,0|78=50,0|78=52,0|78=54,0|78=56,0|78=58,0|78=60,0|78=62,0|78=64,0|78=66,0|78=68,0|78=70,0|78=72,0|78=74,0|78=76,0|78=78,0|78=80,0|78=82,0|78=84,0|78=86,0|78=88,0|78=90,0|78=92,0|78=94,0|78=96,0|78=98,0|
123=0,2|132=2,2|132=4,2|132=6,2|132=8,2|132=10,2|132=12,2|132=16,2|132=20,2|132=24,2|132=28,2|132=30,2|132=32,2|132=34,2|132=36,2|132=38,2|132=40,2|62=42,2|62=44,2|62=46,2|62=50,2|62=54,2|62=58,2|62=62,2|62=64,2|62=66,2|255=68,2|62=70,2|62=74,2|62=78,2|62=82,2|62=86,2|62=88,2|62=90,2|62=92,2|62=94,2|62=96,2|62=98,2|
118=0,4|168=2,4|168=4,4|168=6,4|168=8,4|168=10,4|168=12,4|255=14,4|255=16,4|168=20,4|168=24,4|168=28,4|168=30,4|168=32,4|168=34,4|168=36,4|168=38,4|168=40,4|88=42,4|88=44,4|88=46,4|255=48,4|255=50,4|88=52,4|88=54,4|255=56,4|255=58,4|88=60,4|88=62,4|88=64,4|88=66,4|88=70,4|88=74,4|88=78,4|255=80,4|255=82,4|88=84,4|88=86,4|88=88,4|88=90,4|88=92,4|88=94,4|88=96,4|88=98,4|
113=0,6|215=2,6|215=4,6|215=6,6|215=8,6|215=10,6|215=12,6|215=20,6|215=24,6|215=26,6|215=28,6|215=30,6|215=32,6|215=34,6|215=36,6|215=38,6|215=40,6|110=42,6|110=44,6|110=46,6|110=48,6|110=50,6|110=54,6|110=56,6|110=58,6|111=62,6|111=64,6|255=66,6|111=68,6|111=70,6|111=72,6|111=74,6|111=78,6|111=82,6|111=86,6|111=88,6|111=90,6|111=92,6|111=94,6|111=96,6|111=98,6|
115=0,8|215=2,8|215=4,8|215=6,8|215=8,8|215=10,8|215=12,8|215=16,8|215=20,8|215=24,8|215=26,8|215=28,8|215=30,8|215=32,8|215=34,8|215=36,8|215=38,8|215=40,8|110=42,8|110=44,8|110=46,8|255=48,8|255=50,8|110=52,8|110=54,8|255=56,8|255=58,8|111=60,8|111=62,8|111=64,8|111=68,8|111=70,8|255=72,8|255=74,8|111=76,8|111=78,8|255=80,8|255=82,8|111=84,8|111=86,8|111=88,8|111=90,8|111=92,8|111=94,8|111=96,8|111=98,8|
// End Object
//Object AlternateHalfhp // Test at coords 75, 25
99=0,0|99=2,0|99=4,0|99=6,0|
76=0,2|76=2,2|76=4,2|255=6,2|
90=0,4|90=2,4|90=4,4|
121=0,6|121=2,6|255=4,6|121=6,6|
121=0,8|121=2,8|121=6,8|
//End Object