Mash
2012-01-16 18:04:12
How Long have You Played Runescape?
6 Year(s)
Are you affilated in anyway with Jagex LTD?
NO
Were you Referred to SRL?
PowerBot
What is your general programming knowledge?
i know my basics in Java and HTML, but am fairly new to colour scripting, i will appreciate all help given.
i havent only made one bot so far, and that is a herb cleaner
Are you a member of any other communities?
PowerBot
Tell us about yourself…
Please show us one (or multiple) of your scripts.
http://villavu.com/forum/showthread.php?t=71605
6 Year(s)
Are you affilated in anyway with Jagex LTD?
NO
Were you Referred to SRL?
PowerBot
What is your general programming knowledge?
i know my basics in Java and HTML, but am fairly new to colour scripting, i will appreciate all help given.
i havent only made one bot so far, and that is a herb cleaner
Are you a member of any other communities?
PowerBot
Tell us about yourself…
From: Mash
My nickname is Mash (long story)
i am 16 and like to game and chill with mates.
Please show us one (or multiple) of your scripts.
//SparklingHerbs By Mash//
{/////////////////////////Set_Up//////////////////////////// //
Use At SoulWars // // //
Place Your herbs 4'th slot in bank //
///////////////////////////////////////////////////////////}
//
program New; //
{$DEFINE SMART} //
{$i srl/srl.simba} //
var x,y,m,n,t,step :integer; //
// txt :string; //
found,Found_Bank,try_again :Boolean; //
const //
//
How_many_to_clean = 10000; // How many to make //
Check_Text_Type = 0; // 0 = off; 1 = text; 2 = name //
Login_44 = 1; // 0 = off; 1 = on; //
//
////////////////////////////////////////////////////////////
/////////////////////Player Info///////////////////////
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Rs username
Players[0].Pass := ''; //Your RS password
Players[0].Nick := ''; //3-4 letters from name
Players[0].Active:= True;
Players[0].Pin := '';
end;
procedure Check_for_text;
var
time :longword;
begin
if(found=false)then
begin
//Checks for text
if(Check_Text_Type = 1)then
begin
if(FindColorSpiral (x, y, 16711680, 22, 446, 134, 454))then
begin
playsound('C:\botclient\config\sounds\alarm.wav');
time := GetSystemTime;
writeln('Text found at ' + inttostr(time));
found := true;
end;
end;
//Checks for nick
if(Check_Text_Type = 2)then
begin
if(FindChatBoxText(Players[0].Nick, 8, clBlue))then
begin
playsound('C:\botclient\config\sounds\alarm.wav');
time := GetSystemTime;
writeln('You name found at ' + inttostr(time));
found := true;
end;
end;
end;
end;
procedure AntiBan;
var j, WTime, SleepT1, SleepT2 :integer;
begin
j := random(100)
WTime := 7000 + random(500);
SleepT1 := 500 + random(2000);
SleepT2 := WTime - SleepT1 + random(1000);
case j of
0..5: begin
sleep(SleepT1);
Check_for_text;
HoverSkill ('Herblore', False);
sleep(SleepT2 + random(5000));
GameTab(tab_Inv);
end;
9..14:
begin
sleep(SleepT1);
Check_for_text;
PickUpMouse;
sleep(SleepT2);
end;
19..26:
begin
sleep(SleepT1);
Check_for_text;
RandomRClick;
sleep(SleepT2);
end;
30..37:
begin
sleep(SleepT1);
Check_for_text;
sleep(SleepT2);
GameTab(tab_Inv);
end;
45..49:
begin
sleep(SleepT1);
Check_for_text;
ExamineInv;
sleep(SleepT2);
end;
68..76:
begin
sleep(7000 + random(500));
end;
end;
end;
procedure Check_Login;
begin
if((getcolor(361, 135)=12378347)and
(getcolor(274, 165)=12378347))or
(LobbyScreen)then
begin
if(Login_44 = 1)then
begin
if(LobbyScreen)then
begin
OpenWorldScreen;
while (not Worldscreen) do sleep(100+random(100));
wait(1000+random(1000));
Mouse(123,125, 3, 3, true);//click world order arrow
wait(500+random(1000));
Mouse(686,157, 4, 0, true);//click scroll bar top
wait(1000+random(1000));
Mouse(687, 257, 3, 0, true);//click scroll bar to see world 44
wait(1000+random(1000));
Mouse(144, 281, 100, 8, true);//click world 44
wait(2000+random(1000));
Mouse(308, 452, 160, 19, true);//click login
wait(2000+random(1000));
while (not RSReady) do sleep(100+random(100));
end else
LoginPLayerToLob;
while (not LobbyScreen) do sleep(100+random(100));
OpenWorldScreen;
while (not Worldscreen) do sleep(100+random(100));
wait(1000+random(1000));
Mouse(123,125, 3, 3, true);//click world order arrow
wait(500+random(1000));
Mouse(686,157, 4, 0, true);//click scroll bar top
wait(1000+random(1000));
Mouse(687, 257, 3, 0, true);//click scroll bar to see world 44
wait(1000+random(1000));
Mouse(144, 281, 100, 8, true);//click world 44
wait(2000+random(1000));
Mouse(308, 452, 160, 19, true);//click login
wait(2000+random(1000));
while (not RSReady) do sleep(100+random(100));
end;
end else LoginPLayer;
end;
procedure Find_Chest2;
var ax, ay, count1, count2 :integer;
Found_Box :Boolean;
begin
ax := 259;
ay := 170;
count2 := 1;
Found_Box := false;
Check_Login;
repeat
//Move right
if(Found_box = false)and(count2<30)or not(BankScreen)then
begin
count1 := 0;
repeat
MMouse(ax, ay, 0, 0);
sleep(50+random(10));
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then Found_box := true;
ax := ax + 10;
count1 := count1 + 1;
until(count1 >= count2)or(Found_box = true)or(count2>30)or(BankScreen)
end;
//Move down
if(Found_box = false)and(count2<30)or not(BankScreen)then
begin
count1 := 0;
repeat
ay:=ay+10;
MMouse(ax, ay, 0, 0);
sleep(50+random(10));
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then Found_box := true;
count1 := count1 + 1;
until(count1 >= count2)or(Found_box = true)or(count2>30)or(BankScreen)
count2 := count2 + 1;
end;
//Move left
if (Found_box = false)and(count2<30)or not(BankScreen)then
begin
count1 := 0;
repeat
MMouse(ax, ay, 0, 0);
sleep(50+random(10));
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then Found_box := true;
ax := ax - 10;
count1 := count1 + 1;
until(count1 >= count2)or(Found_box = true)or(count2>30)or(BankScreen)
end;
//Move up
if(Found_box = false)and(count2<30)or not(BankScreen)then
begin
count1 := 0;
repeat
ay := ay - 10;
MMouse(ax, ay, 0, 0);
sleep(50+random(10));
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then Found_box := true;
count1 := count1 + 1;
until(count1 >= count2)or(Found_box = true)or(count2>30)or(BankScreen)
count2 := count2 + 1;
end;
until(Found_box = true)or(count2>30)or(BankScreen)
if(BankScreen)then
begin
Found_Bank := true;
Exit;
end;
if(Found_box = true)then
begin
t:=0;
GetMousePos(x,y);
repeat
MMouse(x-10, y-10, 20, 20);
sleep(200 + random(100));
t := t + 1;
until(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))or
(t > 20)or(BankScreen);
if(BankScreen)then Found_Bank := true;
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,true)
sleep(3000 + random(2000))
end;
end;
if(try_again =false)and not(BankScreen)then
begin
try_again := true;
writeln('Could not find bank using first and second method, trying one more time');
Find_Chest2;
end;
if not(BankScreen)then
begin
playsound('C:\botclient\config\sounds\alarm.wav');
sleep(30000 + random(10000))
Logout;
writeln('Logged out, cound not find bank');
TerminateScript;
end;
end;
procedure Find_Chest;
var ax, ay, count1, count2 :integer;
Found_Bank_box :Boolean;
begin
ax := 200;
ay := 130;
count2 := 250;
//Move right
count1 := 0;
Check_Login;
repeat
MMouse(ax, ay, 0, 0);
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then Found_Bank_box := true;
ax := ax + 1;
count1 := count1 + 1;
until(count1 >= count2)or(Found_Bank_box = true)or(BankScreen)
if(BankScreen)then
begin
Found_Bank:=true;
Exit;
end;
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))then
begin
GetMousePos(x,y)
Mouse(x,y,0,0,true)
sleep(3000 + random(2000))
if(BankScreen)then
begin
Found_Bank:=true;
end else Find_Chest2;
end else Find_Chest2;
end;
Procedure Open_Bank;
var xy_point, Zx, Zy, RanX, RanY :integer;
begin
if(BankScreen)then Exit;
t := 0;
Found_Bank := false;
xy_point := random(2);
case xy_point of
0: begin
Zx := 266;
Zy := 118;
RanX := 10;
RanY := 10;
end;
1: begin
Zx := 251;
Zy := 118;
RanX := 8;
RanY := 10;;
end;
end;
repeat
MMouse(Zx, Zy, RanX, RanY);
sleep(500 + random(100));
t := t + 1;
until(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))or
(t > 20)or(BankScreen);
if(BankScreen)then Exit;
if(t > 20)then
begin
writeln('Could not Find Bank 1');
Find_Chest;
if(BankScreen)then writeln('Bank Found 1');
end;
if(IsUpTextMultiCustom(['Use', 'Bank', 'chest', 'che', 'nk ch']))and
(Found_Bank = false)then
begin
GetMousePos(x,y)
Mouse(x,y,0,0,true);
t := 0;
repeat
sleep(100 + random(100));
t := t + 1;
until(BankScreen)or(t > 20);
if(t > 20)then
begin
if(PinScreen)then
begin
writeln('Found Pin Screen');
InPin(Players[CurrentPlayer].Pin);
writeln('Pin successfully entered');
end else
begin
writeln('Could not Find Bank 2');
Find_Chest;
if(BankScreen)then writeln('Bank Found 2');
end;
end;
end;
end;
procedure Deposit_Stuff;
begin
if(BankScreen)then
begin
Mouse(380, 303, 6, 6,true);
sleep(200 + random(200));
end;
end;
procedure Withdraw_Stuff;
begin
if(BankScreen)then
begin
//get Herbs, row 1 slot 4
Mouse(181, 100, 10, 10, false);
sleep(200 + random(100));
GetMousePos(x, y);
Mouse(x-5, y+103, 10, 4, true);
sleep(300 + random(200));
//Close Bank
Mouse(482, 29, 6, 6, true);
sleep(500 + random(200));
end;
end;
procedure Make;
var h,k,cx,cy :integer;
begin
cx := 579;
cy := 227;
h := 0;
k := 0;
repeat
repeat
Mouse(cx-2, cy-5, 4, 10, true);
sleep(random(10));
h := h + 1;
cy := cy + 35;
until(h>6)
h := 0;
k := k+1;
cx := cx + 41;
cy := 227;
until(k>3)
sleep(500 + random(200));
end;
begin
Smart_Server := 44;
SetupSRL();
DeclarePlayers;
while (not RSReady) do
SleepAndMoveMouse(100 + Random(500));
Check_Login;
n := How_many_to_clean / 28;
m := 0;
t := 0;
step := 0;
found := false;
try_again := false;
sleep(2000 + Random(1000));
KeyDown(38);
sleep(3000 + Random(1000));
repeat
Open_Bank;
Check_for_text;
Deposit_Stuff;
Check_for_text;
Withdraw_Stuff;
Check_for_text;
Make;
Check_for_text;
m := m+1
if(found = true)then
begin
step := step+1;
if(step > 20)then
begin
found := false;
end;
end;
until(m >= n);
sleep(3000 + random(20000))
Logout;
writeln('Logged out, task completed');
end.http://villavu.com/forum/showthread.php?t=71605