Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Aion
You last visited: Today at 07:19

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

Advertisement



Para's Script Library

Discussion on Para's Script Library within the Aion forum part of the MMORPGs category.

View Poll Results: You want the scripts for any client language?
Yes, surely! 273 37.14%
No, english and german are enough for me. 462 62.86%
Voters: 735. You may not vote on this poll

Reply
 
Old 07/10/2019, 21:51   #2296
 
Paraly's Avatar
 
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,596
Quote:
Originally Posted by agua2o View Post
Ok. So all that I need to do is to thrown the HPPotions function in the scritpt and at the end of every round the script will check if I have the potions on my inventory and set Var3 with the ID. Is that it? And the number 3 means what? (not the %Var3, the other number 3)
Yes that's how it works, not sure which number 3 you mean though.

There're 40 variable slots %Var1, %Var2, %Var39, %Var40

If we save the item ID in variable 3 then the script will replace any %Var3 with the itemID, which happens at the _ACPotions line

So again when you put this function at the end of the combat routine script and you also need to add
Code:
#EXECUTE=HPPotions;
below this part
Code:
#IF=%Var10,=1;
#EXECUTE=TransformationPotions;
#ENDIF
it will at the beginning of each round check which potions you have and use them in combat
Paraly is offline  
Old 07/10/2019, 21:54   #2297
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
Quote:
Originally Posted by Paraly View Post
Yes that's how it works, not sure which number 3 you mean though.

There're 40 variable slots %Var1, %Var2, %Var39, %Var40

If we save the item ID in variable 3 then the script will replace any %Var3 with the itemID, which happens at the _ACPotions line

So again when you put this function at the end of the combat routine script and you also need to add
Code:
#EXECUTE=HPPotions;
below this part
Code:
#IF=%Var10,=1;
#EXECUTE=TransformationPotions;
#ENDIF
it will at the beginning of each round check which potions you have and use them in combat
Understood. And the "number 3" that I'm referring to is this one
Code:
_SetVar=PotionsPerRound,3;
agua2o is offline  
Old 07/10/2019, 21:57   #2298
 
Paraly's Avatar
 
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,596
Quote:
Originally Posted by agua2o View Post
Understood. And the "number 3" that I'm referring to is this one
Code:
_SetVar=PotionsPerRound,3;
This line declares a dynamic variable, they work similar to the 40 variable slots I explained above

we save the value "3" in a variable called "PotionsPerRound"

we can access this variable with %Var[PotionsPerRound], and we use that in all the following _IFInventoryContains lines, so it always checks if we have at least 3 of these potions at the beginning of each round before declaring them to be used in combat
Paraly is offline  
Old 07/10/2019, 21:58   #2299
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
Quote:
Originally Posted by Paraly View Post
This line declares a dynamic variable, they work similar to the 40 variable slots I explained above

we save the value "3" in a variable called "PotionsPerRound"

we can access this variable with %Var[PotionsPerRound], and we use that in all the following _IFInventoryContains lines, so it always checks if we have at least 3 of these potions at the beginning of each round before declaring them to be used in combat
OK. Thanks for the help!

Hey @!

What does the number after the / means in this line?

_ACItems=160040031/5061;
agua2o is offline  
Old 07/11/2019, 01:25   #2300
 
Paraly's Avatar
 
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,596
Quote:
Originally Posted by agua2o View Post
OK. Thanks for the help!

Hey @!

What does the number after the / means in this line?

_ACItems=160040031/5061;
That's the buff ID, you get buff IDs by checking "Show IDs" at the Script Editor and hovering above the buff ingame
Paraly is offline  
Old 07/11/2019, 01:31   #2301
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
Quote:
Originally Posted by Paraly View Post
That's the buff ID, you get buff IDs by checking "Show IDs" at the Script Editor and hovering above the buff ingame
Oh ****. I need to use the potion to see the buff ID. Gotcha.
agua2o is offline  
Old 07/11/2019, 04:14   #2302
 
elite*gold: 0
Join Date: Jul 2016
Posts: 86
Received Thanks: 5
never mind
crazymonkey84 is offline  
Old 07/11/2019, 22:40   #2303
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
So I have seen the bot use Return a few times when it wasn't needed. And I also have seen it get stuck trying to execute the start_Return and start_Reset functions when it was dead. To remedy that I have added a "#EXECUTE=CheckDead;" inside those functions, which appears to have solved that problem (at least it didn't get stuck trying to execute the function again).

Now I have noticed that it uses start_Return when it's apparently not needed and it adds a "Stuck" count.

Here is how I have my combat routine set up (I only use Rangers as bots so I have removed a lot of stuff from it):
Code:
#COMBAT ROUTINE VER 2.47
#IF=%FirstTime,;
RequireVersion=6.37;
UseSpeed=1;
#UseLoop
#EnableSpeech
#EnableChatLog
_SetVar3=162005006;
_SetVar4=1; //Wanna use NoAnimation while grinding?/n/nType 1 for yes or 0 for no
_SetVar7=0; //Enable selling when inventory is full?/n/nType 0 for no/nType 1 for selling at inventory/nType 2 for selling at merchant
_SetVar2=1; //Enable Anti-Stuck detection at the beginning of each round?/n/nType 1 for yes or 0 for no
_SetVar10=1; //Enable Transformation Potion usage?
_SetVar9=1; //Enable an improved cooldown detection?
_SetVar=Timeout,360; //Want to stop grinding after a certain amount of minutes?/n/nEnter the amount of minutes or 0 if you don't want any time limit
_SetVar=WhisperAnswer,0; //Enter your automatic reply text to whispers/n/nMake sure "T" is binded to "Reply to Whisper" at Aion/n/n(Recommended to paste "#EXECUTE=CheckWhisper" every few lines at your path)/n/nIf you don't want to reply to whispers enter 0
_Calc[TimeoutMS]=%Var[Timeout]*60000;
#AUTOSELLMARK

#SmoothBackground
Command=;
MemWrite=%AddrFreeMem4,%Var4,BYTE;
MemWrite=%AddrFreeMem2,%Var5,BYTE;
MemWrite=%AddrFreeMem6,0,BYTE;
#EXECUTE=CombatSort;
MemPtrWrite=%AddrFPS,%OffsetFPS1,30,BYTE; <-- these 2 lines cap the fps at 30
MemPtrWrite=%AddrFPS,%OffsetFPS2,30,FLOAT; <-- these 2 lines cap the fps at 30
#IF=%Var7,>0;
#SetArray2=Enter the ItemIDs the bot is allowed to sell/nExample: 182010036,182010037,182010038;
#ENDIF
#IF=%FirstTime,;
#EXECUTE=GetPetID;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;
#EXECUTE=DetectObelisk;
CreateTimer=9999998;
#ShowLog
MemWrite=%AddrFreeMem0,%Var[WhisperAnswer],CHAR[1];
_IFMemRead=%AddrFreeMem0,BYTE,>48;
#EXECUTE=InjectWhisperDetection;
#ENDIF


#EXECUTE=CheckDead;
#EXECUTE=CheckWhisper; // copy paste this line frequently after every few waypoints

#IF=%Var7,>0;
_MemPtrReadVar=%AddrMaxSlots,%OffsetMaxSlots,BYTE,6;
_Calc6=%Var6-5;
_IFMemPtrRead=%AddrSlots,%OffsetSlots,BYTE,>%Var6;
#EXECUTE=InventoryCheck;
#ENDIF

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
#ELSE
#IF=%Timer=9999998,43200000;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has grinded for more than 12 hours, longer periods of botting can be dangerous at europe.;
#ENDIF

#IF=%Var[Timeout],>0;
#IF=%Timer=9999998,%Var[TimeoutMS];
#EXECUTE=Stop;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has finished his grind session after %Var[Timeout] minutes.;
#UseNoLoop
#EndScript
#ENDIF


#IF=%FirstTime,;
_MemPtrReadVar=%PlayerBase,%OffsetPosX,FLOAT,StartPosX;
_MemPtrReadVar=%PlayerBase,%OffsetPosY,FLOAT,StartPosY;
_MemPtrReadVar=%PlayerBase,%OffsetPosZ,FLOAT,StartPosZ;
_Calc[StartPosX1]=%Var[StartPosX]-7.5;
_Calc[StartPosY1]=%Var[StartPosY]-7.5;
_Calc[StartPosZ1]=%Var[StartPosZ]-3;
_Calc[StartPosX2]=%Var[StartPosX]+7.5;
_Calc[StartPosY2]=%Var[StartPosY]+7.5;
_Calc[StartPosZ2]=%Var[StartPosZ]+3;
_Calc[ResetPosZ]=%Var[StartPosZ]+10;
#ELSE
#LogAddRound
FlySmooth=%Var[StartPosX],%Var[StartPosY],%Var[StartPosZ];
#ENDIF

