Para's Script Library

05/16/2018 14:17 EliteChanter#1936
Quote:
Originally Posted by Paraly View Post
Why don't you just deactivate the real time protection of it and use just it's sandboxie like feature?
Because I'm not that smart haha I'll look into it after maintenance and get back to you!
05/20/2018 23:09 lucimon#1937
the fire temple script is capable of doing S rank?
05/20/2018 23:11 Paraly#1938
Quote:
Originally Posted by lucimon View Post
the fire temple script is capable of doing S rank?
Quote:
Originally Posted by clouds12
I have ran it many times I never get send logs. I run 2 with real people and only 1 with the script and get S rank every time. If I run 2 with the script it gets A rank. Either way its a good script.
.
05/21/2018 06:07 thekiller258#1939
Quote:
Originally Posted by lucimon View Post
the fire temple script is capable of doing S rank?
It is. I have been doing kromede runs for the past 9 days and getting S rank x 3 with 25 - 30 seconds left on the timer. It all depends on how good you are pulling monster into your sorcerer / glad and how you administrate your Healing shield / DP shield.

I added a list of tips for S rank. If I would add something else it would be: Do the whole round of monster aggro without shield and then use a DP shield in your templar at the end, your sorcerer will pull aggro 3-4 seconds after freezing them, when you see its HP going down inmediately use a healing shield over him, use 20% pots to heal your templar slowly and that's it.

This applies to: First round (Temple Guardian boss), Second Round (Lady Angerr boss), Third round (Enraged Kaliga boss).

Also at the very end (when kromede is 10-20% HP) she will use 2 attacks that are really strong, in that moment you should have a healing shield for your gladiator.

Again, the purpose of this script is to USE your sorcerer and gladiator as tools in order to maximize your DPS, by no means it will give you a S rank if you dont understand the mechanics of the instance, because all the DPS depends on how good the templar performs with shields and aggro, this applies not only to scripting, but the event in general, since even some teams of real players struggle with this.
05/25/2018 09:41 ronkan0813#1940
Hi,

Can any tell what is [BETA] Mirash Sanctum - Mirash Refuge - Script ver. 0.97 for? any goodies from this scrip?

I wanna try out, Thanks.
05/25/2018 13:19 Paraly#1941
Quote:
Originally Posted by ronkan0813 View Post
Hi,

Can any tell what is [BETA] Mirash Sanctum - Mirash Refuge - Script ver. 0.97 for? any goodies from this scrip?

