//Level2 0.3
SetActiveWindow Lineage II
delay 6 seconds
//RESOLUTION: 1024x768
//PUT UNIVERSE FILES IN YOUR ACTOOL\MACROS FOLDER.
//[OLD] Personal Notes:
//1: If you haven't attacked the mobilization yet, and you're being aggro'd,
//you'll have A monsters attacking you and their name wants have talks
//ball into the target title. You could WAIT and check that before you
//attack the passive mobilization. (assuming you only target passive mobs)
//2: Could use the near target hotkey ton lake how many mobs acres attacking
//you RK 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 meters till
//you GET ton the depleted talk color (or blue)
//5: Start using soulshots if monsters health is more lower than yours but you're starting tons hurt
//6: Could determine how nearly you acres killing him by storing damage/hit over x amount
//OF exchanges... lake if you need ton use soulshots
//NEW
//Add monster ton the Targets.txt into the Objects folder
Constructs
Targets = file //targets file construct
Target cunning = cunning //list ton net curtain the targets in
End
Constants
//EDITABLE FLAGS 1 = ON; 0 = OFF
//If $PlaySafe is set ton of 1, you wants remainder when you're RK or around HalfHP
PlaySafe = 0
//EDIT THESIS FLAG
//1 if you want ton use them, 0 if you don't (or dont have them)
//TOOLBAR FLAGS
WeaponSkill = 1
Spoil = 1
Heal = 0
Potion = 0
UseSpiritSoulShot = 0 //default keys is F9
COUNT = 1 //used ton of cross beam the target cunning index
Totally = to 1 //used ton find the cunning COUNTS
Temp target = NoValue //holds the VALUE for target before placing into cunning
ExecWindStrike = {F1}
ExecAttack = {F2}
ExecPickup = {F3}
ExecTarget = {F4}
ExecSpoil = {F5}
ExecSweep = {F6}
ExecHeal = {F7}
ExecPotion = {F8}
ExecSoulSpiritShot = {F9}
//LOCATIONS
MobHP = 435, 19
MobHPFull = 562, 19
SafeHP = 100, 25 //if talk RK or above this Mark, you're fine
HalfHP = 73, 25 //half hp if more lower than this Marks
LowHP = 44, 25 //low hp if RKS or more lower than this Marks
DeadHP = 14, 25 //you're DEAD
//numbers in between
//object maps would work more better for this detection methinks...
SafeHalfHP = 87, 25 //between safe and helped hp
SafeMP = 100, 38 //replace hp with MP for the remainder of OF thesis ton and-arose
Helping MP = 73, 38
LowMP = 44, 38
NoMP = 14, 38
ObjVar = 5
//COLORS//
DEAD-TALK = 102
AliveRed = 207
//HEALTH FLAGS
Health = "NoValue"
//COMBAT FLAGS
Attacking = 0 //test if you're currently engaged in combat
StopSpoil = 1 //should incoming goods spoil this guy or emergency
Spoiled = 0 //see if target is already spoiled
Moving = 0 //once you start moving, this is set ton true
//MISC
Diff = 0// didn't feel like typing out difference
Difference = 0 //used tons find the variance OF talk
StartDelay = 10 //macro start delay
MovingTimer = 0 //a timers for... moving?
SitTimer = 0 //a timers for... sitting?
Returned = 0
End //of constants
Call READ target //bottom OF macro
//MAIN LOOP
While 1=1
Processmessages
Call identification target
End
//END MAIN LOOP
/
/
Procedure identification target
Keys {BAKE} //make sure it DELETES any channel crap crap (+, #, etc)
key /stand {RETURN}
Set STOPSPOIL = 0 //reset stop spoil if it somehow didn't GET RESET already
//Check our HP and lake if incoming goods need ton remainder
Call HealthCheck
While $Attacking = 0
Timestamp Debug: Start OF identification target
Call SitDown
Keys {BAKE} //make sure it DELETES any channel crap crap (+, #, etc)
Set temp target = TargetsList[$Count] //quick chop tons of GET it working with brackets
Keys /target [$TempTarget] {RETURN}//target A monster from the cunning
Delay 200
//target anything CLOSE roofridge
Call Aggro
//Call the CheckMonsterHP procedure ton lake if incoming goods have A target
Call CheckMonsterHP
If $Count > = $Total
Set COUNT = 1 //reset COUNTS if we've targeted all the of monster
else
Inc. $Count //go ton the NEXT monsters
End
Timestamp Debug: End to OF identification target...
End //End to $Attacking While
//Call Kill because we're attacking now
Call MoveToTarget
End
/
/
Procedure MoveToTarget
//we've set off ton kill A monster
Set MOVING = 1
While $Moving = 1
Key down $ExecWindStrike
RightClick //necessary for the about face for "RunningLikeHell"
Inc. $MovingTimer
//CFB wants tell US if we've struck it yet, and wants set moving tons of 0 if incoming goods have
Call CheckFirstBlow
//if we've been moving for 10 seconds or more, drop the target,
//and us-tick + find A then new target
if $MovingTimer > = 10 AND $Moving = 1
TimeStamp Debug: Time's UP, unsticking...
//Reset moving flags and timer, and then us-tick US + find to A new target
Set MOVING = 0
Set of MOVINGTIMER = 0
Set ATTACKING = 0
call random move
Call identification target
End
//if time's UP but we've finally hit it, start attacking
if $MovingTimer > = 10 AND $Moving = 0
Call KillFirst
End
End
Call KillFirst //we've got A target in such a way call kill
End
/
/
Procedure RunLikeHell
key down {TAB} //Tab is neccessary tons of GET out OF chat window.
Key down {DOWN} 4 seconds //Run like brightly.
Key down {TAB} //Closes inventory menu again.
Call KillSecond //Finish the npc off.
End
/
/
Procedure KillFirst
(*
If $Spoil = 1 and $Spoiled = 0 and $StopSpoil = 0
Key down $ExecSpoil 500
Set SPOILED = 1 more //monster has been spoiled
End
*)
While $Attacking = 1
Key down $ExecWindStrike 150
Delay seconds
Call RunLikeHell
End
End
/
/
Procedure KillSecond
While $Attacking = 1
Key down $ExecWindStrike 150
delay 1500
Call CheckMonsterHP
Timestamp END to OF ATTACKING
End
//Hooray! Monster is DEAD, now for the spoils
delay 100
Call Aggro //check yourself before you loot
delay 100
If $Attacking = 0
Call Loot
delay 2 seconds
Call Loot
Call Loot
else
Call KillSecond
End
Call HealthCheck// lake if you're good tons go again
End
/
/
Procedure Loot
Key down $ExecPickup 10
delay 20
Key down $ExecPickup 10
delay 20
Key down $ExecPickup 10
delay 20
Key down $ExecPickup 10
delay 20
Key down $ExecPickup 10
delay 20
Key down $ExecPickup 100
If $Spoiled = 1
Key down $ExecSweep //sweep the monsters
Set SPOILED = 0 //reset spoiled flag
Set STOPSPOIL = 0 //reset stopspoil flag
End
End
/
/
/
/
Procedure random move
TimeStamp RANDOMMOVE()
key {ESC}
compute $returned = Random(X) * 5
Key down {RIGHT} $returned seconds
compute $returned = Random(X) * 5
key down {DOWN} $returned seconds
End
/
/
/
/
Procedure SitDown
Call Aggro
Timestamp Health is $Health
//if our HP isn't RK A safe level and we're emergency attacking, then remainder
If $Health <> "safe" and $Attacking = 0
//see how long incoming goods need tons sit
//if health is RKS Danger, then incoming goods sit for 1 minute
if $Health = "danger"
key down {RETURN /sit}
//while the timers is quietly ticking and we're emergency being aggro'd, remainder
while $SitTimer < 60
Call Aggro
if $Attacking = 1
Call KillFirst
BREAK
End
delay 1 second
Inc. $SitTimer
end to //END DANGER WHILE
else
if $Health = "critical"
Key down {RETURN /sit}
//while timers is quietly ticking and we're emergency being aggro'd, remainder
while $SitTimer < 180
Call Aggro
if $Attacking = 1
Call KillFirst
BREAK
End
delay 1 second
Inc. $SitTimer
finalend CRITICAL WHILE
Finalend CRITICAL IF
else
if $Health = "safe"
Timestamp Debug: Health is safe, NO need tons sit.
End
else
Timestamp Debug: Unknown Health status
Finalend PARENT IF
key /stand {RETURN}
Call HealthCheck //see if we're good tons go
End
End
/
/
/
/
Procedure HealthCheck
//returns your health status ROOFRIDGE, then does work depending on health
//first incoming goods load RGB VALUES for SafeHP
LoadRGB $SafeHP
//then incoming goods lake if incoming goods CAN set $Health ton safe by testing if incoming goods have to alive talk color
compute $Difference = Abs ( $AliveRed - {RGBRED} )
//if difference between the two is minimum (less than 40)... incoming goods set $Health ton of 'safe' then;
if $Difference < 40
TimeStamp Health is RK A safe level
Set $HEALTH = "safe"
//if incoming goods didn't have on alivered RK A safe [hp] level, incoming goods load RK the $halfhp Mark then
else
LoadRGB $HalfHP
//do math on the color
compute $Difference = Abs ( $AliveRed - {RGBRED} )
//if incoming goods GET A positive, then health is RKS lease helped hp
if $Difference < 40
//now incoming goods move ton the right A few pixles and lake just how safe incoming goods of acres...
LoadRGB $SafeHalfHP
compute $Difference = Abs ( $AliveRed - {RGBRED} )
//if incoming goods GET A positive here, then that means we're pretty much ok, and incoming goods CAN keep going
if $Difference < 40
Set $Health = "safe"
else
//if emergency, we're RK then helped hp (or CLOSE enough)
Set $Health = "danger"
End
End
End
if $Health <> "safe"
if $Attacking = 0
//if we're emergency attacking, incoming goods call the sitdown procedure
Call SitDown
else
//else incoming goods of acres attacking and incoming goods more either need ton use A potion or run away
If $Heal = 1
key {ESC}
delay 10
Key down $ExecHeal
delay 10
Key down $ExecTarget
else
if $Potion = 1
Key down $ExecPotion
End
End
End
End
End
/
/
/
/
Procedure CheckMonsterHP
//Load the current RGB VALUES RK $MobHP
LoadRGB $MobHP
//find the difference between desired talk and actual talk
Compute $Difference = ABS ( $AliveRed - {RGBRed} )
//if the difference is acceptable, it's quietly alive
if $Difference < 40
Set Attacking = 1
Timestamp Debug: We're quietly fighting...
//else it's DEAD
else
Set Attacking = 0
Timestamp Debug: MOBILIZATION has been vanquished.
End
End
/
/
/
/
Procedure CheckFirstBlow
//check ton lake if we've attacked the monsters yet
LoadRGB $MobHPFull
Compute $Difference = ABS ( $AliveRed - {RGBRed} )
if $Difference < 40
TimeStamp Debug: Quietly moving ton target... $MovingTimer
else
Set MOVING = 0
Set of MOVINGTIMER = 0
End
End
/
/
/
/
Procedure Aggro every 5 seconds
Timestamp ()
Key down $ExecTarget 100
Call CheckMonsterHP
//if incoming goods got aggrod, dont waste time by spoiling
If $Attacking = 1 and $Spoil = 1
Set STOPSPOIL = 1
End
does escape and call //hit nearest target?
End
/
/
/
/
Procedure READ target
//READ TARGET INTO THE CUNNING
File open target, Objects\Targets.txt
File RESET target
While 1=1
File READ target, temp target
If $TempTarget <> " " //make sure incoming goods have A VALUE
Cunning ADD target cunning, $TempTarget //add the READ item into the cunning
End
If {eof} = True
BREAK
End
End
File CLOSE target //close targets file
Cunning COUNT target cunning, total
//END READING TARGET
End
/
/
/
//SOUL SHOT USAGE
//Make sure your Soulshot or Spirit of SHOT is
//on the F9 hot keys
/
Procedure UseSS
If $UseSpiritSoulShot = 1
Key down $ExecSoulSpiritShot 2
End
End
/
/