#IF=%Var10,=1;
#EXECUTE=TransformationPotions;
#ENDIF
#EXECUTE=HPPotions;

_IFMemPtrRead=%PlayerBase,%OffsetPosX,FLOAT,%Var[StartPosX1]-%Var[StartPosX2];
_IFMemPtrRead=%PlayerBase,%OffsetPosY,FLOAT,%Var[StartPosY1]-%Var[StartPosY2];
_IFMemPtrRead=%PlayerBase,%OffsetPosZ,FLOAT,%Var[StartPosZ1]-%Var[StartPosZ2];
#ELSE
#IF=%Var2,=1;
#EXECUTE=Reset;
#ENDIF


#GRINDMARK


start_CheckDead;

_SetVar=Dead,0;

_IFFrameVisible=267;
_SetVar=Dead,1;
#ENDIF

_IFMemRead=%AddrResurrect,BYTE,<8;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetHP,DWORD,=0;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=0;
_SetVar=Dead,1;
#ENDIF

#IF=%Var[Dead],=1;
#EXECUTE=SetResolution;
#LogAddDeath
#DO=20000;
MemWrite=%AddrResurrect,1,BYTE; <- Resurrect
Delay=500;
_UNTILMemPtrRead=%PlayerBase,%OffsetHP,DWORD,>0;
Delay=5000;
MemWrite=%AddrResurrect,8,BYTE; <- Reset Resurrect
#EXECUTE=FindSoulHealer;
Delay=1000;
#EXECUTE=Return;
#EXECUTE=CheckAutoLoot;
#ENDIF

end_CheckDead;


start_Stop;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF
Delay=4500;

end_Stop;



start_Reset;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF

Delay=4500;
#LogAddStuck
#EXECUTE=Return;

end_Reset;


start_DetectObelisk;

Command=/select Obelisk;
Command=/select Obélisque;
Command=/select Obelisco;
Delay=125;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[2],=Ob;
#EXECUTE=Return;
#ENDIF

end_DetectObelisk;


start_FindSoulHealer;

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
_SetVar11=527; Soulhealer FrameID NA
#ELSE
_SetVar11=527; Soulhealer FrameID EU
#ENDIF


MemWrite=%AddrCamY,85,FLOAT;
#DO=7000;
SendKey=0x77;
Delay=35;
_UNTILMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
_IFMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
#DO=15000;
Command=/attack;
Delay=1550;
DialogClick=NpcFunc128;
Delay=750;
_UNTILMemPtrRead=%AddrFrameID[%Var11],0x28,BYTE,=175;
FrameAction=%Var11,XPOS,0;
FrameAction=%Var11,YPOS,0;
Delay=550;
Mouse=160,95;
Delay=750;
_UNTILMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=100;
#ELSE
_ACReg=;
#ENDIF
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
MemWrite=%AddrCamY,25,FLOAT;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;

end_FindSoulHealer;


start_CheckAutoLoot;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+748;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50045;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

_IFMemRead=%Var[CATempAddr],DWORD,=0;
_ACMob_Looting=True;
#ELSE
_ACMob_Looting=False;
#ENDIF

end_CheckAutoLoot;


start_CheckAutoBuff;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+696;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50044;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

end_CheckAutoBuff;


start_GetPetID;

_SetVar=PetAvailable,0;

_IFMemRead=%AddrPet,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,46;
#ENDIF

_IFMemRead=%AddrMinion,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrMinion,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,86;
#ENDIF

end_GetPetID;



start_Return;

#RETURNMARK

end_Return;


start_CombatSort;


;;;;;;;;BASIC SETTINGS;;;;;;;;;;;

#IF=%Var4,=1;
_ACUseAnimation=True;
#ENDIF

#IF=%Var3,>0;
_ACPotion=%Var3,HP/MP,50,66;
#ENDIF

_ACRegenerateEnabled=True;
_ACRegMPPercentage=30;
_ACRegHPPercentage=35;
_ACTimeout=300000;
_ACMob_Looting=False;
_ACAllowAllMobs=True;
_ACResetPosition=False;
_ACIgnoreAtDistance=20;

;;;;;;;END BASIC SETTINGS;;;;;;;;



_IFMemPtrRead=%PlayerBase,%OffsetClassID,BYTE,=5;
;;;;;;;;;Settings Ranger;;;;;;;;; by widoxd02

_ACRelyOnBuff=813,813;
_ACRelyOnBuff=796,796;
_ACRelyOnBuff=1057,1057;
_ACRelyOnBuff=867,867;
_ACRelyOnBuff=3235,3235;
_ACRelyOnBuff=889,889;
_ACRelyOnBuff=4875,4875;
_ACRelyOnBuff=4724,4724;

_ACIsActive=889,True;
_ACIsActive=4724,True;
_ACIsActive=4875,True;

_ACRelyOnDP=4875,2000;

_ACManaPercentage=66;
_ACHealPercentage=50;

_ACInitialRange=15;

_ACBuffs=889,4724,4875,813,796,1057,867,3235;
_ACSkills=961,4722,795,871,825,1052,1026,1005,4723,1134;

;;;;;;;End Settings Ranger;;;;;;;
#ENDIF


#IF=%Var9,=1;
_ACExperimentalCooldown=True; --- Please wait...
#ENDIF

end_CombatSort;




start_TransformationPotions;

_SetVar=PotionsPerRound,1;

_IFInventoryContains=160040031,%Var[PotionsPerRound];
_ACItems=160040031/5061;
#ENDIF

_IFInventoryContains=160020030,%Var[PotionsPerRound];
_ACItems=160020030/5060;
#ENDIF

_IFInventoryContains=160040029,%Var[PotionsPerRound];
_ACItems=160040029/5059;
#ENDIF

_IFInventoryContains=160040028,%Var[PotionsPerRound];
_ACItems=160040028/5058;
#ENDIF

_IFInventoryContains=160040027,%Var[PotionsPerRound];
_ACItems=160040027/5057;
#ENDIF

_IFInventoryContains=160040026,%Var[PotionsPerRound];
_ACItems=160040026/5056;
#ENDIF

_IFInventoryContains=160040025,%Var[PotionsPerRound];
_ACItems=160040025/5055;
#ENDIF

_IFInventoryContains=160040024,%Var[PotionsPerRound];
_ACItems=160040024/5054;
#ENDIF

_IFInventoryContains=160040023,%Var[PotionsPerRound];
_ACItems=160040023/5053;
#ENDIF

_IFInventoryContains=160040022,%Var[PotionsPerRound];
_ACItems=160040022/5052;
#ENDIF

_IFInventoryContains=160040021,%Var[PotionsPerRound];
_ACItems=160040021/5051;
#ENDIF

_IFInventoryContains=160040020,%Var[PotionsPerRound];
_ACItems=160040020/5050;
#ENDIF

_IFInventoryContains=160040019,%Var[PotionsPerRound];
_ACItems=160040019/5049;
#ENDIF

_IFInventoryContains=160040018,%Var[PotionsPerRound];
_ACItems=160040018/5048;
#ENDIF

_IFInventoryContains=160040017,%Var[PotionsPerRound];
_ACItems=160040017/5047;
#ENDIF

_IFInventoryContains=160040016,%Var[PotionsPerRound];
_ACItems=160040016/5046;
#ENDIF

_IFInventoryContains=160040015,%Var[PotionsPerRound];
_ACItems=160040015/5045;
#ENDIF

_IFInventoryContains=160040014,%Var[PotionsPerRound];
_ACItems=160040014/5044;
#ENDIF

_IFInventoryContains=160040013,%Var[PotionsPerRound];
_ACItems=160040013/5043;
#ENDIF

_IFInventoryContains=160040012,%Var[PotionsPerRound];
_ACItems=160040012/5042;
#ENDIF

_IFInventoryContains=160040011,%Var[PotionsPerRound];
_ACItems=160040011/5041;
#ENDIF

_IFInventoryContains=160040010,%Var[PotionsPerRound];
_ACItems=160040010/5040;
#ENDIF

_IFInventoryContains=160040009,%Var[PotionsPerRound];
_ACItems=160040009/5039;
#ENDIF

_IFInventoryContains=160040008,%Var[PotionsPerRound];
_ACItems=160040008/5038;
#ENDIF