I wanna try out, Thanks.
Quote:
Originally Posted by aion.wikia
[Only registered and activated users can see links. Click Here To Register...] solo instance is a great source of Minium <Minium>, Stigmas, AP and, to a lesser extent, XP. Abyss gear can also be acquired from the instance, albeit at a very low chance.
.
05/27/2018 00:16 nickjaspion#1942
Hi
How many clients I can open with Acc manager ? Tryed open more than 5, and get dc on another one logged before, after login the 6th client ><
05/27/2018 00:31 Paraly#1943
Quote:
Originally Posted by nickjaspion View Post
Hi
How many clients I can open with Acc manager ? Tryed open more than 5, and get dc on another one logged before, after login the 6th client ><
Be sure you use the latest version
Be sure the integrated unlimiter and bypass are activated
Be sure you don't run the external unlimiter and bypass
Be sure you start each account one by one, once a client has reached the point where you accept this EULA like thing you can start the next client
05/27/2018 00:55 nickjaspion#1944
Quote:
Originally Posted by Paraly View Post
Be sure you use the latest version
Be sure the integrated unlimiter and bypass are activated
Be sure you don't run the external unlimiter and bypass
Be sure you start each account one by one, once a client has reached the point where you accept this EULA like thing you can start the next client
Still getting dc after 6th ><
05/27/2018 01:56 Paraly#1945
Quote:
Originally Posted by nickjaspion View Post
Still getting dc after 6th ><
Try disabling the integrated unlimiter, you find it under settings at the Account Manager and then run the external unlimiter you got from [Only registered and activated users can see links. Click Here To Register...]
05/27/2018 03:49 nickjaspion#1946
Quote:
Originally Posted by Paraly View Post
Try disabling the integrated unlimiter, you find it under settings at the Account Manager and then run the external unlimiter you got from [Only registered and activated users can see links. Click Here To Register...]
Didnt work :(:(:(

Maybe a Reduce the Lag issue ? i'll turn off rtl and try again

Quote:
Originally Posted by nickjaspion View Post
Didnt work :(:(:(

Maybe a Reduce the Lag issue ? i'll turn off rtl and try again

Turned off my Reduce The Lag and everythnig is working fine! <3 yay
05/27/2018 04:13 Paraly#1947
I've added 4 new commands at 4.97 to read the current status of a quest

Code:
QuestInfo=[QuestID];
_IFQuestAtStep=[QuestID],[Step];
_IFQuestAtStatus=[QuestID],[Status];
_IFQuestAtCounter=[QuestID],[Counter];
To get a Quest ID and the needed informations for the IF questions, open the Quest log ingame, select the Quest you want the current status informations from and execute this snippet

Classic 1.0
Code:
_MemPtrReadVar=%AddrFrameName[quest_dialog],0x4C8,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
Classic 1.5
Code:
_MemPtrReadVar=%AddrFrameName[quest_dialog],0x520,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
5.8
Code:
_MemPtrReadVar=%AddrFrameID[175],0x568,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
6.2
Code:
_MemPtrReadVar=%AddrFrameID[184],0x568,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
7.2
Code:
_MemPtrReadVar=%AddrFrameName[quest_dialog],0x578,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
7.5
Code:
_MemPtrReadVar=%AddrFrameName[quest_dialog],0x588,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
8.0
Code:
_MemPtrReadVar=%AddrFrameName[quest_dialog],0x598,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
8.4
Code:
_MemPtrReadVar=%AddrFrameName[quest_dialog],0x5A0,DWORD,1;
WaitForResponse=Current Selected Quest: %Var1/nLoading further information;
QuestInfo=%Var1;
It seems as long as a quest is not completable the status is at "3" and once it changes the icon to [Only registered and activated users can see links. Click Here To Register...] the status changes to "4"

Step starts at "0" when you accept a quest and always increments by 1 when ever you progress in the quest, this might be the most interesting one

Counter displays some things like how much mobs for the quest has been killed, but it doesn't work for quest items looted however we got "_IFQuestInventoryContains" for those cases


You can use those IF questions like that

Code:
_IFQuestAtStep=1001,7;
WaitForResponse=Quest 1001 is at Step 7;
#ELSE
WaitForResponse=Quest 1001 is NOT at Step 7;
#ENDIF

Note: this snippet can be used to Instant Report quests by QuestID
Code:
FrameAction=184,STATE,SHOW; opens quest window
FrameAction=184,XPOS,0;
FrameAction=184,YPOS,0;
Delay=550;
Mouse=72,25; select quest tab
Delay=400;
Mouse=99,71; select first quest
Delay=400;
MemPtrWrite=%AddrFrameID[184],0x568,90000,DWORD; writes quest ID internally
MemPtrWrite=%AddrFrameID[184],0x578/0x28,7,BYTE; activates instant report button
Delay=450;
Mouse=123,313; Instant report
7.2
Code:
FrameActionByName=quest_dialog,STATE,SHOW; opens quest window
FrameActionByName=quest_dialog,XPOS,0;
FrameActionByName=quest_dialog,YPOS,0;
Delay=550;
Mouse=72,25; select quest tab
Delay=400;
Mouse=99,71; select first quest
Delay=400;
MemPtrWrite=%AddrFrameName[quest_dialog],0x578,90000,DWORD; writes quest ID internally
MemPtrWrite=%AddrFrameName[quest_dialog],0x588/0x28,7,BYTE; activates instant report button
Delay=450;
Mouse=123,313; Instant report
7.5
Code:
FrameActionByName=quest_dialog,STATE,SHOW; opens quest window
FrameActionByName=quest_dialog,XPOS,0;
FrameActionByName=quest_dialog,YPOS,0;
Delay=550;
Mouse=72,25; select quest tab
Delay=400;
Mouse=99,71; select first quest
Delay=400;
MemPtrWrite=%AddrFrameName[quest_dialog],0x588,90000,DWORD; writes quest ID internally
MemPtrWrite=%AddrFrameName[quest_dialog],0x598/0x28,7,BYTE; activates instant report button
Delay=450;
Mouse=123,313; Instant report
8.0
Code:
FrameActionByName=quest_dialog,STATE,SHOW; opens quest window
FrameActionByName=quest_dialog,XPOS,0;
FrameActionByName=quest_dialog,YPOS,0;
Delay=550;
Mouse=72,25; select quest tab
Delay=400;
Mouse=99,71; select first quest
Delay=400;
MemPtrWrite=%AddrFrameName[quest_dialog],0x598,90000,DWORD; writes quest ID internally
MemPtrWrite=%AddrFrameName[quest_dialog],0x5A8/0x28,7,BYTE; activates instant report button
Delay=450;
Mouse=123,313; Instant report
With this code you can check if a quest has been completed
it displays -1 if the quest hasn't been accepted yet, 0 if it's completed and 1 if it's incompleted

8.0
Code:
#SmoothBackground
_SetVar=QuestID,61972;
#EXECUTE=IsQuestComplete;
WaitForResponse=%Var[QuestName]/nIncomplete = %Var[QuestComplete];



start_IsQuestComplete;
//displays -1 if the quest hasn't been accepted yet, 0 if it's completed and 1 if it's incompleted
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x28,15,BYTE;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x6C,0,FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x74,0,FLOAT;

SendKey=0x0D;
Delay=100;
SendKey=123456789012345;
Delay=150;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x510/0x370/0x0,[@quest:%Var[QuestID]],WCHAR[16];
Delay=50;
SendKey=1;
Delay=150;
Mouse=119,8;
Delay=150;
_IFFrameVisibleByName=quest_summary_dialog;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],0x518/0x360/0x8/0x18/0x1EC,WCHAR[256],QuestName;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],0x518/0xA48,BYTE,QuestComplete;
#ELSE
_SetVar=QuestName,Quest not found;
_SetVar=QuestComplete,-1;
#ENDIF

SendKey=0x1B;
Delay=1;
SendKey=0x1B;
Delay=1;
SendKey=0x1B;
Delay=1;

MemPtrWrite=%AddrESChwnd,%OffsetESChwnd,142,BYTE;

end_IsQuestComplete;
Classic 1.0
Code:
#SmoothBackground
_SetVar=QuestID,1101;
#EXECUTE=IsQuestComplete;
WaitForResponse=Complete = 0/nInComplete = 1/n/n%Var[QuestName]/nStatus = %Var[QuestComplete];



start_IsQuestComplete;

_MemPtrReadVar=%AddrFrameName[chat_input_dialog],0x4C,FLOAT,XPosCache;
_MemPtrReadVar=%AddrFrameName[chat_input_dialog],0x54,FLOAT,YPosCache;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x28,15,BYTE;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x4C,0,FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x54,0,FLOAT;

SendKey=0x0D;
Delay=100;
SendKey=123456789012345;
Delay=150;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x480/0x2B0/0x0,[quest:%Var[QuestID]],WCHAR[16];
Delay=50;
SendKey=1;
Delay=150;
Mouse=119,8;
Delay=250;
_IFFrameVisibleByName=quest_summary_dialog;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],0x488/0x2A0/0x8/0x18/0x1CC,WCHAR[256],QuestName;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],0x488/0x8E8,BYTE,QuestComplete;
#ELSE
_SetVar=QuestName,Quest not found;
_SetVar=QuestComplete,-1;
#ENDIF

MemPtrWrite=%AddrFrameName[chat_input_dialog],0x4C,%Var[XPosCache],FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x54,%Var[YPosCache],FLOAT;

MemPtrWrite=%AddrFrameName[system_menu_dialog],0x28,142,BYTE;
#DO=5000;
SendKey=0x1B; // ESC
Delay=1;
_UNTILMemPtrRead=%AddrFrameName[system_menu_dialog],0x28,BYTE,=175;
MemPtrWrite=%AddrFrameName[system_menu_dialog],0x28,142,BYTE;

end_IsQuestComplete;
Classic 2.0+
Code:
#IF=%FirstTime,;
#SmoothBackground
#EXECUTE=GetOffsets;
#ENDIF


_SetVar=QuestID,1101;
#EXECUTE=IsQuestComplete;
WaitForResponse=Complete = 0/nInComplete = 1/n/n%Var[QuestName]/nStatus = %Var[QuestComplete];



start_IsQuestComplete;

_MemPtrReadVar=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_XPos],FLOAT,XPosCache;
_MemPtrReadVar=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_YPos],FLOAT,YPosCache;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x28,15,BYTE;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_XPos],0,FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_YPos],0,FLOAT;

