SonOfSheep
2007-03-12 19:11:27
This is a simple, realistic, human emulating, auto seller. Basically people are lazy. Who wants to move there mouse? Scripts don't care and will sell 100k items the hard way.
My approach on this was laziness. What would i do if i wanted to sell loads of items to the store? Well the answer is simple.
I put the item in the bottom left corner of my inventory, and change the mouse buttons to 1. Then i take the mouse ball out and click like mad while i watch tv or something.
DIRECTIONS:
it's short so i'll just paste it:
My approach on this was laziness. What would i do if i wanted to sell loads of items to the store? Well the answer is simple.
I put the item in the bottom left corner of my inventory, and change the mouse buttons to 1. Then i take the mouse ball out and click like mad while i watch tv or something.
DIRECTIONS:
- Set mouse buttons to "one" within runescape.
- Place the item to be sold into the bottom left corner of your inventory (first column, last row).
- Open the store.
- Run the script.
- Untested with stackable items other than notes. Should work with runes, my only concern is arrows because it uses getcolor on a spot arrows may not cover up.
it's short so i'll just paste it:
{------------------------------------------------------------------]
Speedy autoseller by SonOfSheep
Directions: Mousebuttons set to 1
items in first column last row (bottom left)
open store
i use this method of clicking because i'm lazy
and it is much more human to be lazy than to have
the patients to sit and keep moving the mouse over
and over.
[------------------------------------------------------------------}
program SpeedSeller;
{.include SRL/SRL.scar}
var jx, jy, sx, sy, counttime, clicks, sell10dtm :integer;
begin
setupsrl;
wait(1000 + random(1000));
if not loggedin then TerminateScript;
cleardebug;
writeln('[+]===============================[+]');
writeln(' | Using SonOfSheep''s SpeedSeller | ');
writeln('[+]===============================[+]');
marktime(counttime);
sell10DTM := DTMFromString('78DA6334616260B8CBC8800CFEFF87D030514' +
'6909AA704D4D812A1C609A8E6010135EE40358F09A80900AAB94F' +
'404D3850CD23026AA2089B030077AD1952');
while (getcolor(583, 446) <> 4345174)and findcolor(x, y, 2070783, 231, 35, 417, 45) do
begin
case random(10) of //lots of different wait times for extra human-ness
0:wait(100+random(200));
1:wait(200+random(200));
3:wait(200+random(100));
4:wait(50+random(200));
5:wait(300+random(100));
6:wait(20+random(500));
else
wait(20+random(20)+random(20)+random(20)+random(20)+random(20));
end;
getmousepos(sx, sy);
if not((sx >= 570) and
(sx <= 590) and
(sy >= 429) and
(sy <= 433) and
(jx >= 570) and
(jx <= 590) and
(jy >= 429) and
(jy <= 433)) then
getmousepos(jx, jy);
if(jx >= 570) and
(jx <= 590) and
(jy >= 429) and
(jy <= 433) then
begin
if not findcolor(x, y, 2070783, 231, 35, 417, 45) then break;
holdmouse(jx,jy,true);
wait(20+random(20)+random(20)+random(20)+random(20)+random(20));
releasemouse(jx,jy,true);
case random(10) of //lots of different wait times for extra human-ness
0:wait(100+random(200));
1:wait(200+random(200));
3:wait(200+random(100));
4:wait(50+random(200));
5:wait(300+random(100));
6:wait(20+random(500));
else
wait(20+random(20)+random(20)+random(20)+random(20)+random(20));
end;
if not findcolor(x, y, 2070783, 231, 35, 417, 45) then break;
if FindDTM(sell10dtm, x, y, 536, 173, 752, 490) then
begin
if not findcolor(x, y, 2070783, 231, 35, 417, 45) then break;
holdmouse(jx,jy,true);
wait(20+random(20)+random(20)+random(20)+random(20)+random(20));
releasemouse(jx,jy,true);
end
else
begin
if not findcolor(x, y, 2070783, 231, 35, 417, 45) then break;
MouseBox(22, 358, 472, 446, 1);
MMouse(580, 429, 20, 3);
end;
wait(random(20));
end else Mouse(580, 429, 20, 3,true);
if not findcolor(x, y, 2070783, 231, 35, 417, 45) then break;
clicks := clicks + 1;
if (timefrommark(counttime) / 1000) >=1 then
status('Currently averageing ' + inttostr(round((10 * clicks) / (timefrommark(counttime) / 1000))) + ' items per second.');
end;
if (timefrommark(counttime) / 1000) >=1 then
writeln('Sold all items at an average rate of ' + inttostr(round((10 * clicks) / (timefrommark(counttime) / 1000))) + ' items per second.')
else
writeln('Error! Sold nothing. Open shop, and put item in bottom left corner.');
end.