_IFInventoryContains=160040007,%Var[PotionsPerRound];
_ACItems=160040007/5037;
#ENDIF

_IFInventoryContains=160040006,%Var[PotionsPerRound];
_ACItems=160040006/5036;
#ENDIF

_IFInventoryContains=160040005,%Var[PotionsPerRound];
_ACItems=160040005/5035;
#ENDIF

_IFInventoryContains=160040004,%Var[PotionsPerRound];
_ACItems=160040004/5034;
#ENDIF

_IFInventoryContains=160040003,%Var[PotionsPerRound];
_ACItems=160040003/5033;
#ENDIF

_IFInventoryContains=160040002,%Var[PotionsPerRound];
_ACItems=160040002/5032;
#ENDIF

_IFInventoryContains=160040001,%Var[PotionsPerRound];
_ACItems=160040001/5031;
#ENDIF

_IFInventoryContains=160040000,%Var[PotionsPerRound];
_ACItems=160040000/5030;
#ENDIF

end_TransformationPotions;

start_HPPotions;

_SetVar=PotionsPerRound,2;

_IFInventoryContains=162005006,%Var[PotionsPerRound]; // If has 3 or more of this potion
_SetVar3=162005006; // set item ID as variable 3
#ENDIF

_IFInventoryContains=162005002,%Var[PotionsPerRound];
_SetVar3=162005002; // set item ID as variable 3
#ENDIF

//highest priority potions should be declared as late as possible

#EXECUTE=CombatSort; // call combatsort function so %Var3 gets applied at the _ACPotion line

end_HPPotions;

start_SetResolution; <-- resizes client without using real mouse

Console=\r_Height 600;
Console=\r_Width 800;

end_SetResolution;
Could I have removed something that shouldn't be? It's not always that it bugs, though. But sometimes I have to move the bot to the starting point and start it all over for it to stop being stuck when it's not stuck, if you know what I mean.

Also, it deactivates the usage of Power Shards sometimes. I haven't been able to check when that happens exactly. Even if you have them in the slot (right now I have 50k equiped and had it activated 100% sure before I left home, and I just got back home and the bot had deactivated the Power Shards, but kept them equiped).
agua2o is offline  
Old 07/12/2019, 00:07   #2304
 
Paraly's Avatar
 
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,596
Quote:
Originally Posted by agua2o View Post
So I have seen the bot use Return a few times when it wasn't needed. And I also have seen it get stuck trying to execute the start_Return and start_Reset functions when it was dead. To remedy that I have added a "#EXECUTE=CheckDead;" inside those functions, which appears to have solved that problem (at least it didn't get stuck trying to execute the function again).

Now I have noticed that it uses start_Return when it's apparently not needed and it adds a "Stuck" count.

Here is how I have my combat routine set up (I only use Rangers as bots so I have removed a lot of stuff from it):
Code:
#COMBAT ROUTINE VER 2.47
#IF=%FirstTime,;
RequireVersion=6.37;
UseSpeed=1;
#UseLoop
#EnableSpeech
#EnableChatLog
_SetVar3=162005006;
_SetVar4=1; //Wanna use NoAnimation while grinding?/n/nType 1 for yes or 0 for no
_SetVar7=0; //Enable selling when inventory is full?/n/nType 0 for no/nType 1 for selling at inventory/nType 2 for selling at merchant
_SetVar2=0; //Enable Anti-Stuck detection at the beginning of each round?/n/nType 1 for yes or 0 for no
_SetVar10=1; //Enable Transformation Potion usage?
_SetVar9=1; //Enable an improved cooldown detection?
_SetVar=Timeout,360; //Want to stop grinding after a certain amount of minutes?/n/nEnter the amount of minutes or 0 if you don't want any time limit
_SetVar=WhisperAnswer,0; //Enter your automatic reply text to whispers/n/nMake sure "T" is binded to "Reply to Whisper" at Aion/n/n(Recommended to paste "#EXECUTE=CheckWhisper" every few lines at your path)/n/nIf you don't want to reply to whispers enter 0
_Calc[TimeoutMS]=%Var[Timeout]*60000;
#AUTOSELLMARK

#SmoothBackground
Command=;
MemWrite=%AddrFreeMem4,%Var4,BYTE;
MemWrite=%AddrFreeMem2,%Var5,BYTE;
MemWrite=%AddrFreeMem6,0,BYTE;
#EXECUTE=CombatSort;
MemPtrWrite=%AddrFPS,%OffsetFPS1,30,BYTE; <-- these 2 lines cap the fps at 30
MemPtrWrite=%AddrFPS,%OffsetFPS2,30,FLOAT; <-- these 2 lines cap the fps at 30
#IF=%Var7,>0;
#SetArray2=Enter the ItemIDs the bot is allowed to sell/nExample: 182010036,182010037,182010038;
#ENDIF
#IF=%FirstTime,;
#EXECUTE=GetPetID;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;
#EXECUTE=DetectObelisk;
CreateTimer=9999998;
#ShowLog
MemWrite=%AddrFreeMem0,%Var[WhisperAnswer],CHAR[1];
_IFMemRead=%AddrFreeMem0,BYTE,>48;
#EXECUTE=InjectWhisperDetection;
#ENDIF


#EXECUTE=CheckDead;
#EXECUTE=CheckWhisper; // copy paste this line frequently after every few waypoints

#IF=%Var7,>0;
_MemPtrReadVar=%AddrMaxSlots,%OffsetMaxSlots,BYTE,6;
_Calc6=%Var6-5;
_IFMemPtrRead=%AddrSlots,%OffsetSlots,BYTE,>%Var6;
#EXECUTE=InventoryCheck;
#ENDIF

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
#ELSE
#IF=%Timer=9999998,43200000;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has grinded for more than 12 hours, longer periods of botting can be dangerous at europe.;
#ENDIF

#IF=%Var[Timeout],>0;
#IF=%Timer=9999998,%Var[TimeoutMS];
#EXECUTE=Stop;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has finished his grind session after %Var[Timeout] minutes.;
#UseNoLoop
#EndScript
#ENDIF


#IF=%FirstTime,;
_MemPtrReadVar=%PlayerBase,%OffsetPosX,FLOAT,StartPosX;
_MemPtrReadVar=%PlayerBase,%OffsetPosY,FLOAT,StartPosY;
_MemPtrReadVar=%PlayerBase,%OffsetPosZ,FLOAT,StartPosZ;
_Calc[StartPosX1]=%Var[StartPosX]-7.5;
_Calc[StartPosY1]=%Var[StartPosY]-7.5;
_Calc[StartPosZ1]=%Var[StartPosZ]-3;
_Calc[StartPosX2]=%Var[StartPosX]+7.5;
_Calc[StartPosY2]=%Var[StartPosY]+7.5;
_Calc[StartPosZ2]=%Var[StartPosZ]+3;
_Calc[ResetPosZ]=%Var[StartPosZ]+10;
#ELSE
#LogAddRound
FlySmooth=%Var[StartPosX],%Var[StartPosY],%Var[StartPosZ];
#ENDIF

#IF=%Var10,=1;
#EXECUTE=TransformationPotions;
#ENDIF
#EXECUTE=HPPotions;

_IFMemPtrRead=%PlayerBase,%OffsetPosX,FLOAT,%Var[StartPosX1]-%Var[StartPosX2];
_IFMemPtrRead=%PlayerBase,%OffsetPosY,FLOAT,%Var[StartPosY1]-%Var[StartPosY2];
_IFMemPtrRead=%PlayerBase,%OffsetPosZ,FLOAT,%Var[StartPosZ1]-%Var[StartPosZ2];
#ELSE
#IF=%Var2,=1;
#EXECUTE=Reset;
#ENDIF


#GRINDMARK


start_CheckDead;

_SetVar=Dead,0;

_IFFrameVisible=267;
_SetVar=Dead,1;
#ENDIF

_IFMemRead=%AddrResurrect,BYTE,<8;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetHP,DWORD,=0;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=0;
_SetVar=Dead,1;
#ENDIF

#IF=%Var[Dead],=1;
#EXECUTE=SetResolution;
#LogAddDeath
#DO=20000;
MemWrite=%AddrResurrect,1,BYTE; <- Resurrect
Delay=500;
_UNTILMemPtrRead=%PlayerBase,%OffsetHP,DWORD,>0;
Delay=5000;
MemWrite=%AddrResurrect,8,BYTE; <- Reset Resurrect
#EXECUTE=FindSoulHealer;
Delay=1000;
#EXECUTE=Return;
#EXECUTE=CheckAutoLoot;
#ENDIF

