Magiic
2008-09-14 11:20:09
sandos1234 - SRL Member Application Form
sandos1234
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
small amount of pascal
Other Communitys
scythe
How Long have You Played Runescape
2 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
well ive been knuckles down studying scar since i joined because i really liked srl so i wanted to contribute started learning speedily although it took a while to grasp some concepts i kept trying lol it got easier with more attempts :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{start in bank top banker have iron and coal visible
reccomended for at least 2 players}
{setup lines 12-21 and 29-53}
//credits to narcle
//for his sig and the base of the sleep and breaks
Program alkharadsmelter;
{.include srl/srl.scar}
{.include srl/srl/skill/smithing.scar}
Var
i, load, sleepsdone, sleeps, breaks, breaksdone, done, x, smith, y, coalbnk, steelbar:integer;
Const
MySrlId=('');
MySrlPassword=('');
//Sleeping / Breaking options:
TakeBreaks = true;//Take 5-15 min breaks every 1-3 hours?
TakeSleeps = true;//Take couple hour sleeps?
//randoms setup
LampLevel= 'smithing'; //Set the skill you want a lamp to do.
//dont touch
scriptname='al kharad smelter';//don't touch
version='1.0';//don't touch
Procedure declareplayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';//user
Players[0].Pass := '';//pass
Players[0].Nick := '';//3-4 letters of name in order except first
Players[0].pin := '0000';//pin
Players[0].Active := True;//use this player?
players[0].integers[0]:=10;//loads
{Players[1].Name := 'username';//user
Players[1].Pass := 'password';//pass
Players[1].Nick := 'sern';//3-4 letters of name in order except first
Players[1].pin := '0000'//pin
Players[1].Active := True;//use this player?
players[1].integers[0]:=10;//loads
players[1].booleans[0]:=true;//cannonballs
Players[2].Name := 'username';//user
Players[2].Pass := 'password';//pass
Players[2].Nick := 'sern';//3-4 letters of name in order except first
Players[2].pin := '0000'//pin
Players[2].Active := True;//use this player?
players[2].integers[0]:=10;//loads
players[0].booleans[0]:=true;//cannonballs}
End;
Procedure proggy;
Begin
writeln(scriptname+'v'+version)
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~') ;
writeln('Written ' + (TheTime) + ' on ' + (TheDate(3)) + '.');
writeln(('Current Player: ' + Players[CurrentPlayer].Nick));
writeln('script ran for '+timerunning);
writeln('did '+(inttostr(I))+'loads');
srlrandomsreport;
End;
Procedure loadbitmap2;
Begin
coalbnk := BitmapFromString(84, 64, 'beNrt0c0KAVEAhuHjIiwsRDLN' +
'ggVmyPhJRDIlpUSIkBKllFJWsnLZvjo1Gzdg6n06TV9n954xplXOL' +
'YaVVejvJ/XjtHFddvTVNibheZ6+mUyyVMpW/bxOoZDWTcMv2qN9W3' +
'efh8H7HH6uYxM3Xd9R+HZcU+9l3r5veqdZU/lRu+OkovYgcLWjfA2' +
'91WPXj2n7oO7acCVHP1H7t13h9mjr3r6AHa/TKI7tAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAP7RF8AdMGA=');
End;
Procedure loadbitmap3;
Begin
smith := BitmapFromString(134, 132, 'beNrt10EKgCAQQNG5XRdo2/2PU' +
'aEgQ9FWJ3gPF7rt02QRx77d62ze+76CiXKFfsx7RVYVGSFGDkWqFT' +
'G1lhfJ80qRau9IzqGIqaXIY165/br9osgvviP56H+kyO33a3lKAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAMAMF9WTxs8=');
End;
Procedure srlid2;
Var
V: TVariantArray;
Begin
SRLid:= MySRLId;
SRLpassword:= MySRLPassword;
Begin
If (SRLID = '') or (SRLPassword = '') then
Begin
ClearDebug;
If (MySRLPassword = '') and not(MySRLID = '') then writeln('Nice try, trying to trick it with just a ID ');
writeln('To set up a SRL stats ID go here: http://www.stats.srl-forums.com');
ThreadSafeCall('NoID', V);
terminateScript;
End;
End;
End;
Procedure NoID;
Begin
Disguise('No more leeching');
ShowMessage('Please register at SRL-stats to use this script' +Chr(13)+
'To set up a SRL stats ID go here: '+Chr(13)+' http://www.stats.srl-forums.com'+Chr(13)+
+Chr(13)+' -sandos');
End;
Procedure Randoms;
Begin
If (not(loggedin)) then exit;
If(FindFight)then
RunAway('N', True, 1, 15000);
FindNormalRandoms;
FindLamp((LampLevel));
End;
Procedure loaddtms;
Begin
steelbar := DTMFromString('78DA63D46064607065400113DBDBC1342394C' +
'FA80F643930A001465435BA40960F0135D240961F013512409627' +
'01352A40962D01356A4056107E3500287204B3');
End;
Procedure autoresponder;
Begin
If (not(loggedin)) then
Begin
Players[CurrentPlayer].Active := False;
exit;
End;
If InChat((Players[CurrentPlayer].Nick)) then
Begin
Wait(1000 + Random(500));
Case Random(6) of
0: Typesend('hello');
1: Typesend('hey');
2: Typesend('yo');
3: Typesend('ye?');
4: Typesend('sup');
5: Typesend('hi');
6: Typesend('?');
End;
End;
End;
Procedure antiban;
Begin
If (not(loggedin)) then
Begin
Players[CurrentPlayer].Active := False;
exit;
End;
randoms;
autoresponder;
Case random(5) of
1:Begin
wait(15000+random(4000));
hoverskill('smithing', false);
gametab(4);
End;
2:Begin
typesend('lol, this is sooo boring');
End;
3:Begin
pickupmouse;
wait(200);
End;
4:Begin
randommovement;
End;
5:Begin
gametab(random(10));
End;
End;
End;
Procedure BEGGINING;
Var
I,II:integer;
s:string;
Begin
Disguise('Sig Call');
ChangeReportWidth(255);
Status('Signature call; Watch the report box!');
For I := 0 to 57 do
Begin
clearreport;
For II := 0 to 5 do
Addtoreport(s+'||');
wait(30);
If I < 29 then s := s + ' ' else delete(s, Length(s), 1);
End;
For I := 1 to 29 do
Begin
ClearReport;
AddtoReport(Left('---- _ _ ---- ', I));
AddtoReport(Left('----, | \ | |___o ---- ', I));
AddtoReport(Left('|| _ | .\| | \ || ', I));
AddtoReport(Left('---- / _ | |\ .|| \ \---- ', I));
AddtoReport(Left(' || (_| | | \ ||_/ / ||', I));
AddtoReport(Left('---- \__,_|_| \|___/ ---- ', I));
AddtoReport(Left('---- o ---- ',I));
wait(50);
End;
AddtoReport(ScriptName+' v'+Version);
End;
Procedure open;
Begin
If (not(loggedin)) then
Begin
Players[CurrentPlayer].Active := False;
exit;
End;
Begin
openbankfast('akb');
End;
End;
Procedure enterpin;
Begin
If (not(loggedin)) then
Begin
Players[CurrentPlayer].Active := False;
exit;
End;
Begin
If pinscreen then inpin(players[currentplayer].pin);
End;
End;
Procedure withdrawiron;
Begin
If (not(loggedin)) then exit;
Begin
makecompass('n');
If (findcolortolerance(x, y, 1976386, msx1, msy1, msx2, msy2, 5)) then
Begin
mouse(x,y,3,3,false);
End else
Begin
closebank;
logout;
Players[CurrentPlayer].Active := False;
exit;
End;
wait(50);
If chooseoption('X') then
Begin
wait(500);
typesend('9');
wait(500);
End else
Begin
closebank;
logout;
Players[CurrentPlayer].Active := False;
exit;
End;
End;
End;
Procedure withdrawcoal;
Begin
If (not(loggedin)) then exit;
loadbitmap2;
If (findbitmaptolerancein(coalbnk, x, y, msx1, msy1, msx2, msy2, 20)) then
Begin
mouse(x,y,3,3,false);
End else
Begin
closebank;
logout;
Players[CurrentPlayer].Active := False;
exit;
End;
wait(50);
If chooseoption('X') then
Begin
wait(500);
typesend('18');
closebank;
End else
Begin
closebank;
logout;
Players[CurrentPlayer].Active := False;
exit;
End;
freebitmap(coalbnk);
reportvars[3]:=reportvars[3]+1;
srlrandomsreport;
End;
Function FindFurnaceColor: Integer;
Var
R, G, B, TestColor, i, C2, MyColor: Integer;
H, S, L, X, Y, Z: Extended;
ColorsTPA : TPointArray;
C1 : TIntegerArray;
Begin
If (not(loggedin)) then exit;
Players[CurrentPlayer].Active := False;
MyColor := 7115452;
FindColorsSpiralTolerance(MSCX, MSCY, ColorsTPA, MyColor, MMX1, MMY1, MMX2, MMY2, 60);
C1 := GetColors(ColorsTPA);
C2 := High(C1);
For i := 0 to C2 do
Begin
If RS_OnMinimap(ColorsTPA[i].X, ColorsTPA[i].Y) then
Begin
TestColor := GetColor(ColorsTPA[i].X, ColorsTPA[i].Y);
If SimilarColors(TestColor, 1322555, 50) then
Begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
If InRange(R - G, 27, 57) then
If InRange(R - B, 65, 95) then
If InRange(G - B, 23, 53) then
If InRange(Round(S) - Round(H), 14, 44) then
If InRange(Round(L) - Round(H), 35, 65) then
If InRange(Round(S) - Round(L), -36, -6) then
If InRange(Round(X) - Round(Y), -14, 16) then
If InRange(Round(Y) - Round(Z), -1, 29) then
If GetColor(ColorsTPA[i].X + 2, ColorsTPA[i].Y + 2) = TestColor then
If GetColor(ColorsTPA[i].X + 1, ColorsTPA[i].Y + 1) = TestColor then
Begin
Writeln('MyColor = '+Inttostr(TestColor));
Result := TestColor;
Exit;
End;
End;
End;
End;
Writeln('Couldnt find My Color!');
Result := 0;
logout;
End;
Function FindbankColor: Integer;
Var
R, G, B, TestColor, i, C2, MyColor: Integer;
H, S, L, X, Y, Z: Extended;
ColorsTPA : TPointArray;
C1 : TIntegerArray;
Begin
If (not(loggedin)) then exit;
Players[CurrentPlayer].Active := False;
MyColor := 6194852;
FindColorsSpiralTolerance(MSCX, MSCY, ColorsTPA, MyColor, MMX1, MMY1, MMX2, MMY2, 60);
C1 := GetColors(ColorsTPA);
C2 := High(C1);
For i := 0 to C2 do
Begin
if RS_OnMinimap(ColorsTPA[i].X, ColorsTPA[i].Y) then
Begin
TestColor := GetColor(ColorsTPA[i].X, ColorsTPA[i].Y);
If SimilarColors(TestColor, 1322555, 50) then
Begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
If InRange(R - G, 15, 45) then
If InRange(R - B, 55, 85) then
If InRange(G - B, 25, 55) then
If InRange(Round(S) - Round(H), 3, 33) then
If InRange(Round(L) - Round(H), 26, 56) then
If InRange(Round(S) - Round(L), -38, -8) then
If InRange(Round(X) - Round(Y), -15, 15) then
If InRange(Round(Y) - Round(Z), -3, 27) then
If GetColor(ColorsTPA[i].X + 2, ColorsTPA[i].Y + 2) = TestColor then
If GetColor(ColorsTPA[i].X + 1, ColorsTPA[i].Y + 1) = TestColor then
Begin
Writeln('MyColor = '+Inttostr(TestColor));
Result := TestColor;
Exit;
End;
End;
End;
End;
Writeln('Couldnt find My Color!');
Result := 0;
logout;
End;
Procedure walktofurnace;
Var
furnacecolor:integer;
Begin
wait(200);
If (not(loggedin)) then exit;
wait(500+random(200));
furnacecolor:=FindFurnaceColor;
If RadialWalk(furnacecolor, 65, 107, 70, 1, 1) then
Begin
If (findfurnace(x, y)) then exit;
End else
Begin
findsymbol(x, y, 'kebab shop');
mouse(x, y, 3, 3, true);
fflag(8);
End;
Begin
If (not(findfurnace(x, y))) then
logout;
exit;
End;
End;
Procedure smelting;
Begin
If (not(loggedin)) then
Begin
Players[CurrentPlayer].Active := False;
exit;
End;
Begin
If findfurnace(x, y) then
Begin
loadbitmap3;
mouse(x, y, 0, 0, false)
chooseoption('melt');
wait(200);
If (findcolortolerance(x, y, 7303032, msx1, msy1, msx2, msy2, 20)) then
mouse(x,y,3,3,false);
If (findbitmaptolerancein(smith, x, y, 275, 641, 615, 547, 20)) then
wait(200);
mouse(x,y,3,3,true);
wait(300)
typesend('9');
While (not(finddtm(steelbar, x, y, 682, 436, 715, 465))) do
Begin
randoms;
wait(100);
smelting;
End;
freebitmap(smith);
reportvars[2] :=1;
I:=I+1;
srlrandomsreport;
End else
logout;
exit;
End;
End;
Procedure walktobank;
Begin
If (not(loggedin)) then
Begin
Players[CurrentPlayer].Active := False;
End;
Begin
wait(500+random(200));
Begin
bankcolor:=FindbankColor;
RadialWalk(bankcolor, 287, 274, 65, -1, 0);
If openbankfast('akb') then exit;
logout;
End;
End;
End;
Function TakeABreak: boolean;
Var
BreakFor,breaktime: integer;
Begin
BreakTime := GetSystemTime+RandomRange(60*60000, 150*60000);
If (not(loggedin)) then exit;
If ( GetSystemTime >= BreakTime ) then
Begin
result := true;
BreakFor := RandomRange(5 * 60000, 14 * 60000);
Disguise('Break '+ inttostr(BreakFor/60000) + ' Mins.');
writeln(inttostr(BreakFor/60000) + ' minute break.');
Logout;
Wait(BreakFor);
Disguise('Break Ended');
If howManyPlayers=1 then wait(random(60000));
nextplayer(true);
reportvars[1] := reportvars[1]+1;
srlrandomsreport;
breaksdone:=breaks+1;
End;
End;
Procedure banking;
Begin
If (not(loggedin)) then exit;
loaddtms;
If (finddtm(steelbar, x, y, mix1, miy1, mix2, miy2)) then
Begin
mouse(x, y, 3, 3, false);
chooseoption('ll');
wait(300);
End else
Begin
closebank;
logout;
exit;
End;
freedtm(steelbar);
End;
Function TakeASleep: boolean;
Var
H, M, S, SleepFor,Sleeptime,breaktime: integer;
Begin
BreakTime := GetSystemTime+RandomRange(60*60000, 150*60000);
SleepTime := GetSystemtime+RandomRange(480*60000, 720*60000);
If (not(loggedin)) then exit;
If ( GetSystemTime >= SleepTime ) then
Begin
Result := true;
SleepFor := RandomRange(180 * 60000, 300 * 60000);
ConvertTime(SleepFor, H, M, S);
Disguise('Sleep '+inttostr(H) +'h:'+inttostr(M)+'M');
Writeln('Sleep '+inttostr(H) +'h:'+inttostr(M)+'M');
Logout;
Sleep(SleepFor);
Disguise('Sleep Ended');
NextPlayer(true);
reportvars[0] :=reportvars[0]+1;
srlrandomsreport;
sleepsdone:=sleeps+1;
End;
End;
Begin
declareplayers;
beggining;
wait(1500);
addtoreport('start time:'+thetime);
srlid2;
setupsrl;
ScriptID := ('960');
wait(2000);
srlrandomsreport;
disguise(scriptname+'v'+version);
activateclient;
wait(1000);
If (not(loggedin)) then
loginplayer;
Repeat
randoms;
Repeat
open;
enterpin;
wait(100+random(200));
withdrawiron;
withdrawcoal;
randoms;
walktofurnace;
randoms;
smelting;
randoms;
walktobank;
If TakeSleeps then TakeASleep;
If TakeBreaks then TakeABreak;
Until (not(loggedin)) or (load>(players[currentplayer].integers[0]));
NextPlayer(Players[CurrentPlayer].Active);
Until (AllPlayersInactive);
proggy;
End.——————————————————
<!– END TEMPLATE: formanswers –>
