Register for your free account! | Forgot your password?

You last visited: Today at 16:13

  • Please register to post and access all features, it's quick, easy and FREE!

 

Mageattack 2.2

Reply
 
Old   #1
 
elite*gold: 209
The Black Market: 135/1/0
Join Date: Jul 2003
Posts: 16,603
Received Thanks: 17,591
Code:
//******************************* 
//*****___MageAttack v2.2___***** 
//******************************* 

//For AC Tool 4.6.2 
//1024x768 Screen Res 
//BETA VERSION - would appreciate any feedback that may improve this macro 
//Have not attempted to make window positions fixed yet 
//You may need to adjust a couple of pixel locations to get everything working 


SetActiveWindow EverQuest II* 
Delay 1000 

Constants 
// Attack Limits 
MinAttackLevel = 2 
MaxAttackLevel = 5 

// when resting, bot will begin attacking when target is aquired 
AttackOnTarget = 1 
GoodTarget = 0 
HealthLow = 0 
ManaLow = 0 

//Flags 
NeedRest = 0 
Sitting = 0 
TargetAquired = 0 
AttackTarget = 0 
CheckForLoot = 0 
LootWindowPresent = 0 
TargetCount = 0 
AttackScriptRunning = 0 
WasTooFarAway = 0 
DebugStep = 0 
UnderAttack = 0 

//Behavior options 
LootingOn = 1 // Allows mobs to die right in front of you but you take more damage while fighting 
PursueOn = 1 // Allows char to move forward when TooFarAway message is on screen 
StrafeOn = 1 // Allows char to strafe to left when CantSeeTarget message is on screen 
PullSpell = 6 // Configured to be a DOT spell at present 
PullSpellCastingDelay = 1000 
PullSpellRecoveryDelay = 500 
PullSpellRecastDelay = 8000 
CastingDelay = 0 
PaintMessageDelay = 500 

End 


// notes 
// need to make the optional features work 


// The main loop 
Call Init 
While 1 = 1 
Delay 50 
Call UnderAttack 
Call Rest 
If $Sitting = 0 
Call GetTarget 
End 
Call AttackTarget 
Call Loot 
Call CloseGroupInviteWindow 
End 

Procedure CloseGroupInviteWindow 
//Pixel Check at 600, 471 should be color 206,182,123 
LoadRGB 600, 471 
If {RGBRed} = 206 AND {RGBBlue} = 182 AND {RGBGreen} = 123 
MousePos 610, 483 
LeftClick 
Keys /say No thanks {return} 
End 
End 

Procedure Loot 
If $LootingOn = 1 
Call CheckForLoot 
Call CheckForLootWindow 
Call GrabLoot 
End 
End 

Procedure CheckForLoot 
If $CheckForLoot = 1 
MousePos 500, 600 
Delay 250 
DoubleClick 
Delay 500 
Set $CheckForLoot = 0 
Set $LootWindowPresent = 1 
End 
End 

Procedure GrabLoot 
If $LootWindowPresent = 1 
MousePos $LootX, $LootY 
Delay 250 
LeftClick 
Set $LootWindowPresent = 0 
End 
End 

//Not in use at this time. Pixel location wrong. 
Procedure CheckForLootWindow 
LoadRGB 86,142 
If {RGBRed} = 66 AND {RGBGreen} = 49 AND {RGBBlue} = 60 
Set $LootWindowPresent = 1 
End 
End 

Procedure UnderAttack 
Set $UnderAttack = 0 
If $AttackScriptRunning = 0 
Call IsTargetAquired 
Call NeedToRest 
If $TargetAquired = 1 AND $NeedRest = 1 
Set $AttackTarget = 1 
Set $UnderAttack = 1 
End 
End 
End 

Procedure AttackTarget 
If $AttackTarget = 1 
Set $AttackScriptRunning = 1 
If $LootingOn = 1 
Else 
Keys 8 
Delay 3500 
End 
Call CastPullSpell 
Delay $PaintMessageDelay //Time for error message to paint on screen 
Compute $CastingDelay = $CastingDelay - $PaintMessageDelay 
If $CastingDelay > 0 
Delay $CastingDelay 
End 
Keys 2 
Delay 500 
While $TargetAquired = 1 
If $PursueOn = 1 
Call IsTooFarAway 
End 
If $StrafeOn = 1 
Call CantSeeTarget 
End 
Keys 5 
Delay 500 
Keys 5 
Delay 2000 
Call IsTargetAquired 
End 
Set $AttackTarget = 0 
Set $CheckForLoot = 1 
End 
Set $AttackScriptRunning = 0 
Set $TargetCount = 0 
Set $NeedRest = 1 
End 

Procedure CastPullSpell 
Constants 
SuccessfullyCast = 0 
End 
Set $CastingDelay = $PullSpellCastingDelay 
While $SuccessfullyCast = 0 
Keys $PullSpell 
Call IsTooFarAway 
End 
Delay $CastingDelay 
End 