end_CheckDead;


start_Stop;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF
Delay=4500;

end_Stop;



start_Reset;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF

Delay=4500;
#LogAddStuck
#EXECUTE=Return;

end_Reset;


start_DetectObelisk;

Command=/select Obelisk;
Command=/select Obélisque;
Command=/select Obelisco;
Delay=125;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[2],=Ob;
#EXECUTE=Return;
#ENDIF

end_DetectObelisk;


start_FindSoulHealer;

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
_SetVar11=527; Soulhealer FrameID NA
#ELSE
_SetVar11=527; Soulhealer FrameID EU
#ENDIF


MemWrite=%AddrCamY,85,FLOAT;
#DO=7000;
SendKey=0x77;
Delay=35;
_UNTILMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
_IFMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
#DO=15000;
Command=/attack;
Delay=1550;
DialogClick=NpcFunc128;
Delay=750;
_UNTILMemPtrRead=%AddrFrameID[%Var11],0x28,BYTE,=175;
FrameAction=%Var11,XPOS,0;
FrameAction=%Var11,YPOS,0;
Delay=550;
Mouse=160,95;
Delay=750;
_UNTILMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=100;
#ELSE
_ACReg=;
#ENDIF
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
MemWrite=%AddrCamY,25,FLOAT;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;

end_FindSoulHealer;


start_CheckAutoLoot;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+748;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50045;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

_IFMemRead=%Var[CATempAddr],DWORD,=0;
_ACMob_Looting=True;
#ELSE
_ACMob_Looting=False;
#ENDIF

end_CheckAutoLoot;


start_CheckAutoBuff;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+696;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50044;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

end_CheckAutoBuff;


start_GetPetID;

_SetVar=PetAvailable,0;

_IFMemRead=%AddrPet,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,46;
#ENDIF

_IFMemRead=%AddrMinion,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrMinion,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,86;
#ENDIF

end_GetPetID;



start_Return;

#RETURNMARK

end_Return;


start_CombatSort;


;;;;;;;;BASIC SETTINGS;;;;;;;;;;;

#IF=%Var4,=1;
_ACUseAnimation=True;
#ENDIF

#IF=%Var3,>0;
_ACPotion=%Var3,HP/MP,50,66;
#ENDIF

_ACRegenerateEnabled=True;
_ACRegMPPercentage=30;
_ACRegHPPercentage=35;
_ACTimeout=300000;
_ACMob_Looting=False;
_ACAllowAllMobs=True;
_ACResetPosition=False;
_ACIgnoreAtDistance=20;

;;;;;;;END BASIC SETTINGS;;;;;;;;



_IFMemPtrRead=%PlayerBase,%OffsetClassID,BYTE,=5;
;;;;;;;;;Settings Ranger;;;;;;;;; by widoxd02

_ACRelyOnBuff=813,813;
_ACRelyOnBuff=796,796;
_ACRelyOnBuff=1057,1057;
_ACRelyOnBuff=867,867;
_ACRelyOnBuff=3235,3235;
_ACRelyOnBuff=889,889;
_ACRelyOnBuff=4875,4875;
_ACRelyOnBuff=4724,4724;

_ACIsActive=889,True;
_ACIsActive=4724,True;
_ACIsActive=4875,True;

_ACRelyOnDP=4875,2000;

_ACManaPercentage=66;
_ACHealPercentage=50;

_ACInitialRange=15;

_ACBuffs=889,4724,4875,813,796,1057,867,3235;
_ACSkills=961,4722,795,871,825,1052,1026,1005,4723,1134;

;;;;;;;End Settings Ranger;;;;;;;
#ENDIF


#IF=%Var9,=1;
_ACExperimentalCooldown=True; --- Please wait...
#ENDIF

end_CombatSort;




start_TransformationPotions;

_SetVar=PotionsPerRound,1;

_IFInventoryContains=160040031,%Var[PotionsPerRound];
_ACItems=160040031/5061;
#ENDIF

_IFInventoryContains=160020030,%Var[PotionsPerRound];
_ACItems=160020030/5060;
#ENDIF

_IFInventoryContains=160040029,%Var[PotionsPerRound];
_ACItems=160040029/5059;
#ENDIF

_IFInventoryContains=160040028,%Var[PotionsPerRound];
_ACItems=160040028/5058;
#ENDIF

_IFInventoryContains=160040027,%Var[PotionsPerRound];
_ACItems=160040027/5057;
#ENDIF

_IFInventoryContains=160040026,%Var[PotionsPerRound];
_ACItems=160040026/5056;
#ENDIF

_IFInventoryContains=160040025,%Var[PotionsPerRound];
_ACItems=160040025/5055;
#ENDIF

_IFInventoryContains=160040024,%Var[PotionsPerRound];
_ACItems=160040024/5054;
#ENDIF

_IFInventoryContains=160040023,%Var[PotionsPerRound];
_ACItems=160040023/5053;
#ENDIF

_IFInventoryContains=160040022,%Var[PotionsPerRound];
_ACItems=160040022/5052;
#ENDIF

_IFInventoryContains=160040021,%Var[PotionsPerRound];
_ACItems=160040021/5051;
#ENDIF

_IFInventoryContains=160040020,%Var[PotionsPerRound];
_ACItems=160040020/5050;
#ENDIF

_IFInventoryContains=160040019,%Var[PotionsPerRound];
_ACItems=160040019/5049;
#ENDIF

_IFInventoryContains=160040018,%Var[PotionsPerRound];
_ACItems=160040018/5048;
#ENDIF

_IFInventoryContains=160040017,%Var[PotionsPerRound];
_ACItems=160040017/5047;
#ENDIF

_IFInventoryContains=160040016,%Var[PotionsPerRound];
_ACItems=160040016/5046;
#ENDIF

_IFInventoryContains=160040015,%Var[PotionsPerRound];
_ACItems=160040015/5045;
#ENDIF

_IFInventoryContains=160040014,%Var[PotionsPerRound];
_ACItems=160040014/5044;
#ENDIF

_IFInventoryContains=160040013,%Var[PotionsPerRound];
_ACItems=160040013/5043;
#ENDIF

_IFInventoryContains=160040012,%Var[PotionsPerRound];
_ACItems=160040012/5042;
#ENDIF

_IFInventoryContains=160040011,%Var[PotionsPerRound];
_ACItems=160040011/5041;
#ENDIF

_IFInventoryContains=160040010,%Var[PotionsPerRound];
_ACItems=160040010/5040;
#ENDIF

_IFInventoryContains=160040009,%Var[PotionsPerRound];
_ACItems=160040009/5039;
#ENDIF

_IFInventoryContains=160040008,%Var[PotionsPerRound];
_ACItems=160040008/5038;
#ENDIF

_IFInventoryContains=160040007,%Var[PotionsPerRound];
_ACItems=160040007/5037;
#ENDIF

_IFInventoryContains=160040006,%Var[PotionsPerRound];
_ACItems=160040006/5036;
#ENDIF

_IFInventoryContains=160040005,%Var[PotionsPerRound];
_ACItems=160040005/5035;
#ENDIF

_IFInventoryContains=160040004,%Var[PotionsPerRound];
_ACItems=160040004/5034;
#ENDIF

_IFInventoryContains=160040003,%Var[PotionsPerRound];
_ACItems=160040003/5033;
#ENDIF

_IFInventoryContains=160040002,%Var[PotionsPerRound];
_ACItems=160040002/5032;
#ENDIF

_IFInventoryContains=160040001,%Var[PotionsPerRound];
_ACItems=160040001/5031;
#ENDIF

_IFInventoryContains=160040000,%Var[PotionsPerRound];
_ACItems=160040000/5030;
#ENDIF

end_TransformationPotions;

start_HPPotions;

_SetVar=PotionsPerRound,2;

_IFInventoryContains=162005006,%Var[PotionsPerRound]; // If has 3 or more of this potion
_SetVar3=162005006; // set item ID as variable 3
#ENDIF

_IFInventoryContains=162005002,%Var[PotionsPerRound];
_SetVar3=162005002; // set item ID as variable 3
#ENDIF

//highest priority potions should be declared as late as possible

#EXECUTE=CombatSort; // call combatsort function so %Var3 gets applied at the _ACPotion line

end_HPPotions;

start_SetResolution; <-- resizes client without using real mouse

Console=\r_Height 600;
Console=\r_Width 800;