SendKey=0x0D;
Delay=100;
SendKey=123456789012345;
Delay=150;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_ChatText],[quest:%Var[QuestID]],WCHAR[16];
Delay=50;
SendKey=1;
Delay=150;
Mouse=119,8;
Delay=250;
_IFFrameVisibleByName=quest_summary_dialog;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],%Var[Offset_Quest_Name],WCHAR[256],QuestName;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],%Var[Offset_Quest_Complete],BYTE,QuestComplete;
#ELSE
_SetVar=QuestName,Quest not found;
_SetVar=QuestComplete,-1;
#ENDIF

#IF=%Var[QuestComplete],>1;
_SetVar=QuestComplete,1;
#ELSE
_SetVar=QuestComplete,0;
#ENDIF

MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_ChatText],,WCHAR[16]; // clear chat
SendKey=0x20;
Delay=100;
SendKey=0x08;
Delay=100;
SendKey=0x0D;
Delay=100;  // update chat input UI

MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_XPos],%Var[XPosCache],FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_YPos],%Var[YPosCache],FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x28,7,BYTE;  // do not force foreground, fix for Command=

MemPtrWrite=%AddrFrameName[system_menu_dialog],0x28,142,BYTE;
#DO=5000;
SendKey=0x1B; // ESC
Delay=1;
_UNTILMemPtrRead=%AddrFrameName[system_menu_dialog],0x28,BYTE,=175;
MemPtrWrite=%AddrFrameName[system_menu_dialog],0x28,142,BYTE;