Procedure IsTooFarAway 
Delay 500 
LoadRGB $TooFarAwayX, $TooFarAwayY 
Compute $TooFarAwayR = {RGBRed} 
Compute $TooFarAwayG = {RGBGreen} 
Compute $TooFarAwayB = {RGBBlue} 

If $TooFarAwayR = 100 AND $TooFarAwayG = 255 AND $TooFarAwayB = 255 
Set $SuccessfullyCast = 0 
While {RGBRed} = 100 AND {RGBGreen} = 255 AND {RGBBlue} = 255 
LoadRGB $TooFarAwayX, $TooFarAwayY 
Keydown {up} 500 
Compute $CastingDelay = $CastingDelay - 500 
End 
Else 
Set $SuccessfullyCast = 1 
End 
End 

Procedure CantSeeTarget 
LoadRGB $CantSeeTargetX, $CantSeeTargetY 
If {RGBRed} = 100 AND {RGBGreen} = 255 AND {RGBBlue} = 255 
Keydown ~A 500 
Compute $CastingDelay = $CastingDelay - 500 
End 
End 

Procedure Init 
Call SetCoordinates 
Call SetColors 
End 

Procedure Rest 
Call IsTargetAquired 
Call NeedToRest 
Call IsSitting 
If $NeedRest = 1 AND $TargetAquired = 0 
If $Sitting = 0 
Call SitDown 
End 
Else 
If $Sitting = 1 
Call StandUp 
End 
End 
End 

Procedure IsSitting 
//Check pixel on sit button to see if sitting 
LoadRGB $SittingX, $SittingY 
If {RGBRed} = 0 AND {RGBGreen} = 0 AND {RGBBlue} = 0 
Set $Sitting = 1 
Else 
Set $Sitting = 0 
End 
End 

Procedure SitDown 
Call IsSitting 
If $Sitting = 0 
Keys /sit {RETURN} 
Set $Sitting = 1 
End 
End 

Procedure StandUp 
Call IsSitting 
If $Sitting = 1 
Keys /stand {RETURN} 
Set $Sitting = 0 
End 
End 

Procedure NeedToRest 
Call CheckHealth 
Call CheckMana 
If $HealthLow = 1 or $ManaLow = 1 
Set $NeedRest = 1 
Else 
Set $NeedRest = 0 
End 
End 

Procedure CheckHealth 
LoadRGB $HealthX, $HealthY 
If {RGBRed} = $HealthR AND {RGBGreen} = $HealthG AND {RGBBlue} = $HealthB 
Set $HealthLow = 0 
Set $NeedRest = 0 
Else 
Set $HealthLow = 1 
Set $NeedRest = 1 
End 
End 

Procedure CheckMana 
LoadRGB $ManaX, $ManaY 
If {RGBRed} = $ManaR AND {RGBGreen} = $ManaG AND {RGBBlue} = $ManaB 
Set $ManaLow = 0 
Set $NeedRest = 0 
Else 
Set $ManaLow = 1 
Set $NeedRest = 1 
End 
End 

Procedure BuffChar 
// buff char and set timer till buff expires 
End 

Procedure IsTargetAquired 
LoadRGB $SoloX, $SoloY 
Compute $SoloR = {RGBRed} 
Compute $SoloG = {RGBGreen} 
Compute $SoloB = {RGBBlue} 
LoadRGB $GroupX, $GroupY 
Compute $GroupR = {RGBRed} 
Compute $GroupG = {RGBGreen} 
Compute $GroupB = {RGBBlue} 
LoadRGB $TrgtHealthX, $TrgtHealthY 
Compute $TrgtHealthR = {RGBRed} 
Compute $TrgtHealthG = {RGBGreen} 
Compute $TrgtHealthB = {RGBBlue} 

If $TrgtHealthR = 0 AND $TrgtHealthG = 0 AND $TrgtHealthB = 0 
Set $TargetAquired = 0 
Else 
Set $TargetAquired = 1 
End 

If $TargetAquired = 1 
If $SoloR = 0 AND $SoloG = 0 AND $SoloB = 0 
Set $TargetType = 2 //Must be a group target 
Else 
Set $TargetType = 1 //Must be a solo target 
End 
End 

End 

Procedure GetTarget 
// Scan area for a mob unless you already have one on target 
// identify mob level 
// aquire next target if needed 
Call IsTargetAquired // Sets $TargetAquired 
Call IsSitting // Sets $Sitting 
Set $DebugStep = 1 
Delay 333 

// Get a target unless you are sitting or already have one. 
If $TargetAquired = 0 AND $Sitting = 0 
Keys {tab} 
Compute $TargetCount = $TargetCount + 1 
If $TargetCount > 7 
Call NextMove 
Set $TargetCount = 0 
End 
Delay 100 
Call IsTargetAquired 
If $TargetAquired = 0 
Call NextMove 
End 
// Delay for debugging purposes. Turn on if aquiring targets before ready 
// Delay 7777 
End 
Set $DebugStep = 2 
Delay 333 