end_SetResolution;
Could I have removed something that shouldn't be? It's not always that it bugs, though. But sometimes I have to move the bot to the starting point and start it all over for it to stop being stuck when it's not stuck, if you know what I mean.

Also, it deactivates the usage of PowerShards sometimes. I haven't been able to check when that happens exactly.
Code:
#COMBAT ROUTINE VER 2.47
#IF=%FirstTime,;
RequireVersion=6.37;
UseSpeed=1;
#UseLoop
#EnableSpeech
#EnableChatLog
_SetVar3=162005006;
_SetVar4=1; //Wanna use NoAnimation while grinding?/n/nType 1 for yes or 0 for no
_SetVar7=0; //Enable selling when inventory is full?/n/nType 0 for no/nType 1 for selling at inventory/nType 2 for selling at merchant
_SetVar2=1; //Enable Anti-Stuck detection at the beginning of each round?/n/nType 1 for yes or 0 for no
_SetVar10=1; //Enable Transformation Potion usage?
_SetVar9=1; //Enable an improved cooldown detection?
_SetVar=Timeout,360; //Want to stop grinding after a certain amount of minutes?/n/nEnter the amount of minutes or 0 if you don't want any time limit
_SetVar=WhisperAnswer,0; //Enter your automatic reply text to whispers/n/nMake sure "T" is binded to "Reply to Whisper" at Aion/n/n(Recommended to paste "#EXECUTE=CheckWhisper" every few lines at your path)/n/nIf you don't want to reply to whispers enter 0
_Calc[TimeoutMS]=%Var[Timeout]*60000;
#AUTOSELLMARK

#SmoothBackground
Command=;
MemWrite=%AddrFreeMem4,%Var4,BYTE;
MemWrite=%AddrFreeMem2,%Var5,BYTE;
MemWrite=%AddrFreeMem6,0,BYTE;
#EXECUTE=CombatSort;
MemPtrWrite=%AddrFPS,%OffsetFPS1,30,BYTE; <-- these 2 lines cap the fps at 30
MemPtrWrite=%AddrFPS,%OffsetFPS2,30,FLOAT; <-- these 2 lines cap the fps at 30
#IF=%Var7,>0;
#SetArray2=Enter the ItemIDs the bot is allowed to sell/nExample: 182010036,182010037,182010038;
#ENDIF
#IF=%FirstTime,;
#EXECUTE=GetPetID;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;
#EXECUTE=DetectObelisk;
CreateTimer=9999998;
#ShowLog
MemWrite=%AddrFreeMem0,%Var[WhisperAnswer],CHAR[1];
_IFMemRead=%AddrFreeMem0,BYTE,>48;
#EXECUTE=InjectWhisperDetection;
#ENDIF


#EXECUTE=CheckDead;
#EXECUTE=CheckWhisper; // copy paste this line frequently after every few waypoints

#IF=%Var7,>0;
_MemPtrReadVar=%AddrMaxSlots,%OffsetMaxSlots,BYTE,6;
_Calc6=%Var6-5;
_IFMemPtrRead=%AddrSlots,%OffsetSlots,BYTE,>%Var6;
#EXECUTE=InventoryCheck;
#ENDIF

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
#ELSE
#IF=%Timer=9999998,43200000;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has grinded for more than 12 hours, longer periods of botting can be dangerous at europe.;
#ENDIF

#IF=%Var[Timeout],>0;
#IF=%Timer=9999998,%Var[TimeoutMS];
#EXECUTE=Stop;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has finished his grind session after %Var[Timeout] minutes.;
#UseNoLoop
#EndScript
#ENDIF


#IF=%FirstTime,;
_MemPtrReadVar=%PlayerBase,%OffsetPosX,FLOAT,StartPosX;
_MemPtrReadVar=%PlayerBase,%OffsetPosY,FLOAT,StartPosY;
_MemPtrReadVar=%PlayerBase,%OffsetPosZ,FLOAT,StartPosZ;
_Calc[StartPosX1]=%Var[StartPosX]-7.5;
_Calc[StartPosY1]=%Var[StartPosY]-7.5;
_Calc[StartPosZ1]=%Var[StartPosZ]-3;
_Calc[StartPosX2]=%Var[StartPosX]+7.5;
_Calc[StartPosY2]=%Var[StartPosY]+7.5;
_Calc[StartPosZ2]=%Var[StartPosZ]+3;
_Calc[ResetPosZ]=%Var[StartPosZ]+10;
#ELSE
#LogAddRound
FlySmooth=%Var[StartPosX],%Var[StartPosY],%Var[StartPosZ];
#ENDIF

#IF=%Var10,=1;
#EXECUTE=TransformationPotions;
#ENDIF
#EXECUTE=HPPotions;

_IFMemPtrRead=%PlayerBase,%OffsetPosX,FLOAT,%Var[StartPosX1]-%Var[StartPosX2];
_IFMemPtrRead=%PlayerBase,%OffsetPosY,FLOAT,%Var[StartPosY1]-%Var[StartPosY2];
_IFMemPtrRead=%PlayerBase,%OffsetPosZ,FLOAT,%Var[StartPosZ1]-%Var[StartPosZ2];
#ELSE
#IF=%Var2,=1;
#EXECUTE=Reset;
#ENDIF


#GRINDMARK


start_CheckDead;

_SetVar=Dead,0;

_IFFrameVisible=267;
_SetVar=Dead,1;
#ENDIF

_IFMemRead=%AddrResurrect,BYTE,<8;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetHP,DWORD,=0;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=0;
_SetVar=Dead,1;
#ENDIF

#IF=%Var[Dead],=1;
#EXECUTE=SetResolution;
#LogAddDeath
#DO=20000;
MemWrite=%AddrResurrect,1,BYTE; <- Resurrect
Delay=500;
_UNTILMemPtrRead=%PlayerBase,%OffsetHP,DWORD,>0;
Delay=5000;
MemWrite=%AddrResurrect,8,BYTE; <- Reset Resurrect
#EXECUTE=FindSoulHealer;
Delay=1000;
#EXECUTE=Return;
#EXECUTE=CheckAutoLoot;
#Restart
#ENDIF

end_CheckDead;


start_Stop;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF
Delay=4500;

end_Stop;



start_Reset;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF

Delay=4500;
#LogAddStuck
#EXECUTE=Return;

end_Reset;


start_DetectObelisk;

Command=/select Obelisk;
Command=/select Obélisque;
Command=/select Obelisco;
Delay=125;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[2],=Ob;
#EXECUTE=Return;
#ENDIF

end_DetectObelisk;


start_FindSoulHealer;

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
_SetVar11=527; Soulhealer FrameID NA
#ELSE
_SetVar11=527; Soulhealer FrameID EU
#ENDIF


MemWrite=%AddrCamY,85,FLOAT;
#DO=7000;
SendKey=0x77;
Delay=35;
_UNTILMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
_IFMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
#DO=15000;
Command=/attack;
Delay=1550;
DialogClick=NpcFunc128;
Delay=750;
_UNTILMemPtrRead=%AddrFrameID[%Var11],0x28,BYTE,=175;
FrameAction=%Var11,XPOS,0;
FrameAction=%Var11,YPOS,0;
Delay=550;
Mouse=160,95;
Delay=750;
_UNTILMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=100;
#ELSE
_ACReg=;
#ENDIF
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
MemWrite=%AddrCamY,25,FLOAT;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;

end_FindSoulHealer;


start_CheckAutoLoot;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+748;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50045;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

_IFMemRead=%Var[CATempAddr],DWORD,=0;
_ACMob_Looting=True;
#ELSE
_ACMob_Looting=False;
#ENDIF

end_CheckAutoLoot;


start_CheckAutoBuff;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+696;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50044;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

end_CheckAutoBuff;


start_GetPetID;

_SetVar=PetAvailable,0;

_IFMemRead=%AddrPet,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,46;
#ENDIF

_IFMemRead=%AddrMinion,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrMinion,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,86;
#ENDIF

end_GetPetID;



start_Return;

#RETURNMARK

end_Return;


start_CombatSort;


;;;;;;;;BASIC SETTINGS;;;;;;;;;;;

#IF=%Var4,=1;
_ACUseAnimation=True;
#ENDIF

#IF=%Var3,>0;
_ACPotion=%Var3,HP/MP,50,66;
#ENDIF

_ACRegenerateEnabled=True;
_ACRegMPPercentage=30;
_ACRegHPPercentage=35;
_ACTimeout=300000;
_ACMob_Looting=False;
_ACAllowAllMobs=True;
_ACResetPosition=False;
_ACIgnoreAtDistance=20;

