YoHoJo
2006-11-22 19:06:06
Well i realized that most scripts after dropping an item wait 500 or more milliseconds before dropping another.
This is because the script must wait for the item to disappear from the inventory so it wont click the item again because it takes rs some time to process that you wanted to drop it.
I realized this could be fixed by instead of looking for a color, bitmap, or DTM of an item in the inventory, just take it one slot at a time.
So i got the idea to do that, look for items ONE SLOT AT A TIME =)
First i took a picture of the inventory and divided the slots:

Next i got the cords of each box (using the red dots i made) and set them up similar to the globals in SRL:
Here is what i stands for:
I1X1
I1 meaning "Inventory 1" aka slot 1
X1 meaning the X1 of the square
So i did this for all 28 slots
Next i made a few procedures look in a slot, drop the item, and then move to the next disregarding when the item was actually out of the inventory thus greatly increasing the dropping of items.
If the speed seems to fast some waits can be added.
These functions are huge and i bet there is some simple way to make them loop though all of the slots but i don't know how.
Maybe someone can situate a for to do loop or somethings to shorten them.
everyone feel free to edit them to make them smaller or better =)
Ill just make it an attachment because they are so large.
This is because the script must wait for the item to disappear from the inventory so it wont click the item again because it takes rs some time to process that you wanted to drop it.
I realized this could be fixed by instead of looking for a color, bitmap, or DTM of an item in the inventory, just take it one slot at a time.
So i got the idea to do that, look for items ONE SLOT AT A TIME =)
First i took a picture of the inventory and divided the slots:

Next i got the cords of each box (using the red dots i made) and set them up similar to the globals in SRL:
const
I1X1=560;
I1Y1=212;
I1X2=608;
I1Y2=252;
I2X1=609;
I2Y1=213;
I2X2=650;
I2Y2=252;
I3X1=650;
I3Y1=213;
I3X2=693;
I3Y2=253;
I4X1=693;
I4Y1=211;
I4X2=739;
I4Y2=253;
I5X1=559;
I5Y1=252;
I5X2=609;
I5Y2=290;
I6X1=609;
I6Y1=252;
I6X2=650;
I6Y2=290;
I7X1=650;
I7Y1=252;
I7X2=693;
I7Y2=290;
I8X1=693;
I8Y1=253;
I8X2=739;
I8Y2=290;
I9X1=560;
I9Y1=290;
I9X2=609;
I9Y2=326;
I10X1=610;
I10Y1=290;
I10X2=650;
I10Y2=325;
I11X1=650;
I11Y1=290;
I11X2=650;
I11Y2=325;
I12X1=693;
I12Y1=290;
I12X2=738;
I12Y2=325;
I13X1=561;
I13Y1=326;
I13X2=609;
I13Y2=361;
I14X1=609;
I14Y1=326;
I14X2=650;
I14Y2=361;
I15X1=650;
I15Y1=325;
I15X2=692;
I15Y2=361;
I16X1=692;
I16Y1=325;
I16X2=738;
I16Y2=361;
I17X1=560;
I17Y1=361;
I17X2=608;
I17Y2=398;
I18X1=609;
I18Y1=361;
I18X2=651;
I18Y2=398;
I19X1=650;
I19Y1=361;
I19X2=691;
I19Y2=398;
I20X1=693;
I20Y1=362;
I20X2=736;
I20Y2=397;
I21X1=560;
I21Y1=398;
I21X2=609;
I21Y2=435;
I22X1=609;
I22Y1=399;
I22X2=650;
I22Y2=436;
I23X1=650;
I23Y1=398;
I23X2=693;
I23Y2=435;
I24X1=692;
I24Y1=398;
I24X2=738;
I24Y2=436;
I25X1=560;
I25Y1=435;
I25X2=609;
I25Y2=468;
I26X1=609;
I26Y1=435;
I26X2=650;
I26Y2=468;
I27X1=651;
I27Y1=435;
I27X2=693;
I27Y2=469;
I28X1=694;
I28Y1=434;
I28X2=739;
I28Y2=469;Here is what i stands for:
I1X1
I1 meaning "Inventory 1" aka slot 1
X1 meaning the X1 of the square
So i did this for all 28 slots
Next i made a few procedures look in a slot, drop the item, and then move to the next disregarding when the item was actually out of the inventory thus greatly increasing the dropping of items.
If the speed seems to fast some waits can be added.
These functions are huge and i bet there is some simple way to make them loop though all of the slots but i don't know how.
Maybe someone can situate a for to do loop or somethings to shorten them.
everyone feel free to edit them to make them smaller or better =)
Ill just make it an attachment because they are so large.