|
You last visited: Today at 15:04
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!
|
|
263 |
36.89% |
No, english and german are enough for me.
|
|
450 |
63.11% |
07/03/2018, 18:20
|
#1981
|
elite*gold: 27
Join Date: Sep 2009
Posts: 5,592
Received Thanks: 1,596
|
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,592
Received Thanks: 1,596
|
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,592
Received Thanks: 1,596
|
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,592
Received Thanks: 1,596
|
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,592
Received Thanks: 1,596
|
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,592
Received Thanks: 1,596
|
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,592
Received Thanks: 1,596
|
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 15:04.
|
|