;;;;;;;END BASIC SETTINGS;;;;;;;;



_IFMemPtrRead=%PlayerBase,%OffsetClassID,BYTE,=5;
;;;;;;;;;Settings Ranger;;;;;;;;; by widoxd02

_ACRelyOnBuff=813,813;
_ACRelyOnBuff=796,796;
_ACRelyOnBuff=1057,1057;
_ACRelyOnBuff=867,867;
_ACRelyOnBuff=3235,3235;
_ACRelyOnBuff=889,889;
_ACRelyOnBuff=4875,4875;
_ACRelyOnBuff=4724,4724;

_ACIsActive=889,True;
_ACIsActive=4724,True;
_ACIsActive=4875,True;

_ACRelyOnDP=4875,2000;

_ACManaPercentage=66;
_ACHealPercentage=50;

_ACInitialRange=15;

_ACBuffs=889,4724,4875,813,796,1057,867,3235;
_ACSkills=961,4722,795,871,825,1052,1026,1005,4723,1134;

;;;;;;;End Settings Ranger;;;;;;;
#ENDIF


#IF=%Var9,=1;
_ACExperimentalCooldown=True; --- Please wait...
#ENDIF

end_CombatSort;




start_TransformationPotions;

_SetVar=PotionsPerRound,1;

_IFInventoryContains=160040031,%Var[PotionsPerRound];
_ACItems=160040031/5061;
#ENDIF

_IFInventoryContains=160020030,%Var[PotionsPerRound];
_ACItems=160020030/5060;
#ENDIF

_IFInventoryContains=160040029,%Var[PotionsPerRound];
_ACItems=160040029/5059;
#ENDIF

_IFInventoryContains=160040028,%Var[PotionsPerRound];
_ACItems=160040028/5058;
#ENDIF

_IFInventoryContains=160040027,%Var[PotionsPerRound];
_ACItems=160040027/5057;
#ENDIF

_IFInventoryContains=160040026,%Var[PotionsPerRound];
_ACItems=160040026/5056;
#ENDIF

_IFInventoryContains=160040025,%Var[PotionsPerRound];
_ACItems=160040025/5055;
#ENDIF

_IFInventoryContains=160040024,%Var[PotionsPerRound];
_ACItems=160040024/5054;
#ENDIF

_IFInventoryContains=160040023,%Var[PotionsPerRound];
_ACItems=160040023/5053;
#ENDIF

_IFInventoryContains=160040022,%Var[PotionsPerRound];
_ACItems=160040022/5052;
#ENDIF

_IFInventoryContains=160040021,%Var[PotionsPerRound];
_ACItems=160040021/5051;
#ENDIF

_IFInventoryContains=160040020,%Var[PotionsPerRound];
_ACItems=160040020/5050;
#ENDIF

_IFInventoryContains=160040019,%Var[PotionsPerRound];
_ACItems=160040019/5049;
#ENDIF

_IFInventoryContains=160040018,%Var[PotionsPerRound];
_ACItems=160040018/5048;
#ENDIF

_IFInventoryContains=160040017,%Var[PotionsPerRound];
_ACItems=160040017/5047;
#ENDIF

_IFInventoryContains=160040016,%Var[PotionsPerRound];
_ACItems=160040016/5046;
#ENDIF

_IFInventoryContains=160040015,%Var[PotionsPerRound];
_ACItems=160040015/5045;
#ENDIF

_IFInventoryContains=160040014,%Var[PotionsPerRound];
_ACItems=160040014/5044;
#ENDIF

_IFInventoryContains=160040013,%Var[PotionsPerRound];
_ACItems=160040013/5043;
#ENDIF

_IFInventoryContains=160040012,%Var[PotionsPerRound];
_ACItems=160040012/5042;
#ENDIF

_IFInventoryContains=160040011,%Var[PotionsPerRound];
_ACItems=160040011/5041;
#ENDIF

_IFInventoryContains=160040010,%Var[PotionsPerRound];
_ACItems=160040010/5040;
#ENDIF

_IFInventoryContains=160040009,%Var[PotionsPerRound];
_ACItems=160040009/5039;
#ENDIF

_IFInventoryContains=160040008,%Var[PotionsPerRound];
_ACItems=160040008/5038;
#ENDIF

_IFInventoryContains=160040007,%Var[PotionsPerRound];
_ACItems=160040007/5037;
#ENDIF

_IFInventoryContains=160040006,%Var[PotionsPerRound];
_ACItems=160040006/5036;
#ENDIF

_IFInventoryContains=160040005,%Var[PotionsPerRound];
_ACItems=160040005/5035;
#ENDIF

_IFInventoryContains=160040004,%Var[PotionsPerRound];
_ACItems=160040004/5034;
#ENDIF

_IFInventoryContains=160040003,%Var[PotionsPerRound];
_ACItems=160040003/5033;
#ENDIF

_IFInventoryContains=160040002,%Var[PotionsPerRound];
_ACItems=160040002/5032;
#ENDIF

_IFInventoryContains=160040001,%Var[PotionsPerRound];
_ACItems=160040001/5031;
#ENDIF

_IFInventoryContains=160040000,%Var[PotionsPerRound];
_ACItems=160040000/5030;
#ENDIF

end_TransformationPotions;

start_HPPotions;

_SetVar=PotionsPerRound,2;

_IFInventoryContains=162005006,%Var[PotionsPerRound]; // If has 3 or more of this potion
_SetVar3=162005006; // set item ID as variable 3
#ENDIF

_IFInventoryContains=162005002,%Var[PotionsPerRound];
_SetVar3=162005002; // set item ID as variable 3
#ENDIF

//highest priority potions should be declared as late as possible

#EXECUTE=CombatSort; // call combatsort function so %Var3 gets applied at the _ACPotion line

end_HPPotions;

start_SetResolution; <-- resizes client without using real mouse

Console=\r_Height 600;
Console=\r_Width 800;

end_SetResolution;
I disabled the Anti-Stuck detections since the startpoint of your path seems to be further away than 7.5 meters from the endpoint

I also added a #Restart to the end of CheckDead, since you call it from many locations without thinking about what happens when it returns from the function
Paraly is offline  
Old 07/12/2019, 00:45   #2305
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
Quote:
Originally Posted by Paraly View Post
Code:
#COMBAT ROUTINE VER 2.47
#IF=%FirstTime,;
RequireVersion=6.37;
UseSpeed=1;
#UseLoop
#EnableSpeech
#EnableChatLog
_SetVar3=162005006;
_SetVar4=1; //Wanna use NoAnimation while grinding?/n/nType 1 for yes or 0 for no
_SetVar7=0; //Enable selling when inventory is full?/n/nType 0 for no/nType 1 for selling at inventory/nType 2 for selling at merchant
_SetVar2=1; //Enable Anti-Stuck detection at the beginning of each round?/n/nType 1 for yes or 0 for no
_SetVar10=1; //Enable Transformation Potion usage?
_SetVar9=1; //Enable an improved cooldown detection?
_SetVar=Timeout,360; //Want to stop grinding after a certain amount of minutes?/n/nEnter the amount of minutes or 0 if you don't want any time limit
_SetVar=WhisperAnswer,0; //Enter your automatic reply text to whispers/n/nMake sure "T" is binded to "Reply to Whisper" at Aion/n/n(Recommended to paste "#EXECUTE=CheckWhisper" every few lines at your path)/n/nIf you don't want to reply to whispers enter 0
_Calc[TimeoutMS]=%Var[Timeout]*60000;
#AUTOSELLMARK

#SmoothBackground
Command=;
MemWrite=%AddrFreeMem4,%Var4,BYTE;
MemWrite=%AddrFreeMem2,%Var5,BYTE;
MemWrite=%AddrFreeMem6,0,BYTE;
#EXECUTE=CombatSort;
MemPtrWrite=%AddrFPS,%OffsetFPS1,30,BYTE; <-- these 2 lines cap the fps at 30
MemPtrWrite=%AddrFPS,%OffsetFPS2,30,FLOAT; <-- these 2 lines cap the fps at 30
#IF=%Var7,>0;
#SetArray2=Enter the ItemIDs the bot is allowed to sell/nExample: 182010036,182010037,182010038;
#ENDIF
#IF=%FirstTime,;
#EXECUTE=GetPetID;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;
#EXECUTE=DetectObelisk;
CreateTimer=9999998;
#ShowLog
MemWrite=%AddrFreeMem0,%Var[WhisperAnswer],CHAR[1];
_IFMemRead=%AddrFreeMem0,BYTE,>48;
#EXECUTE=InjectWhisperDetection;
#ENDIF