end_IsQuestComplete;



start_GetOffsets;

#DO=5000;
Delay=250;
#UNTIL=%Timer=997,5000;

#IF=%ClientID,=5; // Classic NA
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_XPos,(?m)\[Classic\]\n.*?^Frame_XPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_YPos,(?m)\[Classic\]\n.*?^Frame_YPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_ChatText,(?m)\[Classic\]\n.*?^ChatText=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Name,(?m)\[Classic\]\n.*?^Quest_Name=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Complete,(?m)\[Classic\]\n.*?^Quest_Complete=(.*?)$;
#ENDIF

#IF=%ClientID,=6; // Classic EU
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_XPos,(?m)\[Classic EU\]\n.*?^Frame_XPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_YPos,(?m)\[Classic EU\]\n.*?^Frame_YPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_ChatText,(?m)\[Classic EU\]\n.*?^ChatText=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Name,(?m)\[Classic EU\]\n.*?^Quest_Name=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Complete,(?m)\[Classic EU\]\n.*?^Quest_Complete=(.*?)$;
#ENDIF

CreateTimer=997;

end_GetOffsets;
Retail Any Patch
Code:
#IF=%FirstTime,;
#SmoothBackground
#EXECUTE=GetOffsets;
#ENDIF


_SetVar=QuestID,1101;
#EXECUTE=IsQuestComplete;
WaitForResponse=Complete = 0/nInComplete = 1/n/n%Var[QuestName]/nStatus = %Var[QuestComplete];



start_IsQuestComplete;

