You last visited: Today at 01:50
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.09%
No, english and german are enough for me.
463
62.91%
07/03/2018, 18:20
#1981
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
Here's an example code how to read the price of the current selected item at broker
Code:
_IFFrameVisible=181;
#EXECUTE=CheckUnitPrice;
#ENDIF
_IFFrameVisible=497;
#EXECUTE=CheckStackPrice;
#ENDIF
start_CheckUnitPrice;
_MemPtrReadVar=%AddrFrameID[181],0x610,DWORD,UnitPrice; unit price
_MemPtrReadVar=%AddrFrameID[181],0x628,DWORD,UnitAmount; unit amount
_Calc[BundlePrice]=%Var[UnitPrice]*%Var[UnitAmount];
WaitForResponse=Unit Price: %Var[UnitPrice]/nAmount: %Var[UnitAmount]/nPrice for the whole bundle: %Var[BundlePrice];
#IF=%Var[UnitPrice],<50000;
WaitForResponse=Unit price is lower than 50000;
#ELSE
WaitForResponse=Unit price is greater than 50000;
#ENDIF
end_CheckUnitPrice;
start_CheckStackPrice;
#EXECUTE=TransformStackPrice;
WaitForResponse=The stack price is: %Var[StackPrice];
#IF=%Var[StackPrice],<50000;
WaitForResponse=Stack price is lower than 50000;
#ELSE
WaitForResponse=Stack price is greater than 50000;
#ENDIF
end_CheckStackPrice;
start_TransformStackPrice;
_MemPtrReadVar=%AddrFrameID[497],0x610/0x358/0x108/0x0,WCHAR[32],StackPriceCached;
_SetVar=DynamicOffset,0x0;
#DO=60000;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_IFMemPtrRead=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],BYTE,=44;
MemPtrWrite=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],46,BYTE;
#ENDIF
#UNTIL=%Var[DynamicOffset],>32;
_SetVar=DynamicOffset,0x0;
#DO=60000;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_IFMemPtrRead=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],BYTE,=46;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_MemPtrReadVar=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],WCHAR[32],RemainingString;
_Calc[DynamicOffset]=%Var[DynamicOffset]-2;
MemPtrWrite=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],%Var[RemainingString],WCHAR[32];
#ENDIF
#UNTIL=%Var[DynamicOffset],>32;
_SetVar=DynamicOffset,0x0;
#DO=60000;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_IFMemPtrRead=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],BYTE,=32;
MemPtrWrite=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],0,BYTE;
#ENDIF
#UNTIL=%Var[DynamicOffset],>32;
_MemPtrReadVar=%AddrFrameID[497],0x610/0x358/0x108/0x0,WCHAR[32],StackPrice;
MemPtrWrite=%AddrFrameID[497],0x610/0x358/0x108/0x0,%Var[StackPriceCached],WCHAR[32];
end_TransformStackPrice;
07/03/2018, 18:38
#1982
elite*gold: 0
Join Date: Nov 2015
Posts: 335
Received Thanks: 20
Quote:
Originally Posted by
Paraly
Here's an example code how to read the price of the current selected item at broker
Code:
_IFFrameVisible=181;
#EXECUTE=CheckUnitPrice;
#ENDIF
_IFFrameVisible=497;
#EXECUTE=CheckStackPrice;
#ENDIF
start_CheckUnitPrice;
_MemPtrReadVar=%AddrFrameID[181],0x610,DWORD,UnitPrice; unit price
_MemPtrReadVar=%AddrFrameID[181],0x628,DWORD,UnitAmount; unit amount
_Calc[BundlePrice]=%Var[UnitPrice]*%Var[UnitAmount];
WaitForResponse=Unit Price: %Var[UnitPrice]/nAmount: %Var[UnitAmount]/nPrice for the whole bundle: %Var[BundlePrice];
#IF=%Var[UnitPrice],<50000;
WaitForResponse=Unit price is lower than 50000;
#ELSE
WaitForResponse=Unit price is greater than 50000;
#ENDIF
end_CheckUnitPrice;
start_CheckStackPrice;
#EXECUTE=TransformStackPrice;
WaitForResponse=The stack price is: %Var[StackPrice];
#IF=%Var[StackPrice],<50000;
WaitForResponse=Stack price is lower than 50000;
#ELSE
WaitForResponse=Stack price is greater than 50000;
#ENDIF
end_CheckStackPrice;
start_TransformStackPrice;
_SetVar=DynamicOffset,0x0;
#DO=60000;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_IFMemPtrRead=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],BYTE,=46;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_MemPtrReadVar=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],WCHAR[32],RemainingString;
_Calc[DynamicOffset]=%Var[DynamicOffset]-2;
MemPtrWrite=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],%Var[RemainingString],WCHAR[32];
#ENDIF
#UNTIL=%Var[DynamicOffset],>32;
_SetVar=DynamicOffset,0x0;
#DO=60000;
_Calc[DynamicOffset]=%Var[DynamicOffset]+2;
_IFMemPtrRead=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],BYTE,=32;
MemPtrWrite=%AddrFrameID[497],0x610/0x358/0x108/%Var[DynamicOffset],0,BYTE;
#ENDIF
#UNTIL=%Var[DynamicOffset],>32;
_MemPtrReadVar=%AddrFrameID[497],0x610/0x358/0x108/0x0,WCHAR[32],StackPrice;
end_TransformStackPrice;
I'm kind of slow, is this any news? how it works ? I do this and he does what?
07/03/2018, 18:41
#1983
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
Quote:
Originally Posted by
Exem strike
I'm kind of slow, is this any news? how it works ? I do this and he does what?
It's only for people that need to read the broker price for their scripts
07/03/2018, 19:04
#1984
elite*gold: 0
Join Date: Jan 2012
Posts: 44
Received Thanks: 5
Quote:
#IF=%Var[StackPrice],<50000;
WaitForResponse=Stack price is lower than 50000;
#ELSE
WaitForResponse=Stack price is greater than 50000;
#ENDIF
script crash here
07/03/2018, 19:09
#1985
elite*gold: 0
Join Date: Apr 2013
Posts: 94
Received Thanks: 13
Quote:
Originally Posted by
teteu999
script crash here
Quote:
Originally Posted by
Paraly
Here's an example code how to read the price of the current selected item at broker
you can reply here Paraly
no problem
07/03/2018, 19:18
#1986
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
Quote:
Originally Posted by
teteu999
script crash here
Did you modify the snippet?
How does your Aion Client look like when you executed the script?
Quote:
Originally Posted by
xndinlove
you can reply here Paraly
no problem
I don't see why I couldn't reply here
07/03/2018, 19:19
#1987
elite*gold: 0
Join Date: Apr 2013
Posts: 94
Received Thanks: 13
Quote:
Originally Posted by
Paraly
Did you modify the snippet?
How does your Aion Client look like when you executed the script?
I don't see why I couldn't reply here
cuz i sent you whisper asking the exactly same thing
so you dont need to answer both places
07/03/2018, 19:22
#1988
elite*gold: 0
Join Date: Jan 2012
Posts: 44
Received Thanks: 5
Quote:
Did you modify the snippet?
No, I did not change anything.
Quote:
How does your Aion Client look like when you executed the script?
Nothing happens with Client
the entire script close in this section
#IF=%Var[StackPrice],<50000;
WaitForResponse=Stack price is lower than 50000;
#ELSE
WaitForResponse=Stack price is greater than 50000;
#ENDIF
07/03/2018, 19:24
#1989
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
Quote:
Originally Posted by
teteu999
No, I did not change anything.
Nothing happens with Client
the entire script close in this section
#IF=%Var[StackPrice],<50000;
WaitForResponse=Stack price is lower than 50000;
#ELSE
WaitForResponse=Stack price is greater than 50000;
#ENDIF
Can I take a look with
?
07/03/2018, 19:25
#1990
elite*gold: 0
Join Date: Jan 2012
Posts: 44
Received Thanks: 5
Quote:
Can I take a look with supremo?
of course, i will send in private message
07/03/2018, 21:15
#1991
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
I've added the Broker bot script to the Short Script Bundle, you need to edit the script in order to fill the item names and the desired prices you want, it's very easy to edit
Later on I add an option so he automatically resells the bought items for X price
Edit: I added the sell option as well now, so all you need to make kinah is good rules about which items to buy at which price and resell them at a higher price, with enough money you can control the market
Edit2: Added Asmo support
_________________
I've Added
Speech=[text]; to the Script Editor with 5.08
It works like this
Code:
#EnableSpeech
_MemPtrReadVar=%PlayerBase,%OffsetName,WCHAR[32],Charactername;
Speech=%Var[Charactername] is running out of scrolls.;
Someone requested an example for a trading script yesterday, here it is
Script 1: Trades certain item to certain user
Code:
#IF=%FirstTime,;
#DisableScrolling
#SmoothBackground
#NeedResolution=816,638;
Delay=300;
#NeedResolution=816,638;
UseSpeed=1;
#ENDIF
Command=/select SomePlayerName; <-- targets a player
Delay=150;
Command=/trade; <-- requests trade
MemWrite=%AddrFreeMem5,0,BYTE; <-- sets freemem5 to 0
#DO=30000;
_IFFrameVisible=171; <-- checks if trade window is visible
MemWrite=%AddrFreeMem5,1,BYTE; <-- sets freemem5 to 1
#ENDIF
Delay=500;
_UNTILMemRead=%AddrFreeMem5,BYTE,=1; <-- waits till freemem5 is at 1
Delay=500;
_SetVar=SearchedItemID,166100023; <-- Enter the ItemID you want the inventory coords of
#EXECUTE=CheckInvSlot; <-- searches for the coordinates
Mouse=%Var22,Right; <-- rightclicks at the coordinates
MemWrite=%AddrFreeMem5,0,BYTE; <-- sets freemem5 to 0
#DO=60000;
_IFFrameVisible=171; <-- checks if trade window is visible
FrameAction=171,XPOS,0;
FrameAction=171,YPOS,0;
Mouse=59,219; <-- clicks on Lock list
Delay=15;
Mouse=59,222; <-- clicks on Lock list
Delay=1000;
Mouse=180,241; <-- clicks on OK
Delay=15;
Mouse=180,244; <-- clicks on OK
#ELSE
MemWrite=%AddrFreeMem5,1,BYTE; <-- sets freemem5 to 1
#ENDIF
Delay=500;
_UNTILMemRead=%AddrFreeMem5,BYTE,=1; <-- waits till freemem5 is at 1
start_CheckInvSlot;
_SetVar=Round,0;
_SetVar=Cube,0;
_SetVar=DynamicCubeOffsetBase,1424;
MemPtrWrite=%AddrFrameID[15],0x6C,4.032836914,FLOAT;
MemPtrWrite=%AddrFrameID[15],0x74,0,FLOAT;
#DO=90000;
_Calc[DynamicSlotOffset]=%Var[Round]*8;
_Calc[DynamicCubeOffset]=%Var[Cube]*8;
_Calc[DynamicCubeOffset]=%Var[DynamicCubeOffset]+%Var[DynamicCubeOffsetBase];
MemWrite=%AddrFreeMem20,0,BYTE;
_IFMemPtrRead=%AddrFrameID[16],%Var[DynamicCubeOffset]/0x3B8/%Var[DynamicSlotOffset]/0x9C,DWORD,=%Var[SearchedItemID];
MemWrite=%AddrFreeMem20,1,BYTE;
#ENDIF
#IF=%Var[Round],>26;
MemWrite=%AddrFreeMem20,2,BYTE;
#ENDIF
_Calc[Round]=%Var[Round]+1;
_UNTILMemRead=%AddrFreeMem20,BYTE,>0;
_Calc[Round]=%Var[Round]-1;
#IF=%Var[Cube],>4;
WaitForResponse=Nothing found;
_SetVar=Round,0;
_SetVar=Cube,0;
MemWrite=%AddrFreeMem20,3,BYTE;
#ENDIF
_IFMemRead=%AddrFreeMem20,BYTE,=2;
_Calc[Cube]=%Var[Cube]+1;
_SetVar=Round,0;
#UNTIL=1,=2;
#ENDIF
_IFMemRead=%AddrFreeMem20,BYTE,=1;
#EXECUTE=GetInvSlotCoord;
_Calc[Round]=%Var[Round]+1;
_Calc[Cube]=%Var[Cube]+1;
#ENDIF
end_CheckInvSlot;
start_GetInvSlotCoord;
#IF=%Var[Cube],=0; cube
#EXECUTE=GetInvSlotCoordCube0;
#ENDIF
#IF=%Var[Cube],=1; cube
#EXECUTE=GetInvSlotCoordCube1;
#ENDIF
#IF=%Var[Cube],=2; cube
#EXECUTE=GetInvSlotCoordCube2;
#ENDIF
#IF=%Var[Cube],=3; cube
#EXECUTE=GetInvSlotCoordCube3;
#ENDIF
#IF=%Var[Cube],=4; cube
#EXECUTE=GetInvSlotCoordCube4;
#ENDIF
end_GetInvSlotCoord;
start_GetInvSlotCoordCube0;
First Row
#IF=%Var[Round],=0; slot number
_SetVar22=563,48; slot coords
#ENDIF
#IF=%Var[Round],=1;
_SetVar22=590,48;
#ENDIF
#IF=%Var[Round],=2;
_SetVar22=615,48;
#ENDIF
#IF=%Var[Round],=3;
_SetVar22=645,48;
#ENDIF
#IF=%Var[Round],=4;
_SetVar22=672,48;
#ENDIF
#IF=%Var[Round],=5;
_SetVar22=697,48;
#ENDIF
#IF=%Var[Round],=6;
_SetVar22=724,48;
#ENDIF
#IF=%Var[Round],=7;
_SetVar22=753,48;
#ENDIF
#IF=%Var[Round],=8;
_SetVar22=781,48;
#ENDIF
Second Row
#IF=%Var[Round],=9; slot number
_SetVar22=563,78; slot coords
#ENDIF
#IF=%Var[Round],=10;
_SetVar22=590,78;
#ENDIF
#IF=%Var[Round],=11;
_SetVar22=615,78;
#ENDIF
#IF=%Var[Round],=12;
_SetVar22=645,78;
#ENDIF
#IF=%Var[Round],=13;
_SetVar22=672,78;
#ENDIF
#IF=%Var[Round],=14;
_SetVar22=697,78;
#ENDIF
#IF=%Var[Round],=15;
_SetVar22=724,78;
#ENDIF
#IF=%Var[Round],=16;
_SetVar22=753,78;
#ENDIF
#IF=%Var[Round],=17;
_SetVar22=781,78;
#ENDIF
Third Row
#IF=%Var[Round],=18; slot number
_SetVar22=563,105; slot coords
#ENDIF
#IF=%Var[Round],=19;
_SetVar22=590,105;
#ENDIF
#IF=%Var[Round],=20;
_SetVar22=615,105;
#ENDIF
#IF=%Var[Round],=21;
_SetVar22=645,105;
#ENDIF
#IF=%Var[Round],=22;
_SetVar22=672,105;
#ENDIF
#IF=%Var[Round],=23;
_SetVar22=697,105;
#ENDIF
#IF=%Var[Round],=24;
_SetVar22=724,105;
#ENDIF
#IF=%Var[Round],=25;
_SetVar22=753,105;
#ENDIF
#IF=%Var[Round],=26;
_SetVar22=781,105;
#ENDIF
end_GetInvSlotCoordCube0;
start_GetInvSlotCoordCube1;
Fourth Row
#IF=%Var[Round],=0; slot number
_SetVar22=563,154; slot coords
#ENDIF
#IF=%Var[Round],=1;
_SetVar22=590,154;
#ENDIF
#IF=%Var[Round],=2;
_SetVar22=615,154;
#ENDIF
#IF=%Var[Round],=3;
_SetVar22=645,154;
#ENDIF
#IF=%Var[Round],=4;
_SetVar22=672,154;
#ENDIF
#IF=%Var[Round],=5;
_SetVar22=697,154;
#ENDIF
#IF=%Var[Round],=6;
_SetVar22=724,154;
#ENDIF
#IF=%Var[Round],=7;
_SetVar22=753,154;
#ENDIF
#IF=%Var[Round],=8;
_SetVar22=781,154;
#ENDIF
Fifth Row
#IF=%Var[Round],=9; slot number
_SetVar22=563,176; slot coords
#ENDIF
#IF=%Var[Round],=10;
_SetVar22=590,176;
#ENDIF
#IF=%Var[Round],=11;
_SetVar22=615,176;
#ENDIF
#IF=%Var[Round],=12;
_SetVar22=645,176;
#ENDIF
#IF=%Var[Round],=13;
_SetVar22=672,176;
#ENDIF
#IF=%Var[Round],=14;
_SetVar22=697,176;
#ENDIF
#IF=%Var[Round],=15;
_SetVar22=724,176;
#ENDIF
#IF=%Var[Round],=16;
_SetVar22=753,176;
#ENDIF
#IF=%Var[Round],=17;
_SetVar22=781,176;
#ENDIF
Sixth Row
#IF=%Var[Round],=18; slot number
_SetVar22=563,208; slot coords
#ENDIF
#IF=%Var[Round],=19;
_SetVar22=590,208;
#ENDIF
#IF=%Var[Round],=20;
_SetVar22=615,208;
#ENDIF
#IF=%Var[Round],=21;
_SetVar22=645,208;
#ENDIF
#IF=%Var[Round],=22;
_SetVar22=672,208;
#ENDIF
#IF=%Var[Round],=23;
_SetVar22=697,208;
#ENDIF
#IF=%Var[Round],=24;
_SetVar22=724,208;
#ENDIF
#IF=%Var[Round],=25;
_SetVar22=753,208;
#ENDIF
#IF=%Var[Round],=26;
_SetVar22=781,208;
#ENDIF
end_GetInvSlotCoordCube1;
start_GetInvSlotCoordCube2;
Seventh Row
#IF=%Var[Round],=0; slot number
_SetVar22=563,252; slot coords
#ENDIF
#IF=%Var[Round],=1;
_SetVar22=590,252;
#ENDIF
#IF=%Var[Round],=2;
_SetVar22=615,252;
#ENDIF
#IF=%Var[Round],=3;
_SetVar22=645,252;
#ENDIF
#IF=%Var[Round],=4;
_SetVar22=672,252;
#ENDIF
#IF=%Var[Round],=5;
_SetVar22=697,252;
#ENDIF
#IF=%Var[Round],=6;
_SetVar22=724,252;
#ENDIF
#IF=%Var[Round],=7;
_SetVar22=753,252;
#ENDIF
#IF=%Var[Round],=8;
_SetVar22=781,252;
#ENDIF
Eighth Row
#IF=%Var[Round],=9; slot number
_SetVar22=563,280; slot coords
#ENDIF
#IF=%Var[Round],=10;
_SetVar22=590,280;
#ENDIF
#IF=%Var[Round],=11;
_SetVar22=615,280;
#ENDIF
#IF=%Var[Round],=12;
_SetVar22=645,280;
#ENDIF
#IF=%Var[Round],=13;
_SetVar22=672,280;
#ENDIF
#IF=%Var[Round],=14;
_SetVar22=697,280;
#ENDIF
#IF=%Var[Round],=15;
_SetVar22=724,280;
#ENDIF
#IF=%Var[Round],=16;
_SetVar22=753,280;
#ENDIF
#IF=%Var[Round],=17;
_SetVar22=781,280;
#ENDIF
Ninth Row
#IF=%Var[Round],=18; slot number
_SetVar22=563,306; slot coords
#ENDIF
#IF=%Var[Round],=19;
_SetVar22=590,306;
#ENDIF
#IF=%Var[Round],=20;
_SetVar22=615,306;
#ENDIF
#IF=%Var[Round],=21;
_SetVar22=645,306;
#ENDIF
#IF=%Var[Round],=22;
_SetVar22=672,306;
#ENDIF
#IF=%Var[Round],=23;
_SetVar22=697,306;
#ENDIF
#IF=%Var[Round],=24;
_SetVar22=724,306;
#ENDIF
#IF=%Var[Round],=25;
_SetVar22=753,306;
#ENDIF
#IF=%Var[Round],=26;
_SetVar22=781,306;
#ENDIF
end_GetInvSlotCoordCube2;
start_GetInvSlotCoordCube3;
Tenth Row
#IF=%Var[Round],=0; slot number
_SetVar22=563,351; slot coords
#ENDIF
#IF=%Var[Round],=1;
_SetVar22=590,351;
#ENDIF
#IF=%Var[Round],=2;
_SetVar22=615,351;
#ENDIF
#IF=%Var[Round],=3;
_SetVar22=645,351;
#ENDIF
#IF=%Var[Round],=4;
_SetVar22=672,351;
#ENDIF
#IF=%Var[Round],=5;
_SetVar22=697,351;
#ENDIF
#IF=%Var[Round],=6;
_SetVar22=724,351;
#ENDIF
#IF=%Var[Round],=7;
_SetVar22=753,351;
#ENDIF
#IF=%Var[Round],=8;
_SetVar22=781,351;
#ENDIF
Eleventh Row
#IF=%Var[Round],=9; slot number
_SetVar22=563,381; slot coords
#ENDIF
#IF=%Var[Round],=10;
_SetVar22=590,381;
#ENDIF
#IF=%Var[Round],=11;
_SetVar22=615,381;
#ENDIF
#IF=%Var[Round],=12;
_SetVar22=645,381;
#ENDIF
#IF=%Var[Round],=13;
_SetVar22=672,381;
#ENDIF
#IF=%Var[Round],=14;
_SetVar22=697,381;
#ENDIF
#IF=%Var[Round],=15;
_SetVar22=724,381;
#ENDIF
#IF=%Var[Round],=16;
_SetVar22=753,381;
#ENDIF
#IF=%Var[Round],=17;
_SetVar22=781,381;
#ENDIF
Twelfth Row
#IF=%Var[Round],=18; slot number
_SetVar22=563,409; slot coords
#ENDIF
#IF=%Var[Round],=19;
_SetVar22=590,409;
#ENDIF
#IF=%Var[Round],=20;
_SetVar22=615,409;
#ENDIF
#IF=%Var[Round],=21;
_SetVar22=645,409;
#ENDIF
#IF=%Var[Round],=22;
_SetVar22=672,409;
#ENDIF
#IF=%Var[Round],=23;
_SetVar22=697,409;
#ENDIF
#IF=%Var[Round],=24;
_SetVar22=724,409;
#ENDIF
#IF=%Var[Round],=25;
_SetVar22=753,409;
#ENDIF
#IF=%Var[Round],=26;
_SetVar22=781,409;
#ENDIF
end_GetInvSlotCoordCube3;
start_GetInvSlotCoordCube4;
Thirteenth Row
#IF=%Var[Round],=0; slot number
_SetVar22=563,456; slot coords
#ENDIF
#IF=%Var[Round],=1;
_SetVar22=590,456;
#ENDIF
#IF=%Var[Round],=2;
_SetVar22=615,456;
#ENDIF
#IF=%Var[Round],=3;
_SetVar22=645,456;
#ENDIF
#IF=%Var[Round],=4;
_SetVar22=672,456;
#ENDIF
#IF=%Var[Round],=5;
_SetVar22=697,456;
#ENDIF
#IF=%Var[Round],=6;
_SetVar22=724,456;
#ENDIF
#IF=%Var[Round],=7;
_SetVar22=753,456;
#ENDIF
#IF=%Var[Round],=8;
_SetVar22=781,456;
#ENDIF
Fourteenth Row
#IF=%Var[Round],=9; slot number
_SetVar22=563,480; slot coords
#ENDIF
#IF=%Var[Round],=10;
_SetVar22=590,480;
#ENDIF
#IF=%Var[Round],=11;
_SetVar22=615,480;
#ENDIF
#IF=%Var[Round],=12;
_SetVar22=645,480;
#ENDIF
#IF=%Var[Round],=13;
_SetVar22=672,480;
#ENDIF
#IF=%Var[Round],=14;
_SetVar22=697,480;
#ENDIF
#IF=%Var[Round],=15;
_SetVar22=724,480;
#ENDIF
#IF=%Var[Round],=16;
_SetVar22=753,480;
#ENDIF
#IF=%Var[Round],=17;
_SetVar22=781,480;
#ENDIF
Fifteenth Row
#IF=%Var[Round],=18; slot number
_SetVar22=563,510; slot coords
#ENDIF
#IF=%Var[Round],=19;
_SetVar22=590,510;
#ENDIF
#IF=%Var[Round],=20;
_SetVar22=615,510;
#ENDIF
#IF=%Var[Round],=21;
_SetVar22=645,510;
#ENDIF
#IF=%Var[Round],=22;
_SetVar22=672,510;
#ENDIF
#IF=%Var[Round],=23;
_SetVar22=697,510;
#ENDIF
#IF=%Var[Round],=24;
_SetVar22=724,510;
#ENDIF
#IF=%Var[Round],=25;
_SetVar22=753,510;
#ENDIF
#IF=%Var[Round],=26;
_SetVar22=781,510;
#ENDIF
end_GetInvSlotCoordCube4;
Script 2: A Tradeslave who accepts any trade
Code:
#IF=%FirstTime,;
#NeedResolution=816,638;
Delay=500;
#NeedResolution=816,638;
WaitForResponse=Be sure your toon has 100% UI size/nBe sure Click to Move is disabled/nBe sure the Trade Slave is at the normal server not FTS/nBe sure you've reseted the window positions/nBe sure Windows DPI scaling is at 100%;
#UseLoop
UseSpeed=1;
#SmoothBackground
MemPtrWrite=%AddrFPS,%OffsetFPS1,24,BYTE;
MemPtrWrite=%AddrFPS,%OffsetFPS2,24,FLOAT;
MemPtrWrite=%AddrCamMax,%OffsetCamMax,0.1,FLOAT;CA MMAX
Delay=100;
MemPtrWrite=%AddrThirdPerson,%OffsetThirdPerson,0, FLOAT;THIRDPERSON
MemWrite=%AddrCamY,-85,FLOAT;
#ShowLog
#ENDIF
MemWrite=%AddrFreeMem5,0,BYTE;
#DO=999999999;
_IFFrameVisible=508; trade accept window
MemWrite=%AddrFreeMem5,1,BYTE;
FrameAction=508,XPOS,0;
FrameAction=508,YPOS,0;
#ENDIF
Delay=750;
_UNTILMemRead=%AddrFreeMem5,BYTE,=1;
Delay=1500;
Mouse=161,73; accept trade
Delay=15;
Mouse=161,76; accept trade
Delay=2000;
FrameAction=171,XPOS,0;
FrameAction=171,YPOS,0;
Delay=1500;
MemWrite=%AddrFreeMem5,1,BYTE;
#DO=60000;
_IFFrameVisible=171; trade window
Mouse=59,219; Lock list
Delay=15;
Mouse=59,222; Lock list
Delay=1000;
Mouse=180,241;
Delay=15;
Mouse=180,244;
#ELSE
MemWrite=%AddrFreeMem5,0,BYTE;
#LogAddRound
#ENDIF
Delay=500;
_UNTILMemRead=%AddrFreeMem5,BYTE,=0;
07/05/2018, 14:53
#1992
elite*gold: 0
Join Date: Apr 2013
Posts: 94
Received Thanks: 13
Quote:
Originally Posted by
Paraly
Someone requested an example for a trading script yesterday, here it is
I did some fixing here..
added a FrameAction for those coordinates to work properly. otherwise it will never Lock and press Ok:
Code:
MemWrite=%AddrFreeMem5,0,BYTE; <-- sets freemem5 to 0
#DO=60000;
_IFFrameVisible=171; <-- checks if trade window is visible
FrameAction=171,XPOS,0;
FrameAction=171,YPOS,0;
Mouse=59,219; <-- clicks on Lock list
Delay=15;
Mouse=59,222; <-- clicks on Lock list
Delay=1000;
Mouse=180,241; <-- clicks on OK
Delay=15;
Mouse=180,244; <-- clicks on OK
#ELSE
MemWrite=%AddrFreeMem5,1,BYTE; <-- sets freemem5 to 1
#ENDIF
Delay=500;
_UNTILMemRead=%AddrFreeMem5,BYTE,=1; <-- waits till freemem5 is at 1
and for the trade slave the frame ID is 508, not 507
Code:
MemWrite=%AddrFreeMem5,0,BYTE;
#DO=999999999;
_IFFrameVisible=508; trade accept window
MemWrite=%AddrFreeMem5,1,BYTE;
FrameAction=508,XPOS,0;
FrameAction=508,YPOS,0;
#ENDIF
also, the inventory must be opened or the script will click on nothing
so make sure it's OPEN
and i noticed that for some odd reason, if the item is in certain slots it will not trade them at all. "Nothing found" message will pop. (wrong coords maybe?)
EDIT: no i just checked. the coords are right.
for example the last slot from Default cube (this one i'm sure it doesn't work. there are others which i don't remember)
btw, this take a VERY GOOOD TIME to scan all slots xD
(not a complain tho
)
_____________
07/05/2018, 20:02
#1993
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
Quote:
Originally Posted by
xndinlove
I did some fixing here..
added a FrameAction for those coordinates to work properly. otherwise it will never Lock and press Ok:
Code:
MemWrite=%AddrFreeMem5,0,BYTE; <-- sets freemem5 to 0
#DO=60000;
_IFFrameVisible=171; <-- checks if trade window is visible
FrameAction=171,XPOS,0;
FrameAction=171,YPOS,0;
Mouse=59,219; <-- clicks on Lock list
Delay=15;
Mouse=59,222; <-- clicks on Lock list
Delay=1000;
Mouse=180,241; <-- clicks on OK
Delay=15;
Mouse=180,244; <-- clicks on OK
#ELSE
MemWrite=%AddrFreeMem5,1,BYTE; <-- sets freemem5 to 1
#ENDIF
Delay=500;
_UNTILMemRead=%AddrFreeMem5,BYTE,=1; <-- waits till freemem5 is at 1
and for the trade slave the frame ID is 508, not 507
Code:
MemWrite=%AddrFreeMem5,0,BYTE;
#DO=999999999;
_IFFrameVisible=508; trade accept window
MemWrite=%AddrFreeMem5,1,BYTE;
FrameAction=508,XPOS,0;
FrameAction=508,YPOS,0;
#ENDIF
also, the inventory must be opened or the script will click on nothing
so make sure it's OPEN
and i noticed that for some odd reason, if the item is in certain slots it will not trade them at all. "Nothing found" message will pop. (wrong coords maybe?)
EDIT: no i just checked. the coords are right.
for example the last slot from Default cube (this one i'm sure it doesn't work. there are others which i don't remember)
btw, this take a VERY GOOOD TIME to scan all slots xD
(not a complain tho
)
_____________
Fixed everything, the scan is as fast as possible for the scripting engine
I also updated the Broker Bot again few bugfixes and he now automatically takes the money if he sold something and notifies you about how much money he earned
Edit: Another patch for the Broker Bot with a lot of fixes
07/16/2018, 06:14
#1994
elite*gold: 0
Join Date: Dec 2012
Posts: 90
Received Thanks: 1
still safe?
07/16/2018, 11:34
#1995
elite*gold: 27
Join Date: Sep 2009
Posts: 5,609
Received Thanks: 1,597
Quote:
Originally Posted by
yam316
still safe?
What you mean?
hacking in general, yes seems it's still safe
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 +2. The time now is 01:50 .