#EXECUTE=CheckDead;
#EXECUTE=CheckWhisper; // copy paste this line frequently after every few waypoints

#IF=%Var7,>0;
_MemPtrReadVar=%AddrMaxSlots,%OffsetMaxSlots,BYTE,6;
_Calc6=%Var6-5;
_IFMemPtrRead=%AddrSlots,%OffsetSlots,BYTE,>%Var6;
#EXECUTE=InventoryCheck;
#ENDIF

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
#ELSE
#IF=%Timer=9999998,43200000;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has grinded for more than 12 hours, longer periods of botting can be dangerous at europe.;
#ENDIF

#IF=%Var[Timeout],>0;
#IF=%Timer=9999998,%Var[TimeoutMS];
#EXECUTE=Stop;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[64],25;
Speech=%Var25 has finished his grind session after %Var[Timeout] minutes.;
#UseNoLoop
#EndScript
#ENDIF


#IF=%FirstTime,;
_MemPtrReadVar=%PlayerBase,%OffsetPosX,FLOAT,StartPosX;
_MemPtrReadVar=%PlayerBase,%OffsetPosY,FLOAT,StartPosY;
_MemPtrReadVar=%PlayerBase,%OffsetPosZ,FLOAT,StartPosZ;
_Calc[StartPosX1]=%Var[StartPosX]-7.5;
_Calc[StartPosY1]=%Var[StartPosY]-7.5;
_Calc[StartPosZ1]=%Var[StartPosZ]-3;
_Calc[StartPosX2]=%Var[StartPosX]+7.5;
_Calc[StartPosY2]=%Var[StartPosY]+7.5;
_Calc[StartPosZ2]=%Var[StartPosZ]+3;
_Calc[ResetPosZ]=%Var[StartPosZ]+10;
#ELSE
#LogAddRound
FlySmooth=%Var[StartPosX],%Var[StartPosY],%Var[StartPosZ];
#ENDIF

#IF=%Var10,=1;
#EXECUTE=TransformationPotions;
#ENDIF
#EXECUTE=HPPotions;

_IFMemPtrRead=%PlayerBase,%OffsetPosX,FLOAT,%Var[StartPosX1]-%Var[StartPosX2];
_IFMemPtrRead=%PlayerBase,%OffsetPosY,FLOAT,%Var[StartPosY1]-%Var[StartPosY2];
_IFMemPtrRead=%PlayerBase,%OffsetPosZ,FLOAT,%Var[StartPosZ1]-%Var[StartPosZ2];
#ELSE
#IF=%Var2,=1;
#EXECUTE=Reset;
#ENDIF


#GRINDMARK


start_CheckDead;

_SetVar=Dead,0;

_IFFrameVisible=267;
_SetVar=Dead,1;
#ENDIF

_IFMemRead=%AddrResurrect,BYTE,<8;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetHP,DWORD,=0;
_SetVar=Dead,1;
#ENDIF

_IFMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=0;
_SetVar=Dead,1;
#ENDIF

#IF=%Var[Dead],=1;
#EXECUTE=SetResolution;
#LogAddDeath
#DO=20000;
MemWrite=%AddrResurrect,1,BYTE; <- Resurrect
Delay=500;
_UNTILMemPtrRead=%PlayerBase,%OffsetHP,DWORD,>0;
Delay=5000;
MemWrite=%AddrResurrect,8,BYTE; <- Reset Resurrect
#EXECUTE=FindSoulHealer;
Delay=1000;
#EXECUTE=Return;
#EXECUTE=CheckAutoLoot;
#Restart
#ENDIF

end_CheckDead;


start_Stop;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF
Delay=4500;

end_Stop;



start_Reset;

#EXECUTE=CheckDead;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#EXECUTE=CheckDead;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF

Delay=4500;
#LogAddStuck
#EXECUTE=Return;

end_Reset;


start_DetectObelisk;

Command=/select Obelisk;
Command=/select Obélisque;
Command=/select Obelisco;
Delay=125;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[2],=Ob;
#EXECUTE=Return;
#ENDIF

end_DetectObelisk;


start_FindSoulHealer;

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
_SetVar11=527; Soulhealer FrameID NA
#ELSE
_SetVar11=527; Soulhealer FrameID EU
#ENDIF


MemWrite=%AddrCamY,85,FLOAT;
#DO=7000;
SendKey=0x77;
Delay=35;
_UNTILMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
_IFMemPtrRead=%TargetBase,%OffsetData/0x1090,CHAR[10],=soulhealer;
#DO=15000;
Command=/attack;
Delay=1550;
DialogClick=NpcFunc128;
Delay=750;
_UNTILMemPtrRead=%AddrFrameID[%Var11],0x28,BYTE,=175;
FrameAction=%Var11,XPOS,0;
FrameAction=%Var11,YPOS,0;
Delay=550;
Mouse=160,95;
Delay=750;
_UNTILMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,=100;
#ELSE
_ACReg=;
#ENDIF
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
MemWrite=%AddrCamY,25,FLOAT;
#EXECUTE=CheckAutoLoot;
#EXECUTE=CheckAutoBuff;

end_FindSoulHealer;


start_CheckAutoLoot;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+748;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50045;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

_IFMemRead=%Var[CATempAddr],DWORD,=0;
_ACMob_Looting=True;
#ELSE
_ACMob_Looting=False;
#ENDIF

end_CheckAutoLoot;


start_CheckAutoBuff;

_IFMemRead=%AddrMinion,BYTE,=0;
_IFMemRead=%AddrPet,BYTE,=0;
#IF=%Var[PetAvailable],=1;
UseID=%Var[PetID],%Var[PetType];
Delay=250;
#ENDIF

MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]+696;

_IFMemRead=%Var[CATempAddr],DWORD,=0;
#DO=1000;
UseID=50044;
Delay=250;
_UNTILMemRead=%Var[CATempAddr],DWORD,=1;
#ENDIF

end_CheckAutoBuff;


start_GetPetID;

_SetVar=PetAvailable,0;

_IFMemRead=%AddrPet,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrPet,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,46;
#ENDIF

_IFMemRead=%AddrMinion,BYTE,>0;
_SetVar=PetAvailable,1;
MemWrite=%AddrFreeMem30,%AddrMinion,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,CATempAddr;
_Calc[CATempAddr]=%Var[CATempAddr]-4;
_MemReadVar=%Var[CATempAddr],DWORD,PetID;
_SetVar=PetType,86;
#ENDIF

end_GetPetID;



start_Return;

#RETURNMARK

end_Return;


start_CombatSort;


;;;;;;;;BASIC SETTINGS;;;;;;;;;;;

#IF=%Var4,=1;
_ACUseAnimation=True;
#ENDIF

#IF=%Var3,>0;
_ACPotion=%Var3,HP/MP,50,66;
#ENDIF

_ACRegenerateEnabled=True;
_ACRegMPPercentage=30;
_ACRegHPPercentage=35;
_ACTimeout=300000;
_ACMob_Looting=False;
_ACAllowAllMobs=True;
_ACResetPosition=False;
_ACIgnoreAtDistance=20;

;;;;;;;END BASIC SETTINGS;;;;;;;;



_IFMemPtrRead=%PlayerBase,%OffsetClassID,BYTE,=5;
;;;;;;;;;Settings Ranger;;;;;;;;; by widoxd02

_ACRelyOnBuff=813,813;
_ACRelyOnBuff=796,796;
_ACRelyOnBuff=1057,1057;
_ACRelyOnBuff=867,867;
_ACRelyOnBuff=3235,3235;
_ACRelyOnBuff=889,889;
_ACRelyOnBuff=4875,4875;
_ACRelyOnBuff=4724,4724;

_ACIsActive=889,True;
_ACIsActive=4724,True;
_ACIsActive=4875,True;

_ACRelyOnDP=4875,2000;

_ACManaPercentage=66;
_ACHealPercentage=50;

_ACInitialRange=15;

_ACBuffs=889,4724,4875,813,796,1057,867,3235;
_ACSkills=961,4722,795,871,825,1052,1026,1005,4723,1134;

;;;;;;;End Settings Ranger;;;;;;;
#ENDIF


#IF=%Var9,=1;
_ACExperimentalCooldown=True; --- Please wait...
#ENDIF

end_CombatSort;




start_TransformationPotions;

_SetVar=PotionsPerRound,1;