_MemPtrReadVar=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_XPos],FLOAT,XPosCache;
_MemPtrReadVar=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_YPos],FLOAT,YPosCache;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x28,15,BYTE;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_XPos],0,FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_YPos],0,FLOAT;

SendKey=0x0D;
Delay=100;
SendKey=123456789012345;
Delay=150;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_ChatText],[@quest:%Var[QuestID]],WCHAR[16];
Delay=50;
SendKey=1;
Delay=150;
Mouse=63,8;
Delay=250;
_IFFrameVisibleByName=quest_summary_dialog;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],%Var[Offset_Quest_Name],WCHAR[256],QuestName;
_MemPtrReadVar=%AddrFrameName[quest_summary_dialog],%Var[Offset_Quest_Complete],BYTE,QuestComplete;
#ELSE
_SetVar=QuestName,Quest not found;
_SetVar=QuestComplete,-1;
#ENDIF

#IF=%Var[QuestComplete],>1;
_SetVar=QuestComplete,1;
#ELSE
_SetVar=QuestComplete,0;
#ENDIF

MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_ChatText],,WCHAR[16]; // clear chat
SendKey=0x20;
Delay=100;
SendKey=0x08;
Delay=100;
SendKey=0x0D;
Delay=100;  // update chat input UI

MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_XPos],%Var[XPosCache],FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],%Var[Offset_Frame_YPos],%Var[YPosCache],FLOAT;
MemPtrWrite=%AddrFrameName[chat_input_dialog],0x28,7,BYTE;  // do not force foreground, fix for Command=

MemPtrWrite=%AddrFrameName[system_menu_dialog],0x28,142,BYTE;
#DO=5000;
SendKey=0x1B; // ESC
Delay=1;
_UNTILMemPtrRead=%AddrFrameName[system_menu_dialog],0x28,BYTE,=175;
MemPtrWrite=%AddrFrameName[system_menu_dialog],0x28,142,BYTE;

end_IsQuestComplete;



start_GetOffsets;

#DO=5000;
Delay=250;
#UNTIL=%Timer=997,5000;

_IFMemRead=%AddrLangPack,CHAR[32],=L10N/ENU/;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_XPos,(?m)\[NA\]\n.*?^Frame_XPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_YPos,(?m)\[NA\]\n.*?^Frame_YPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_ChatText,(?m)\[NA\]\n.*?^ChatText=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Name,(?m)\[NA\]\n.*?^Quest_Name=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Complete,(?m)\[NA\]\n.*?^Quest_Complete=(.*?)$;
#ELSE
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_XPos,(?m)\[EU\]\n.*?^Frame_XPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Frame_YPos,(?m)\[EU\]\n.*?^Frame_YPos=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_ChatText,(?m)\[EU\]\n.*?^ChatText=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Name,(?m)\[EU\]\n.*?^Quest_Name=(.*?)$;
_HTTPGetVar=http://subvanillatool.com/Offsets.txt,,Offset_Quest_Complete,(?m)\[EU\]\n.*?^Quest_Complete=(.*?)$;
#ENDIF
CreateTimer=997;

end_GetOffsets;
06/03/2018 00:55 Paraly#1948
I'll post snippets here that I created on request

Detect if kisk is alive
Code:
MemWrite=%AddrFreeMem30,%AddrResurrect,DWORD;
_MemReadVar=%AddrFreeMem30,DWORD,1;
_Calc1=%Var1+604;
_IFMemRead=%Var1,BYTE,>0;
WaitForResponse=Kisk active;
#ELSE
WaitForResponse=Kisk not active;
#ENDIF
Detect if player is on FTS
Code:
_SetVar1=68;
_Calc3=%Var1+64;
_SetVar2=0;
#DO=8000;
_Calc1=%Var1+2;
_IFMemPtrRead=%PlayerBase,%OffsetData/%Var1,WORD,=45;
_SetVar2=1;
#ENDIF
#IF=%Var1,>%Var3;
_SetVar2=2;
#ENDIF
#UNTIL=%Var2,>0;

