There's something wrong with the SRL command "Cast". It won't click the spell for some people. I made a [small] fix for the problem. NOTE: The script still belongs to sleziak.
The fixed script is below:
program new; //edited by WhoCares357 for fixes:
//TypeSend to replace SendKeys; spell clicking fix; and
//wait time randomness at a few places
//THOSE ARE THE ONLY CREDITS I TAKE. THE SCRIPT IS STILL sleziak's
{.Include SRL\SRL.SCAR}
{.include SRL/SRL/Skill/Magic.scar}
const
Username = ''; //Your Runescape username
Password = ''; //Your Runescape password
Nickname = ''; //Few letters from your name Example: Username = 'Zezima' then the nickname would be 'Zez'
ToDo = 1000; //How many rings do you want to alch
logo = false; //Log out after doing the desired ammount of alches/Using all your nature runes?
var
x,y,a,b,counter,exp : integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := Nickname;
Players[0].Active:= true;
end;
procedure FindIrksol;
var
TMT, Times: Integer;
begin
TMT := 0;
if not ShopScreen then
begin
wait(2000+random(3000))
if(FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)) then
begin
writeln('Walking to gem stall');
flag;
Mouse(x + 12, y, 0, 0, true)
Flag;
end;
repeat
Times:=0;
TMT := TMT + 1
if FindObjCustom(x, y, ['Talk-to Irk'], [2965826, 2965826], 4) then
begin
Wait(50 + Random(20));
Mouse(X, Y, 1, 1, false);
Wait(50 + Random(20));
if ChooseOption('rade') then
begin
repeat
Times:= Times + 1
wait(100);
until (ShopScreen) or (Times > 20);
if shopscreen then
begin
writeln('Trading Irksol');
exit;
end;
end;
end;
until (TMT > 5);
if (not(ShopScreen)) then
begin
if(FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x + 12, y, 0, 0, true)
Players[CurrentPlayer].loc := 'gem stall';
FindIrksol;
end;
end
else
Writeln('Could Not Find Irksol.');
end
else
Logout;
end;
Procedure BuyRings;
begin
FindIrksol;
begin
wait(100 + random(2000));
MouseBox(74,101,85,111, 3)
if(IsUpText('Ruby'))then
begin
writeln('Buying rings');
getmousepos(x, y)
wait(100 + random(100))
Mouse(x,y,0,0,false)
ChooseOption('Buy X')
Wait(1000 + random(300))
TypeSend(IntToStr(RandomRange(28, 99))); //slight change by WhoCares357
CloseWindow;
end
else
begin
MouseBox(50, 70, 116, 79, 1)
wait(1000 + random(600))
BuyRings;
end;
Wait(300 + random(400))
end;
end;
procedure Progress;
begin
Cleardebug;
if (loggedin=false) or (Counter > ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Zanaris alcher ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Alched ' +IntToStr(Counter)+ ' rings ');
writeln('- You have gained ' + IntToStr(exp) + ' Exp!' );
Writeln('- Succesfully alched all requested rings ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
terminatescript;
end
else
begin
Cleardebug;
if(Counter < ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Zanaris alcher ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Alched ' +IntToStr(Counter)+ ' rings ');
Writeln('- You have gained ' + IntToStr(exp) + ' Exp! ');
Writeln('- Still running! ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
end
end
end;
procedure Checkrunes;
begin
if (FindBlackChatMessage('ature')) then
TerminateScript;
end;
procedure Alch;
var
_x, _y : Integer; //required for fix by WhoCares357
begin
repeat
if (not(LoggedIn)) then
LoginPlayer;
FindNonInventoryRandoms;
wait(400+random(100));
Cast('high level alchemy');
Wait(10 + random(20));
GetMousePos(_x, _y); //fix by WhoCares357
Wait(50 + random(100));
Mouse(_x, _y, 0, 0, true);
findcolortolerance(a,b,1749707,555,213,722,453,2);
mmouse(a+random(5),b+random(5),0,0)
wait(1600+random(100));
if not findcolortolerance(a,b,1749707,555,213,722,453,2) then
begin
buyrings;
end
else
mouse(a,b,0,0,true);
checkrunes;
exp:= exp + 65;
counter:= counter + 1;
progress;
until(false);
end;
Procedure ScriptTerminate;
Begin
progress;
WriteLn('Out of runes!');
if logo = true then logout
else
WriteLn('Finished script/Out of runes!');
end;
begin
SetUpSRL;
DeclarePlayers;
ActivateClient;
LogInPlayer;
Wait(2000);
SetAngle(True);
MakeCompass('N');
SetRun(True);
repeat
BuyRings
alch;
findnormalrandoms;
checkrunes;
progress;
wait(2000 + random(200));
until(loggedin=false)
end.