bomh
2009-01-04 17:41:47
<!– BEGIN TEMPLATE: formanswers –>
bomh - SRL Member Application Form
bomh
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
scar, autocad
Other Communitys
pspiso.com
How Long have You Played Runescape
5 years
Are you affilated in anyway with Jagex LTD?
No Comment
—————————————————–
Please write down a paragraph about Yourself.
i have been with srl-forums about 2 year i think.
i have post up couple of script but don't know where it go lol.
one i think is draynor willow choppeer and bank also another one is varrock guard attacking.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
bomh - SRL Member Application Form
bomh
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
scar, autocad
Other Communitys
pspiso.com
How Long have You Played Runescape
5 years
Are you affilated in anyway with Jagex LTD?
No Comment
—————————————————–
Please write down a paragraph about Yourself.
i have been with srl-forums about 2 year i think.
i have post up couple of script but don't know where it go lol.
one i think is draynor willow choppeer and bank also another one is varrock guard attacking.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program autocad;
//{.include SRL/SRL/Misc/Smart.scar}
{.include srl/srl.scar}
{.include SRL/SRL/skill/mining.scar}
{.include srl/srl/misc/users.scar}
var
tinvents, troc, activen:integer;
invents,brokepick,pick,paws:integer;
roc, i,h, abt:integer;
x, y, ran, orec:integer;
oredtm:integer;//dtm's
const
//ore colours
copper=3692667;
iron=2832990;
procedure mainloop; forward;
procedure DeclarePlayers;
begin
SRLPlayerForm(True, ['bank','multiplayer'], ['Loads', 'Time Between Clicks','minutes to sleep'], ['Ore Type', 'srl ID', 'srl pass'], []);
end;
procedure srlstuff;
begin
ReportVars[0] := ReportVars[0]+ CountItems(oredtm,'dtm',[0,0]);;
ReportVars[1] := reportvars[1]+ 1;
srlrandomsreport;
end;
function logout2: Boolean;
var
c, i: Integer;
begin
Wait(200 + Random(100));
while (LoggedIn) or (c < 10) do
begin
Inc(c);
mousebox(742, 1,762, 21,1);
if(ClickText('here', UpChars, MIX1, MIY1, MIX2, MIY2, True))then
for i := 0 to 10 do
begin
Wait(1000);
if not(LoggedIn)then
begin
Result := True;
Exit;
end;
end;
end;
end;
procedure freport;
begin
cleardebug;
writeln ('script has worked for ' + timerunning);
writeln ('you have mined '+inttostr(troc)+' ores');
if (Players[CurrentPlayer].booleans[0])then
begin
writeln ('you have banked ' +inttostr(tinvents)+ ' loads');
end else
writeln ('you have dropped ' +inttostr(tinvents)+ ' loads');
end;
procedure scriptterminate;
begin
logout2;
freport;
freedtm(oredtm);
freedtm(brokepick);
freedtm(pick);
terminatescript;
end;
procedure loaddtms;
begin
oredtm := DTMFromString('78DA63CC636260D065644006F7EACC19FE036' +
'990E87F20602C01AA5142550391859140BA02A8C698809A78A01A' +
'53026AE2806AB408A8C904AAB1C2AF06009ACB0A4D');
brokepick := DTMFromString('78DA630C60646078C680020C95D8187480C24' +
'0C4F01F08188381ACC70C6880118904D23140D64B026AE280AC57' +
'04D4440059AF09A8F103B2DE1150E30664FD25A0C607C87A41408' +
'D2B90F504BF1A00E7310FBE');
pick := DTMFromString('78DA635464646078C980022CD4D8197480C24' +
'0C4F01F08181580ACA70C6880118904D2EA40D62B026A7481AC8F' +
'04D4C801595F08A81103398E11BF1A2920EB3301732481ACD704D' +
'4480059CFF1AB0100450F0D2A');
end;
procedure getorecolour;
begin
case lowercase(Players[CurrentPlayer].Strings[0]) of
'copper' : orec:= copper;
'iron' : orec:= iron;
end;
end;
function LoginPlayer2:boolean;
var
PX, PY,trys,clickheretoplay,time:integer;
click:boolean;
begin
activateclient;
if loggedin then exit;
if getcolor(470, 260)=3819841 then
begin
mousebox(336, 400,421, 409,1);
wait(100+random(100));
end;
click:=false;
clickheretoplay := BitmapFromString(3, 41, 'beNq7UX13ETME/X' +
'40G4L+PFkCRc9WoSO4IEwNXBdC+4OpEPT7bjcU3W6GIG1VyaGCfhy' +
'1gqCfJ5wh6NdpHwj6eTYEgn5fiIGgX5ezEehaMQq6UY2CAOcHroc=' +
'');
mousebox(358,165,403,177,1);
repeat
wait(500+random(100));
click:=getcolor(402, 204)=0;
inc(trys);
until (trys>=15) or click=true;
if click=false then
begin
writeln('failed to login');
exit;
end;
click:=false
mousebox(310, 250, 452, 267,1);
wait(100+random(100));
TypeSend(Players[CurrentPlayer].Name);
Wait(100 + Random(100));
TypeSend(Players[CurrentPlayer].Pass);
Wait(100 + Random(100));
mousebox(336, 400,403, 371,1);
marktime(time);
repeat
wait(10+random(100));
if findbitmap(clickheretoplay,PX,PY) then
begin
mouse(PX, PY, 2,2,true);
click:=loggedin;
end;
until click=true or (timefrommark(time)>=180000);
if click=false then
begin
writeln('failed to login');
exit;
end else
result:=true;
FreeBitmap(ClickHereToPlay);
end;
procedure RandomNextPlayer2(Active: Boolean);
var
LastPlayer: Integer;
begin
WriteLn('NextPlayer');
LastPlayer := CurrentPlayer;
Players[CurrentPlayer].Active := Active;
logout2;
PlayerCurTime := (GetSystemTime div 1000);
Players[CurrentPlayer].Worked := Players[CurrentPlayer].Worked +
((PlayerCurTime - PlayerStartTime) / 60);
repeat
CurrentPlayer := Random(HowManyPlayers);
Wait(100);
until (Players[CurrentPlayer].Active) and (CurrentPlayer <> LastPlayer);
SRL_Logs := SRL_Logs + 1;
for h:=0 to 5 do
if LoginPlayer2 then exit;
end;
{*******************************************************************************
procedure nextplayer2(Active: Boolean);
edited to wokr with if LoginPlayer2 then exit;
Description: Logs in the next player.
Boolean: True - Current player is ok. False - Current player is false.
*******************************************************************************}
procedure nextplayer2(Active: Boolean);
var
I : integer;
OneActive : Boolean;
begin
if RandomPlayer then
Randomnextplayer2(Active)
else
begin
WriteLn('nextplayer');
Players[CurrentPlayer].Active := Active;
logout2;
PlayerCurTime := (GetSystemTime div 1000);
Players[CurrentPlayer].Worked := Players[CurrentPlayer].Worked +
((PlayerCurTime - PlayerStartTime) / 60);
CurrentPlayer := (CurrentPlayer + 1) mod HowManyPlayers;
while Players[CurrentPlayer].Active = False do
begin
OneActive := False;
CurrentPlayer := (CurrentPlayer + 1) mod HowManyPlayers;
for I := 0 to HowManyPlayers - 1 do
if Players[I].Active then
OneActive := True;
if OneActive = False then
Wait(60000); // Everybody False. Endless Loop.
end;
SRL_Logs := SRL_Logs + 1;
for h:=0 to 5 do
if LoginPlayer2 then exit;
end;
end;
function ispickbroke:boolean;
begin
gametab(4);
if finddtm(brokepick,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
result:=true;
end else
gametab(5);
if finddtm(brokepick,x,y,MIX1,MIY1,MIX2,MIY2) then
result:=true;
end;
Function findrock (var TempX, TempY:Integer):Boolean;
Var
TempTpa: TpointArray;
Temp: T2DPointArray;
H, CTS, I:Integer;
Begin
If Not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(TempX, TempY, TempTPA, orec,MSX1, MSY1, MSX2-100, MSY2-100, 10);
Temp:= TPAtoATPAEx(TempTPA, 25, 25);
SortATPASize(Temp, True);
H:=High(Temp);
For I := 0 To H Do
Begin
MiddleTPAEx(Temp[i], TempX, TempY);
MMouse(TempX, TempY, 3, 3);
wait(50);
Result:=IsUpText('ine');
If Result Then Break;
End;
ColorToleranceSpeed(CTS);
End;
procedure playerinfo;
begin
if not loggedin then exit;
invents:=0;
getorecolour;
paws:=(players[currentplayer].Integers[1]*1000);
roc:=roc+CountItems(oredtm,'dtm',[0,0]);
troc:=roc;
end;
function activeplayers:boolean;
var
activep:integer;
begin
for activep:= 0 to howmanyplayers-1 do
if players[activep].active then
begin
activen:=activen-1;
end;
if activen<=0 then
result:=true;
end;
procedure nextp;
begin
nextplayer2(false);
if activeplayers then scriptterminate;
playerinfo;
report;
mainloop;
end;
procedure replacepick;
begin
writeln('your pick is broke');
writeln('this version does not replace picks');
nextp;
end;
procedure setup;
begin
declareplayers;
SMARTSetupEx(2, True, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
setupsrl;
SetupMining;
loaddtms;
activen:=howmanyplayers-1;
writeln(inttostr(activen));
end;
procedure startup;
begin
if (not(loggedin))then
for h:=0 to 5 do
if LoginPlayer2 then exit;
cleardebug;
wait(10)
writeln('varrock miner created by waddo')
ActivateClient;
makecompass('N');
roc:=0;
report;
end;
Procedure FindFightEx;
Begin
If(FindFight) then
Begin
Writeln('Our player is being attacked!')
Writeln('Lets run away!')
Begin
WriteLn('Running....')
RunAway('E', False, 1, 8000+Random(3000))
WriteLn('Successfully ran away from fight!')
end;
end;
end;
Procedure AntiRandoms;
var
i : Integer;
Begin
if (not(loggedin)) then exit;
for i := 0 to 3 do
FindNormalRandoms;
FindFightEx;
FindNonInventoryRandoms;
wait(1)
end;
procedure mine2;
var
mark:integer;
begin
if not findrock(x,y) then
begin
if findsymbol(x, y, 'mining spot') then
mouse(x, y-5-random(5), 2, 2, true);
end else
begin
mmouse(x, y, 3, 3);
if findgas(x,y) then mine2;
if isuptext('ine') then
begin
getmousepos(x, y);
mouse(x, y, 0, 0, false);
if ChooseOption('ine') then
begin
fflag(0);
marktime(mark);
repeat
antirandoms;
wait(100);
until ((FindBlackChatMessage('to mine some') or (TimeFromMark(mark) >= paws+random(2000))));
if FindBlackChatMessage('to mine some') then
begin
inc(roc);
inc(troc);
end;
end;
end;
end;
end;
procedure runwait;
begin
RunTo('E', false);
Wait(10000 + random(2840));
RunTo('W', false);
end;
procedure drop;
begin
srlstuff;
gametab(4);
srlstuff;
for i := 2 to 28 do
begin
DropItem(i);
wait(100+random(10))
end;
ran:= Random(3);
case ran of
0:typesend('iron dropped here');
1:typesend('droping iron here');
2:typesend('droped ore');
end;
inc(invents);
inc(tinvents);
end;
//
procedure droporbank;
begin
if invfull then
if Players[currentplayer].Booleans[0] then
Begin
writeln('this version does not bank droping ores instead');
drop;
end else
drop;
end;
procedure antiban;
var
noban: Integer;
Begin
If Not (LoggedIn) Then Exit;
noban := Random(25);
Case noban Of
0, 9, 17, 23: PickUpMouse;
1, 13, 16: RandomRclick;
2, 10, 18, 22, 24: randomMovement;
//4, 12, 19: Almostlogout;
5, 11, 8: ChooseOption('cancel');
6, 15, 21: MMouse(Random(MSX2), Random(MSY2), 0, 0);
7, 14, 3: HoverSkill('woodcutting', false);
end;
abt:=0;
end;
procedure checks;
var
a:integer;
begin
for h:=0 to 5 do
if LoginPlayer2 then exit;
wait(100);
for a:=0 to 10 do
case a of
2:findfightex;
3:antirandoms;
4:if abt>=8 then antiban;
5:if abt=4+random(2) then if (ispickbroke) then replacepick;
6:findpick;
7:makecompass('N');
8:setangle(true);
9:mousespeed:=7+random(8);
10:droporbank;
end;
abt:=abt+1;
end;
procedure srlstats;
begin
ScriptID := '800';
if ((players[currentplayer].strings[1] = '')or (players[currentplayer].strings[1] = ''))then
begin
writeln('DONT leech!');
writeln('go to [url]http://stats.srl-forums.com[/url] and create an account');
end else
begin
SRLID := players[currentplayer].strings[1];
SRLPassword := players[currentplayer].strings[2];
end;
end;
procedure mainloop;
begin
playerinfo;
Repeat
if not loggedin then
for h:=0 to 5 do
if LoginPlayer2 then exit;
If (Not (LoggedIn)) then
Begin
writeln('Not logged in, next player!');
NextP;
mainloop;
end;
if (invents = Players[CurrentPlayer].Integers[0]) then
if (players[currentplayer].Booleans[1]=false) then
begin
sleep((players[currentplayer].integers[2]*60000)+random(120000));
end;
if (players[currentplayer].Booleans[1]=true) then
begin
invents:=0;
nextplayer2(true);
report;
mainloop;
end;
checks;
mine2;
report;
Until false;
end;
begin
setup;
startup;
playerinfo;
srlstats;
mainloop;
end.——————————————————
<!– END TEMPLATE: formanswers –>