_IFInventoryContains=160040031,%Var[PotionsPerRound];
_ACItems=160040031/5061;
#ENDIF

_IFInventoryContains=160020030,%Var[PotionsPerRound];
_ACItems=160020030/5060;
#ENDIF

_IFInventoryContains=160040029,%Var[PotionsPerRound];
_ACItems=160040029/5059;
#ENDIF

_IFInventoryContains=160040028,%Var[PotionsPerRound];
_ACItems=160040028/5058;
#ENDIF

_IFInventoryContains=160040027,%Var[PotionsPerRound];
_ACItems=160040027/5057;
#ENDIF

_IFInventoryContains=160040026,%Var[PotionsPerRound];
_ACItems=160040026/5056;
#ENDIF

_IFInventoryContains=160040025,%Var[PotionsPerRound];
_ACItems=160040025/5055;
#ENDIF

_IFInventoryContains=160040024,%Var[PotionsPerRound];
_ACItems=160040024/5054;
#ENDIF

_IFInventoryContains=160040023,%Var[PotionsPerRound];
_ACItems=160040023/5053;
#ENDIF

_IFInventoryContains=160040022,%Var[PotionsPerRound];
_ACItems=160040022/5052;
#ENDIF

_IFInventoryContains=160040021,%Var[PotionsPerRound];
_ACItems=160040021/5051;
#ENDIF

_IFInventoryContains=160040020,%Var[PotionsPerRound];
_ACItems=160040020/5050;
#ENDIF

_IFInventoryContains=160040019,%Var[PotionsPerRound];
_ACItems=160040019/5049;
#ENDIF

_IFInventoryContains=160040018,%Var[PotionsPerRound];
_ACItems=160040018/5048;
#ENDIF

_IFInventoryContains=160040017,%Var[PotionsPerRound];
_ACItems=160040017/5047;
#ENDIF

_IFInventoryContains=160040016,%Var[PotionsPerRound];
_ACItems=160040016/5046;
#ENDIF

_IFInventoryContains=160040015,%Var[PotionsPerRound];
_ACItems=160040015/5045;
#ENDIF

_IFInventoryContains=160040014,%Var[PotionsPerRound];
_ACItems=160040014/5044;
#ENDIF

_IFInventoryContains=160040013,%Var[PotionsPerRound];
_ACItems=160040013/5043;
#ENDIF

_IFInventoryContains=160040012,%Var[PotionsPerRound];
_ACItems=160040012/5042;
#ENDIF

_IFInventoryContains=160040011,%Var[PotionsPerRound];
_ACItems=160040011/5041;
#ENDIF

_IFInventoryContains=160040010,%Var[PotionsPerRound];
_ACItems=160040010/5040;
#ENDIF

_IFInventoryContains=160040009,%Var[PotionsPerRound];
_ACItems=160040009/5039;
#ENDIF

_IFInventoryContains=160040008,%Var[PotionsPerRound];
_ACItems=160040008/5038;
#ENDIF

_IFInventoryContains=160040007,%Var[PotionsPerRound];
_ACItems=160040007/5037;
#ENDIF

_IFInventoryContains=160040006,%Var[PotionsPerRound];
_ACItems=160040006/5036;
#ENDIF

_IFInventoryContains=160040005,%Var[PotionsPerRound];
_ACItems=160040005/5035;
#ENDIF

_IFInventoryContains=160040004,%Var[PotionsPerRound];
_ACItems=160040004/5034;
#ENDIF

_IFInventoryContains=160040003,%Var[PotionsPerRound];
_ACItems=160040003/5033;
#ENDIF

_IFInventoryContains=160040002,%Var[PotionsPerRound];
_ACItems=160040002/5032;
#ENDIF

_IFInventoryContains=160040001,%Var[PotionsPerRound];
_ACItems=160040001/5031;
#ENDIF

_IFInventoryContains=160040000,%Var[PotionsPerRound];
_ACItems=160040000/5030;
#ENDIF

end_TransformationPotions;

start_HPPotions;

_SetVar=PotionsPerRound,2;

_IFInventoryContains=162005006,%Var[PotionsPerRound]; // If has 3 or more of this potion
_SetVar3=162005006; // set item ID as variable 3
#ENDIF

_IFInventoryContains=162005002,%Var[PotionsPerRound];
_SetVar3=162005002; // set item ID as variable 3
#ENDIF

//highest priority potions should be declared as late as possible

#EXECUTE=CombatSort; // call combatsort function so %Var3 gets applied at the _ACPotion line

end_HPPotions;

start_SetResolution; <-- resizes client without using real mouse

Console=\r_Height 600;
Console=\r_Width 800;

end_SetResolution;
I disabled the Anti-Stuck detections since the startpoint of your path seems to be further away than 7.5 meters from the endpoint

I also added a #Restart to the end of CheckDead, since you call it from many locations without thinking about what happens when it returns from the function
Damn me! I can just rework the Grind Path. No need to disable the anti stuck detections.

I'll keep the #Restart and rework the path. I'm bothering you so much with this lol. :S


Edit:
Just passing by to say that the bot is rocking! No flaws so far. Oh boy, kinah land! =)
agua2o is offline  
Old 07/19/2019, 02:00   #2306
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
So here I am again. I have noticed that the bot doesn't use Remove Shock. I found a code in the Short Script Bundle but if I just add it to the code it goes into a neverending loop and it doesn't continue the script.

Where should I put the code?

Code:
#IF=%FirstTime,;
UseSpeed=1;
MemWrite=%AddrFreeMem10,0,BYTE;
#ENDIF
#DO=9999999999;
_AutoChain
_IFKey=77,1;
MemWrite=%AddrFreeMem10,1,BYTE;
#ENDIF
_UNTILMemRead=%AddrFreeMem10,BYTE,=1;
agua2o is offline  
Old 07/19/2019, 02:03   #2307
 
Paraly's Avatar
 
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,596
Quote:
Originally Posted by agua2o View Post
So here I am again. I have noticed that the bot doesn't use Remove Shock. I found a code in the Short Script Bundle but if I just add it to the code it goes into a neverending loop and it doesn't continue the script.

Where should I put the code?

Code:
#IF=%FirstTime,;
UseSpeed=1;
MemWrite=%AddrFreeMem10,0,BYTE;
#ENDIF
#DO=9999999999;
_AutoChain
_IFKey=77,1;
MemWrite=%AddrFreeMem10,1,BYTE;
#ENDIF
_UNTILMemRead=%AddrFreeMem10,BYTE,=1;
You can't add _AutoChain to the _AC combat system, the _AC combat system already tries to use any chain / situational skill that's available.
Paraly is offline  
Old 07/19/2019, 02:10   #2308
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
Quote:
Originally Posted by Paraly View Post
You can't add _AutoChain to the _AC combat system, the _AC combat system already tries to use any chain / situational skill that's available.
What about Remove Shock?
agua2o is offline  
Old 07/19/2019, 02:12   #2309
 
Paraly's Avatar
 
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,596
Quote:
Originally Posted by agua2o View Post
What about Remove Shock?
that's a situational skill
Paraly is offline  
Old 07/19/2019, 02:17   #2310
 
elite*gold: 0
Join Date: Jun 2008
Posts: 50
Received Thanks: 3
Quote:
Originally Posted by Paraly View Post
that's a situational skill
Well, it's not using it :S ever.

Found it in the _skillsNA file:

Code:
[283]
Skill_ID=283
Skill_Name=ALL_ShockReflect_G
Skill_Level=1
Skill_Cooldown=30000
Skill_ChainLevel=1
Skill_Class=BARD
Skill_PCLevel=40
That Class=BARD thing is supposed to be there?
agua2o is offline  
Reply

Tags
aion, autocomplete instance, script, vanillatool


Similar Threads Similar Threads
Script para todos os Lastchaos - Autohokey
01/29/2012 - Last Chaos - 1 Replies
I got a script that clicks several times with the click right mouse clicks when monster picks up the tarjeta. so he just throws the skill. I used AutoHotkey program. in AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoText Needs improvement. I accept any help. I'm from Brazil. ------------------------------------------------- --------------------------
[Release]Big Script Library
07/25/2010 - SRO PServer Guides & Releases - 0 Replies
I think its a good idea to open this Topic. I need Your Help. Sent me your own made Scripts and i upload them here. It does not matter if there is already a script by the mob. Only Self made scripts!!! What To Post? Post me not the text file.Post me the script!!! Scorpion 1 by Th3Stalker



All times are GMT +1. The time now is 07:20.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.