#COMBAT ROUTINE VER 2.31
#IF=%FirstTime,;
RequireVersion=5.87;
UseSpeed=1;
#UseLoop
#SetVar2=Enable Anti-Stuck detection at the beginning of each round?/n/nType 1 for yes or 0 for no;
#SetVar10=Enable Transformation Potion usage?/n/nType 1 for yes or 0 for no;
_SetVar9=1;Enable an improved cooldown detection?
#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=%FirstTime,;
#EXECUTE=GetPetID;
#EXECUTE=CheckAutoLoot;
#EXECUTE=DetectObelisk;
CreateTimer=9999998;
#ShowLog
#ENDIF
#EXECUTE=CheckDead;
_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=%FirstTime,;
_MemPtrReadVar=%PlayerBase,%OffsetPosX,FLOAT,Start PosX;
_MemPtrReadVar=%PlayerBase,%OffsetPosY,FLOAT,Start PosY;
_MemPtrReadVar=%PlayerBase,%OffsetPosZ,FLOAT,Start PosZ;
_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
_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
FlySmooth=740.7,2536.9,260.5;
FlySmooth=747.4,2536,260.6;
FlySmooth=754.2,2535.6,260.9;
FlySmooth=760,2532.2,260.8;
_ACCheckMob=;
FlySmooth=764.7,2527.9,261;
FlySmooth=770,2523.7,260.9;
_ACCheckMob=;
FlySmooth=775.3,2519.6,261;
FlySmooth=779.1,2514.4,261.5;
_ACCheckMob=;
FlySmooth=783.8,2509.7,263.6;
FlySmooth=790.2,2507.7,265.4;
_ACCheckMob=;
FlySmooth=796.6,2505.9,265.8;
FlySmooth=802.9,2505.8,265.7;
_ACCheckMob=;
FlySmooth=809.4,2507.6,265;
FlySmooth=815.8,2509.7,264.8;
_ACCheckMob=;
FlySmooth=821.9,2511.8,264.6;
FlySmooth=828,2514.7,265.1;
_ACCheckMob=;
FlySmooth=832.3,2519.9,263.6;
FlySmooth=835.3,2525.5,262.2;
_ACCheckMob=;
FlySmooth=837.9,2531.8,262.1;
FlySmooth=839.8,2538.2,262.1;
_ACCheckMob=;
FlySmooth=840.2,2544.6,263;
FlySmooth=840.6,2551.4,263;
_ACCheckMob=;
FlySmooth=841.1,2557.8,262.1;
FlySmooth=839.6,2562.1,262.1;
_ACCheckMob=;
FlySmooth=833,2561.6,262.1;
FlySmooth=826.2,2560.9,262.1;
_ACCheckMob=;
FlySmooth=819.8,2560.3,262.1;
FlySmooth=813.1,2559.8,262.1;
_ACCheckMob=;
FlySmooth=806.4,2559.4,262.1;
FlySmooth=801.1,2557.2,261.9;
_ACCheckMob=;
FlySmooth=796.1,2560.5,261.2;
FlySmooth=790.4,2563.5,261.3;
_ACCheckMob=;
FlySmooth=784.2,2566.2,261.1;
FlySmooth=778,2568.7,260.9;
_ACCheckMob=;
FlySmooth=771.8,2570.4,260.4;
FlySmooth=765.5,2571.7,260.4;
_ACCheckMob=;
FlySmooth=759.9,2573.2,260.3;
FlySmooth=755.3,2577.1,260.4;
_ACCheckMob=;
FlySmooth=748.7,2577.1,260.2;
FlySmooth=742.7,2574.7,260;
_ACCheckMob=;
FlySmooth=736.1,2573.4,260;
FlySmooth=730.4,2570.1,260;
_ACCheckMob=;
FlySmooth=726.3,2565.2,260;
FlySmooth=724.8,2558.7,260;
_ACCheckMob=;
FlySmooth=725.8,2552.1,260;
FlySmooth=728.4,2545.9,259.7;
_ACCheckMob=;
FlySmooth=732.7,2541,259.6;
FlySmooth=738.7,2538.1,260;
_ACCheckMob=;
FlySmooth=742,2536.9,260.5;
start_CheckDead;
_IFFrameVisible=267;
#EXECUTE=SetResolution;
#LogAddDeath
#DO=15000;
MemWrite=%AddrResurrect,7,BYTE; <- Resurrect
_UNTILMemPtrRead=%PlayerBase,%OffsetHP,DWORD,>0;
Delay=2500;
#EXECUTE=FindSoulHealer;
Delay=1000;
#EXECUTE=Return;
#EXECUTE=CheckAutoLoot;
#ENDIF
end_CheckDead;
start_Stop;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#UNTIL=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ENDIF
Delay=4500;
end_Stop;
start_Reset;
#IF=%Timer=243,1200000;
SmartSkill=243,1200000,6500,False,False;
CreateTimer=243;
#ELSE
#DO=1200000;
Delay=150;
#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;
MemWrite=%AddrCamY,85,FLOAT;
#DO=7000;
SendKey=0x76;
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[525],0x28,BYTE,=175;
FrameAction=525,XPOS,0;
FrameAction=525,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;
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_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;
FlySmooth=459,2649.3,284.8;
FlySmooth=461.7,2648,285;
FlySmooth=467.7,2644.9,285;
FlySmooth=473.3,2641.8,284.7;
FlySmooth=479,2638.2,284.1;
FlySmooth=484.6,2634.9,283.2;
FlySmooth=490.4,2631.4,282.7;
FlySmooth=495,2627.1,282.1;
FlySmooth=496.6,2620.6,281.4;
FlySmooth=496.8,2613.8,280.6;
FlySmooth=497,2607.4,279.7;
FlySmooth=497.3,2600.6,279.3;
FlySmooth=499,2594.1,278.2;
FlySmooth=502.8,2588.9,277.1;
FlySmooth=507.7,2584.3,277;
FlySmooth=512.7,2579.7,276.6;
FlySmooth=517.5,2575.4,276.5;
FlySmooth=522.5,2570.8,276;
FlySmooth=527.8,2567.2,275.6;
FlySmooth=533.4,2563.5,275.1;
FlySmooth=538.6,2559.8,274.2;
FlySmooth=544.1,2555.8,273.5;
FlySmooth=549.8,2552.2,273.5;
FlySmooth=555.8,2549.8,273.5;
FlySmooth=561.8,2547.5,273.4;
FlySmooth=568.4,2544.9,272;
FlySmooth=574.2,2542.2,271.2;
FlySmooth=580.2,2539.1,270.6;
FlySmooth=585.9,2536.1,270.1;
FlySmooth=591.7,2532.7,269.8;
FlySmooth=596.9,2528.9,269.6;
FlySmooth=602.3,2524.7,269.4;
FlySmooth=607.6,2520.5,268.6;
FlySmooth=612.9,2516.4,269.4;
FlySmooth=618.9,2514.6,272.3;
FlySmooth=625.7,2515.2,274.9;
FlySmooth=632.1,2515.9,276.1;
FlySmooth=639.1,2516.6,276.3;
FlySmooth=645.6,2517.2,276.4;
FlySmooth=652,2517.1,276.4;
FlySmooth=658.8,2517,276.4;
FlySmooth=665.3,2516.9,276.4;
FlySmooth=672,2517.2,276.4;
FlySmooth=678.1,2519.9,276.9;
FlySmooth=683.5,2523.4,277.5;
FlySmooth=689.2,2527.1,278.2;
FlySmooth=695,2530.5,278.5;
FlySmooth=700.9,2533,278.5;
FlySmooth=707.4,2534.5,278.6;
FlySmooth=713.8,2534.9,278.6;
FlySmooth=720.6,2535,274.9;
FlySmooth=727.3,2535.1,265.4;
FlySmooth=734,2535.8,260.7;
FlySmooth=740.1,2536.9,260.5;
end_Return;
start_CombatSort;
;;;;;;;;BASIC SETTINGS;;;;;;;;;;;
_ACUseAnimation=True;
_ACPotion=162005006,HP/MP,50,66;
_ACPotion=162005002,HP/MP,50,66;
_ACItems=190099000/5049,160020004/11683,160020010/11677;
_ACRegenerateEnabled=True;
_ACRegMPPercentage=30;
_ACRegHPPercentage=35;
_ACMob_Looting=True;
;;;;;;;END BASIC SETTINGS;;;;;;;;
_IFMemPtrRead=%PlayerBase,%OffsetClassID,BYTE,=14;
;;;;;;;;;Settings Gunslinger Pistols;;;;;;;;;
_ACManaPercentage=66;
_ACHealPercentage=70;
_ACIsActive=4787,True;
_ACRelyOnDP=2007,2000;
_ACInitialRange=20;
_ACHeals=2382,2349,2380,2367,2124,1923;
_ACBuffs=2040,2007,4787,2052;
_ACManaRecover=2367;
_ACSkills=1953,2179,2053,2179,2054,2231,2263,2166, 2007,1981,2123,2068,2090;
;;;;;;;End Settings Gunslinger Pistols;;;;;;;
#ENDIF
#IF=%Var9,=1;
_ACExperimentalCooldown=True; --- Please wait...
#ENDIF
end_CombatSort;
start_TransformationPotions;
_SetVar=PotionsPerRound,3;
_IFInventoryContains=160040000,%Var[PotionsPerRound];
_ACItems=160040000/5030;
#ENDIF
_IFInventoryContains=160020004,%Var[PotionsPerRound];
_ACItems=160020004/11683;
#ENDIF
_IFInventoryContains=160040029,%Var[PotionsPerRound];
_ACItems=160040029/5059;
#ENDIF
_IFInventoryContains=160040029,%Var[PotionsPerRound];
_ACItems=160040029/5059;
#ENDIF
_IFInventoryContains=160040000,%Var[PotionsPerRound];
_ACItems=160040000/5030;
#ENDIF
_IFInventoryContains=160040022,%Var[PotionsPerRound];
_ACItems=160040022/5052;
#ENDIF
_IFInventoryContains=160040023,%Var[PotionsPerRound];
_ACItems=160040023/5053;
#ENDIF
_IFInventoryContains=160040024,%Var[PotionsPerRound];
_ACItems=160040024/5054;
#ENDIF
_IFInventoryContains=160040025,%Var[PotionsPerRound];
_ACItems=160040025/5055;
#ENDIF
_IFInventoryContains=160040026,%Var[PotionsPerRound];
_ACItems=160040026/5056;
#ENDIF
_IFInventoryContains=160040027,%Var[PotionsPerRound];
_ACItems=160040027/5057;
#ENDIF
_IFInventoryContains=160040028,%Var[PotionsPerRound];
_ACItems=160040028/5058;
#ENDIF
_IFInventoryContains=160040030,%Var[PotionsPerRound];
_ACItems=160040030/5060;
#ENDIF
_IFInventoryContains=160040031,%Var[PotionsPerRound];
_ACItems=160040031/5061;
#ENDIF
end_TransformationPotions;
start_SetResolution; <-- resizes client without using real mouse
Console=\r_Height 600;
Console=\r_Width 800;
end_SetResolution;
|