// If you have a target, and you are in attack mode, then evaluate it 
If $TargetAquired = 1 AND $AttackOnTarget = 1 
//Counts how many times you have tried to find a target before calling for a movement 
Compute $TargetCount = $TargetCount + 1 
Call EvaluateTarget 
If $AttackTarget = 0 
If $TargetCount > 7 
Call NextMove 
Set $TargetCount = 0 
End 
Call NextTarget 
End 
End 
End 

Procedure EvaluateTarget 
Constants 
Mob = 0 
End 

If $TargetType = 1 
LoadRGB $SoloX, $SoloY 
End 

If $TargetType = 2 
LoadRGB $GroupX, $GroupY 
End 

If {RGBRed} = $GreenMobR AND {RGBGreen} = $GreenMobG AND {RGBBlue} = $GreenMobB 
Set $Mob = 2 
Else 
If {RGBRed} = $BlueMobR AND {RGBGreen} = $BlueMobG AND {RGBBlue} = $BlueMobB 
Set $Mob = 3 
Else 
If {RGBRed} = $WhiteMobR AND {RGBGreen} = $WhiteMobG AND {RGBBlue} = $WhiteMobB 
Set $Mob = 4 
Else 
If {RGBRed} = $YellowMobR AND {RGBGreen} = $YellowMobG AND {RGBBlue} = $YellowMobB 
Set $Mob = 5 
Else 
If {RGBRed} = $RedMobR AND {RGBGreen} = $RedMobG AND {RGBBlue} = $RedMobB 
Set $Mob = 6 
Else 
Set $Mob = 1 
End 
End 
End 
End 
End 
//Delay 3333 
If $Mob >= $MinAttackLevel AND $Mob <= $MaxAttackLevel AND $TargetType = 1 
//Delay 4444 
Set $AttackTarget = 1 
// later, when scanning, restart movements. 
Set $NextMove = 0 
End 
End 

Procedure NextTarget 
Keys {tab} 
End 

Procedure SetCoordinates 
// set location of pixels to check for health, 
// mana, solo, TooFarAway, cantseetarget 
Constants 
HealthX = 0 
HealthY = 0 
ManaX = 0 
ManaY = 0 
SoloX = 0 
SoloY = 0 
GroupX = 0 
GroupY = 0 
LootX = 0 
LootY = 0 
LittleArrowX = 0 
LittleArrowY = 0 
TooFarAwayX = 0 
TooFarAwayY = 0 
CantSeeTargetX = 0 
CantSeeTargetY = 0 
SittingX = 0 
SittingY = 0 
TargetType = 0 
TrgtHealthX = 0 
TrgtHealthY = 0 
End 

Compute HealthX = {WindowLeft} + 124 
Compute HealthY = {WindowTop} + 46 
Compute ManaX = {WindowLeft} + 124 
Compute ManaY = {WindowTop} + 54 
Compute SoloX = {WindowLeft} + 76 
Compute SoloY = {WindowTop} + 107 
Compute GroupX = {WindowLeft} + 86 
Compute GroupY = {WindowTop} + 115 
Compute LootX = {WindowLeft} + 158 
Compute LootY = {WindowTop} + 323 
Compute LittleArrowX = {WindowLeft} + 0 
Compute LittleArrowY = {WindowTop} + 0 
Compute TooFarAwayX = {WindowLeft} + 449 
Compute TooFarAwayY = {WindowTop} + 621 
Compute CantSeeTargetX = {WindowLeft} + 433 
Compute CantSeeTargetY = {WindowTop} + 625 
Compute SittingX = {WindowLeft} + 352 
Compute SittingY = {WindowTop} + 710 
Compute TrgtHealthX = {WindowLeft} + 13 
Compute TrgtHealthY = {WindowTop} + 101 
End 

Procedure SetColors 
// set default colors for health, mana, mobs, 
// bad target messages 
Constants 
HealthR = 0 
HealthG = 251 
HealthB = 0 
ManaR = 107 
ManaG = 98 
ManaB = 246 
GrayMobR = 135 
GrayMobG = 135 
GrayMobB = 135 
GreenMobR = 64 
GreenMobG = 255 
GreenMobB = 64 
BlueMobR = 0 
BlueMobG = 190 
BlueMobB = 255 
WhiteMobR = 255 
WhiteMobG = 255 
WhiteMobB = 255 
YellowMobR = 255 
YellowMobG = 255 
YellowMobB = 64 
RedMobR = 255 
RedMobG = 48 
RedMobB = 48 
BadTargetR = 100 
BadTargetG = 255 
BadTargetB = 255 
SoloR = 0 
SoloG = 0 
SoloB = 0 
GroupR = 0 
GroupG = 0 
GroupB = 0 
TooFarAwayR = 0 
TooFarAwayG = 0 
TooFarAwayB = 0 
TrgtHealthR = 0 
TrgtHealthG = 0 
TrgtHealthB = 0 
End 
End 

// Moves the bot in preparation for target scanning. 
Procedure NextMove 
Constants 
NextMove = 0 
End 
Keydown {right} 400 
End



Lowfyr is offline  
Reply



« Previous Thread | Next Thread »



All times are GMT +1. The time now is 16:13.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.