Register for your free account! | Forgot your password?

You last visited: Today at 02:36

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

Advertisement



Mageattack 2.2

Discussion on Mageattack 2.2 within the General Gaming Discussion forum part of the General Gaming category.

Reply
 
Old   #1
 
Lowfyr's Avatar
 
elite*gold: 235
The Black Market: 135/1/0
Join Date: Jul 2003
Posts: 16,562
Received Thanks: 17,757
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




All times are GMT +2. The time now is 02:36.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.