I like the script, I use one my my bots to make my main money with it. However, it sometimes is too quick to click 'Make all' and it would not make the bars, and just bank the bars after its allotted time, but fixes itself after taking out more bars. Another one was that it normally banked a little early, not completing 28 bars, but more like 23-26. So, I took the liberty to modify the wait times a little, and now it is absolutely flawless. If anyone wants to use the code, here it is:
//Fear's Choco_CRUSHER//
{/////////////////////////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;
pest:string; //
// txt :string; //
found,Found_Bank,try_again :Boolean; //
const //
//
How_many_to_crush = 1000; // How many to crush //
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 := '';
pest:='pestle';//pestle or knife
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(201)
WTime := 7000 + random(500);
SleepT1 := 500 + random(2000);
SleepT2 := WTime - SleepT1 + random(1000);
case j of
0: begin
sleep(SleepT1);
Check_for_text;
HoverSkill ('Herblore', False);
sleep(SleepT2 + random(5000));
GameTab(tab_Inv);
end;
1..5:
begin
sleep(SleepT1);
Check_for_text;
PickUpMouse;
sleep(SleepT2);
end;
6..10:
begin
sleep(SleepT1);
Check_for_text;
RandomRClick;
sleep(SleepT2);
end;
11:
begin
sleep(SleepT1);
Check_for_text;
sleep(SleepT2);
GameTab(tab_Inv);
end;
12:
begin
sleep(SleepT1);
Check_for_text;
ExamineInv;
sleep(SleepT2);
end;
13..200:
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(5000 + 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(1000 + 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,mad,prof :integer;
begin
movemouse(565,225);
ClickMouse2(false);
wait(1300);
movemouse(566,280);
ClickMouse2(true);
wait(1300);
movemouse(250,437);
ClickMouse2(true);
if (pest='knife')
then
begin
wait(34000);
end;
if (pest='knife')
then
begin
wait(35000);
end;
if (pest='pestle')
then
begin
wait(17000);
end;
end;
begin
Smart_Server := 44;
SetupSRL();
DeclarePlayers;
while (not RSReady) do
SleepAndMoveMouse(100 + Random(500));
Check_Login;
n := How_many_to_crush / 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.
I like it a lot, and you should come back to officially updating it. :)