#IF=%Var2,=1;
WaitForResponse=On Fast-Track;
#ELSE
WaitForResponse=Not on Fast-Track;
#ENDIF
Detect if player is the groupleader
Code:
_IFMemPtrRead=%AddrFrameID[21],0x5C8/0x28,DWORD,=540675;
WaitForResponse=Is groupleader;
#ELSE
WaitForResponse=Is not groupleader;
#ENDIF
Detect if Player has a debuff
Code:
_IFMemPtrRead=%AddrFrameID[168],0x75C,DWORD,>0;
WaitForResponse=Player has a debuff;
#ELSE
WaitForResponse=Player has no debuff;
#ENDIF
Detect if Spiritmaster has a spirit summoned
Code:
_IFFrameVisible=209;
WaitForResponse=Spirit summoned;
#ELSE
WaitForResponse=Spirit not summoned;
#ENDIF
Detect if target has player as target
Code:
_MemPtrReadVar=%PlayerBase,%OffsetData/0x30,WORD,29;
_IFMemPtrRead=%AddrFrameID[2],0x558,WORD,=%Var29;
WaitForResponse=Target has player as target;
#ELSE
WaitForResponse=Target has player not as target;
#ENDIF
Detect if groupslot 2 is online
Code:
_IFMemPtrRead=%AddrFrameID[21],0x6A0,DWORD,=0;
WaitForResponse=Second groupmember is online;
#ELSE
WaitForResponse=Second groupmember is not online;
#ENDIF
Detect if stigma slot is unlocked
Code:
_IFMemPtrRead=%AddrFrameID[18],0x6A0/0x28,DWORD,=16391;
WaitForResponse=Bottom Left slot unlocked;
#ELSE
WaitForResponse=Bottom Left slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6A8/0x28,DWORD,=16391;
WaitForResponse=Bottom Center slot unlocked;
#ELSE
WaitForResponse=Bottom Center slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6B0/0x28,DWORD,=16391;
WaitForResponse=Bottom Right slot unlocked;
#ELSE
WaitForResponse=Bottom Right slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6B8/0x28,DWORD,=16391;
WaitForResponse=Top Left slot unlocked;
#ELSE
WaitForResponse=Top Left slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6C0/0x28,DWORD,=16391;
WaitForResponse=Top Right slot unlocked;
#ELSE
WaitForResponse=Top Right slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6C8/0x28,DWORD,=16391;
WaitForResponse=Top Center slot unlocked;
#ELSE
WaitForResponse=Top Center slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6D0/0x28,DWORD,=16391;
WaitForResponse=Special slot unlocked;
#ELSE
WaitForResponse=Special slot locked;
#ENDIF

_IFMemPtrRead=%AddrFrameID[18],0x6D8/0x28,DWORD,=16391;
WaitForResponse=Center Center slot unlocked;
#ELSE
WaitForResponse=Center Center slot locked;
#ENDIF
Detect certain words in the current NPC dialog
Code:
UseSpeed=1;
#DisableScrolling
_SetVar1=0; ; string start point
_Calc3=%Var1+1024; String length
_SetVar2=0;
#DO=50000;
_IFMemPtrRead=%AddrFrameID[170],0x580/%Var1,WCHAR[4],=ever; search word, also modify the word/s length "ever" = 4 letters so WCHAR[4]
_SetVar2=1;
#ENDIF
#IF=%Var1,>%Var3;
_SetVar2=2;
#ENDIF
_Calc1=%Var1+2;
#UNTIL=%Var2,>0;

#IF=%Var2,=1;
WaitForResponse=String found in current NPC dialog;
#ELSE
WaitForResponse=String not found in current NPC dialog;
#ENDIF
06/06/2018 22:29 mezorr#1949
can you add an option to mirash to ask the player when he killed the boss manually and continue the script?

thx.
06/06/2018 22:48 Paraly#1950
Quote:
Originally Posted by mezorr View Post
can you add an option to mirash to ask the player when he killed the boss manually and continue the script?

thx.
There you go :)