Someone requested a script where a toon follows the main and just keeps looting his targets
Code:
#IF=%FirstTime,;
#DisableScrolling
MemPtrWrite=%AddrFPS,%OffsetFPS1,24,BYTE;
MemPtrWrite=%AddrFPS,%OffsetFPS2,24,FLOAT;
#SmoothBackground
UseSpeed=1;
#UseLoop
#EnableChatLog
#ClearChatLog
#SetVar1=Enter your main charactername;
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[32],2;
Command=;
_SetVar26=65536;
#ENDIF
#EXECUTE=Follow;
#EXECUTE=Keywords;
#EXECUTE=Notification;
#EXECUTE=CheckLoot;
start_Follow;
#EXECUTE=SelectMaster;
#IF=%TargetDistance,<20;
#IF=%TargetName,%Var1;
Command=/Follow;
#ELSE
Command=/attack;
#ENDIF
end_Follow;
start_CheckLoot;
_SetVar4=0;
_MemPtrReadVar=%PlayerBase,%OffsetData/0x30,WORD,29;
_MemPtrReadVar=%TargetBase,%OffsetData/0x30,WORD,28;
_MemPtrReadVar=%TargetBase,%OffsetData/0x378,WORD,27;
#IF=%Var27,=%Var29; <-- if target has player as target
_SetVar4=1;
#ENDIF
#IF=%Var27,=%Var28; <-- if target has target as target
_SetVar4=1;
#ENDIF
#IF=%Var27,=0; <-- if target has nothing as target
_SetVar4=1;
#ENDIF
_IFMemPtrRead=%AddrFrameID[2],0x558,WORD,>0; If target's target is alive
_SetVar4=1;
#ENDIF
#IF=%Var27,=Var26; <-- if target has looted target as target
_SetVar4=1;
#ENDIF
#IF=%Var4,=0;
_SetVar26=%Var27;
UseID=50003;
Delay=55;
_IFMemPtrRead=%TargetBase,%OffsetHP,DWORD,=0; Dead
_IFMemPtrRead=%TargetBase,%OffsetData/0x1574,DWORD,=1; Lootable
_IFMemPtrRead=%TargetBase,%OffsetData/0x1588,DWORD,=0; Not Looted yet
_MemReadVar=%AddrTargetID,WORD,5;
#EXECUTE=WaitForLoot;
#ENDIF
end_CheckLoot;
start_WaitForLoot;
_SetVar6=0;
#DO=12000; 12 seconds loot timeout
MemPtrWrite=%PlayerBase,%OffsetActionID,0x150000000100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002,BYTE[225];
_IFMemPtrRead=%TargetBase,%OffsetData/0x1588,DWORD,>0; <-- Looted
_SetVar6=1;
#ENDIF
_IFMemRead=%AddrTargetID,WORD,=%Var5; <-- Lost target
#ELSE
_SetVar6=1;
#ENDIF
_IFMemPtrRead=%AddrFrameID[275],0x28,BYTE,=175;
SendKey=0x43;
Delay=5;
SendKey=0x43;
Delay=5;
SendKey=0x43;
Delay=5;
SendKey=0x43;
Delay=15;
_SetVar6=1;
_IFMemPtrRead=%AddrFrameID[525],0x28,BYTE,=175;
SendKey=0x0D;
Delay=50;
SendKey=0x0D;
Delay=50;
Command=;
SendKey=0x1B;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
#ENDIF
_IFMemPtrRead=%AddrFrameID[525],0x28,BYTE,=175;
SendKey=0x0D;
Delay=50;
SendKey=0x0D;
Delay=50;
Command=;
SendKey=0x1B;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
#ENDIF
_IFMemPtrRead=%PlayerBase,%OffsetHP,DWORD,=0;
_SetVar6=1;
#ENDIF
#UNTIL=%Var6,=1;
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
Delay=15;
SendKey=0x1B;
Delay=15;
MemPtrWrite=%AddrFrameID[19],0x28,142,BYTE;
end_WaitForLoot;
start_Notification;
#EXECUTE=SelectMaster;
#IF=%TargetName,;
Command=/w %Var1 I don't see you anymore, I'll wait [pos:here/:0 %Var3 %Var1 %Var2 0.0 0];
#DO=999999999;
Command=/select %Var1;
#UNTIL=%TargetName,%Var1;
#ENDIF
_IFMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,<50;<-- Use if lower than 50% life
#IF=%Timer=1,60000;
Command=/w %Var1 I'm low life!;
CreateTimer=1;
#ENDIF
_IFMemPtrRead=%PlayerBase,%OffsetPercentHP,BYTE,<99;<-- Use if lower than 99% life
#IF=%Timer=1,60000;
Command=/w %Var1 I'm under attack!;
CreateTimer=1;
#ENDIF
end_Notification;
start_Keywords;
_SearchChatLog=\[charname:%Var1.*?] Whispers: Hello!;
Command=/w %Var1 Hey;
#ENDIF
_SearchChatLog=\[charname:%Var1.*?] Whispers: Stay here!;
#EXECUTE=SelectMaster;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[32],=%Var1;
_MemPtrReadVar=%TargetBase,%OffsetPosX,FLOAT,6;
_MemPtrReadVar=%TargetBase,%OffsetPosY,FLOAT,7;
_MemPtrReadVar=%TargetBase,%OffsetPosZ,FLOAT,8;
MoveTo=%Var6,%Var7,%Var8,False,False;
Command=/w %Var1 ok I'll wait [pos:here/:0 %Var6 %Var7 %Var8 0.0 0];
_SetVar9=0;
#EXECUTE=Wait;
#ENDIF
#ClearChatLog
end_Keywords;
start_Wait;
#DO=9999999999;
_SearchChatLog=\[charname:%Var1.*?] Whispers: Follow me!;
_SetVar9=1;
#ENDIF
Delay=500;
#UNTIL=%Var9,=1;
end_Wait;
start_SelectSlave;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[32],=%Var2;
#ELSE
Command=/select %Var2;
Delay=5;
#ENDIF
end_SelectSlave;
start_SelectMaster;
_IFMemPtrRead=%TargetBase,%OffsetName,WCHAR[32],=%Var1;
#ELSE
Command=/select %Var1;
Delay=5;
#ENDIF
end_SelectMaster;