I've recently added the account warehouse slot detection to the exp boost grinding script and now I've done the Inventory coordinate function.
With this function you can get the mouse coordinates of a specific item at the inventory, this can be used to drag the item into the trade window or similar things.
Code:
#IF=%FirstTime,;
#DisableScrolling
#SmoothBackground
#NeedResolution=816,638;
Delay=300;
#NeedResolution=816,638;
UseSpeed=1;
#ENDIF
_SetVar=SearchedItemID,166100023; <-- Enter the ItemID you want the coords of
#EXECUTE=CheckInvSlot;
MouseDrag=%Var22,Left,563,51;
WaitForResponse=Item Found at/n/nCube: %Var[Cube]/nSlot: %Var[Round]/nMouse Coordinates: %Var22/n/nGot moved to the first slot;
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
_Calc[Round]=%Var[Round]+1;
#IF=%Var[Round],>26;
MemWrite=%AddrFreeMem20,2,BYTE;
#ENDIF
_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;