Orbital
2008-06-05 23:51:37
<!– BEGIN TEMPLATE: formanswers –>
Orbital - SRL Member Application Form
Orbital
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
SCAR only really…
Other Communitys
Private Member on Sp0rk-eh "WhAcK" is my user
How Long have You Played Runescape
2 years I guess
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I am a Private Member on Sp0rk-eh, there I am known as WhAcK. I joined SRL I think April 07 and have been learning SCAR slowly overtime, thanks Nicbaz for all the help of teaching me most of the basics and some intermediate things. My post count is low for several reasons but I think some mods know so I wont need to go into further detail.
I guess you could say I like graphics a bit. I use to have a free signature thread that went for sometime… I was RS Rebel at one point but then I think I pmed RAM To ban that account since I had recovered my old account…
I've played Runescape for sometime and next time I get a molly ill be willing to give my main to a dev…
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
A rough of my current project that I am working on…
——————————————————
<!– END TEMPLATE: formanswers –>
Orbital - SRL Member Application Form
Orbital
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
SCAR only really…
Other Communitys
Private Member on Sp0rk-eh "WhAcK" is my user
How Long have You Played Runescape
2 years I guess
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I am a Private Member on Sp0rk-eh, there I am known as WhAcK. I joined SRL I think April 07 and have been learning SCAR slowly overtime, thanks Nicbaz for all the help of teaching me most of the basics and some intermediate things. My post count is low for several reasons but I think some mods know so I wont need to go into further detail.
I guess you could say I like graphics a bit. I use to have a free signature thread that went for sometime… I was RS Rebel at one point but then I think I pmed RAM To ban that account since I had recovered my old account…
I've played Runescape for sometime and next time I get a molly ill be willing to give my main to a dev…
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
A rough of my current project that I am working on…
program YewCutter;
{.include SRl/SRL/Misc/SMART.scar}
{.include SRl/SRl.scar}
{.include SRL/SRL/Skill/WoodCutting.scar}
Const
SmartWorld = 108; // SMART
YourSRLId = ''; // SRL Stats ID.
YourSRLPassword =''; // SRL Stats PASS.
PlayerSetup = True; // Player setup.
TellyToVarrock1 = False; // Teleports character to Varrock if lost. Must have correct runes.
Tolerance = 6; //Tree colour toloerance
ObjWidth = 15; //Width of tree
ObjHeight = 15; //Height of tree
var x, y, Attempts: Integer;
Banker: Integer;
Varrock: Integer;
Axe: integer;
Loads: Integer;
Levels: integer;
Yews: Integer;
Talked: integer;
CombatLvl: integer;
BrokenAxe: integer;
BrokenAxes: integer;
Tol: integer;
NumberOfYews: integer;
YewTreeColor: integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := 'ell';
Players[0].Active := True;
Players[0].Integers[0]:= 3; //Loads to Do;
Players[0].Strings[0] := '0000'; // Bank pin if you have one; no bank pin = " '0000' ".
{Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := True;
Players[3].Integers[3]:= 3; //Loads to Do;
Players[0].Strings[0] := '0000'; // Bank pin if you have one; no bank pin = " '0000' ".
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True;
Players[3].Integers[3]:= 3; //Loads to Do;
Players[0].Strings[0] := '0000'; // Bank pin if you have one; no bank pin = " '0000' ".
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Active := True;
Players[3].Integers[3]:= 3; //Loads to Do;
Players[0].Strings[0] := '0000'; // Bank pin if you have one; no bank pin = " '0000' ".}
end;
function RoadDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 1173;
dtmMainPoint.y := 313;
dtmMainPoint.AreaSize := 2;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindVarrockRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 1173;
dtmSubPoints[0].y := 313;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindVarrockRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 1183;
dtmSubPoints[1].y := 313;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindVarrockRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 1178;
dtmSubPoints[2].y := 314;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindVarrockRoadColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 1178;
dtmSubPoints[3].y := 306;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindVarrockRoadColor;
dtmSubPoints[3].Tolerance := 3;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure LoadDTMs;
begin
Banker := DTMFromString('78DA639460646058C78002AA4B8B19FE0369A' +
'00CC37F2060E405B23640E418A16ABE7F67601041E2330A02591B' +
'09A81125420DC83D9B50D5FCFF8FA64616C8DA4CC01C054C35E8E' +
'6000083EA181E');
Yews := DTMFromString('78DA631461606060674001CE51290CFF81342' +
'310FF07024621208385010D302291405A02D31C0C3502408213BF' +
'1A00D2AB0671');
Axe := DTMFromString('78DA636464626098CB800618914820FD0BC85' +
'A4A400D071361359C40358B8850330FBF1A00E1F30455');
BrokenAxe := DTMFromString('78DA636C616260E0636440061D697C601A26C' +
'AD80354C38FAA06260B57D30754C34D404D2F508D080135CD4035' +
'5C04D4D400D5A8E05703008C0604B4');
end;
Procedure FixCamera;
begin
WriteLn ('Fixing camera.');
MakeCompass('N');
SetAngle(True);
Wait(2000 + (random(150)));
end;
Procedure CameraRot;
begin
WriteLn('Could not find tree. Rotating Camera.')
case Random(10) of
1: begin
SetAngle(False);
Wait(3000 + random(250));
end;
2: begin
SetAngle(True);
Wait(3000 + random(250));
end;
3: begin
MakeCompass('N');
Wait(3000 + random(250));
end;
4: begin
MakeCompass('E');
Wait(3000 + random(250));
end;
5: begin
MakeCompass('S');
Wait(3000 + random(250));
end;
6: begin
MakeCompass('W');
Wait(3000 + random(250));
end;
end;
end;
Procedure Chat;
begin
case random(300) of
0: TypeSend('Wc lvl?');
1: TypeSend('Wat ya wc lvl?');
2: TypeSend('Im soo bored!');
3: TypeSend('I love woodcutting yews');
4: TypeSend('omg this is cool!');
5: TypeSend('runescape rocks!'); // not really
6: TypeSend('varrok village is my home =D');
7: TypeSend('I hate dark the new wildy -.-');
8: TypeSend('Oh I need to go to the bathroom brb.');
9: TypeSend('Yews r so hard to chop');
10:TypeSend('I like this place cuz the bank is close.');
11:TypeSend('You guys are all noobs.');
12:TypeSend('Turning chat off now.');
13:TypeSend('No one speak to me, chat is off.');
end;
end;
procedure AntiBan;
begin
FixCamera
if not LoggedIn then Exit;
case Random(30) of
1: RandomRClick;
2: HoverSkill('Woodcutting', False);
3: RandomMovement;
4: BoredHuman;
5: AlmostLogout;
6: DoEmote(400 +Random(90));
7: Chat;
end;
end;
Function Level: boolean;
begin
Result :=FindColor(x, y, 8388608, 14, 372, 495, 389)
if (result) then
begin
WriteLn('******** Advanced A Woodcutting Level ********');
clicktocontinue;
Wait(2000 + random(250));
clicktocontinue;
end;
end;
procedure FindRandoms;
begin
If(FindFight)then
RunAway('N', True,1,15000);
FindNormalRandoms;
FindLamp('Woodcutting');
if Level then
Levels :=Levels + 1;
end;
{Procedure CombatLevel;
begin
Gametab(2);
Wait(2500 + (random(500)));
CombatLvl := GetCombatLevel;
begin
WriteLn('Combat lvl is ' + IntToStr(CombatLvl));
If (CombatLvl = 0) then
begin
WriteLn('Error with CB level');
exit;
end;
If (CombatLvl < 15) then
WriteLn(+ Players[CurrentPlayer].Name + 'Does not have high enough combat level to auto');
Logout;
NextPlayer(False);
Exit;
If (CombatLvl > 20) or (CombatLvl = 20) then
WriteLn(+ Players[CurrentPlayer].Name + '*s Combat level will do');
exit;
end;
end;}
Procedure Proggy;
begin
WriteLn('|||||||||||||||||||||||||||||||||||||||||||');
WriteLn('| Dimitri*s Progress Report |');
WriteLn('|||||||||||||||||||||||||||||||||||||||||||');
WriteLn('|Did: ' + IntToStr(Loads) + ' Loads |');
WriteLn('|Worked For: ' + TimeRunning + ' |');
WriteLn('|Talked: ' + IntToStr(Talked) + 'times |');
WriteLn('|Broken Axes: ' + IntToStr(BrokenAxes) + '|');
WriteLn('|Levels Gained: ' + IntToStr(Levels) + '|');
WriteLn('|||||||||||||||||||||||||||||||||||||||||||');
end;
function ChooseClick: Integer;
var x, y: Integer;
begin
case random(2) of
0: begin
Wait(2500 + (random(500)));
Mouse(x, y, 3, 3, true);
end;
1: begin
Wait(2500 + (random(500)));
Mouse(x, y, 4, 4, false);
ChooseOption('hop');
end;
end;
end;
function FullInv: Boolean;
var
S: string;
begin
S := GetBlackChatMessage
Result := (Pos('full', S) <> 0);
end;
function Bank_floor: Integer; //Credits to nicbaz for helping
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,TestColor,xx,xy : Integer;
TPA : TPointArray;
begin
if Not(LoggedIn) then Exit;
xx:= MMCX;
xy := MMCY;
FindColorsSpiralTolerance(xx, xy, TPA, 5993608, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
TestColor := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(TestColor, 5993608, 50) then
begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
if InRange(R - G, 0, 40) then
if InRange(R - B, 25, 65) then
if InRange(G - B, 5, 45) then
if InRange(Round(X) - Round(Y), -7, 7) then
if InRange(Round(Y) - Round(Z), -2, 12) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = TestColor then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = TestColor then
begin
WriteLn('Bank floor = '+Inttostr(TestColor));
Result := TestColor;
Exit;
end;
end;
end;
end;
WriteLn('Couldnt find Bank floor Color.');
Result := 0;
end;
procedure AxeInInv;
begin
if not LoggedIn then Exit;
GameTab(4)
WriteLn('Checking For axe in Inv.');
Wait(1000 + Random(200));
if (FindDTM(Axe, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
WriteLn('Axe is in Inventory. Good Work :)');
Wait(1500 + random(1200));
if (not (FindDTM(Axe, x, y, MIX1, MIY1, MIX2, MIY2))) then
WriteLn('Could not find axe in inv, cheaking if weilded.');
end else
begin
GameTab(3)
if FindDTM(Axe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 2, 2, True);
if (not (FindDTM(Axe, x, y, MIX1, MIY1, MIX2, MIY2))) then
WriteLn('No axe Weilded.');
Logout;
NextPlayer(False);
Exit;
end;
end;
end;
procedure RetaliationOff; //By: Illkillutill
begin
if Not LoggedIn then Exit;
GameTab(1);
if FindColorTolerance(x, y, 1777020, 565, 355, 717, 405, 3) then
MouseBox(572, 362, 709, 398, 1);
end;
procedure SetupPlayer;
begin
if Not LoggedIn then Exit;
begin
SetChat('Off', 1);
SetChat('Off', 2);
SetChat('Off', 3);
RetaliationOff;
SetRun(True);
end;
WriteLn('Player setup.');
end;
Procedure WalkToBank1; // From Yew Tree.
begin
if not LoggedIn then Exit;
RoadColor := FindVarrockRoadColor;
Makecompass('S');
SetAngle(True);
begin
WriteLn ('Walking back to bank');
Wait(200 + Random(200));
if not RadialRoadWalk(RoadColor, -5, 5, 70, 2, 2) then
RadialRoadWalk(RoadColor, -10, 10, 70, 2, 2);
FFlag(2);
if FindSymbol(x, y, 'Dungeon') then
begin
Wait(200 + Random(200));
if not RadialRoadWalk(RoadColor, -5, 5, 70, 2, 2) then
RadialRoadWalk(RoadColor, -10, 10, 70, 2, 2);
FFlag(2);
if FindSymbol(x, y, 'Water') then
begin
Wait(200 + Random(200));
if not RadialRoadWalk(RoadColor, -5, 5, 30, 2, 2) then
RadialRoadWalk(RoadColor, -10, 10, 45, 2, 2);
FFlag(2);
SymbolAccuracy:= 0.2;
if FindSymbol(x, y, 'Bank') then
Writeln ('Found the bank.');
Wait(1000 + (random(150)));
Mouse(x, y, 2, 2, true);
FFlag(0);
end else
RadialRoadWalk(Bank_floor, -10, 10, 70, 2, 2);
if not RadialRoadWalk(Bank_floor, -10, 10, 70, 2, 2) then
begin
Logout;
NextPlayer(False);
Exit;
end;
end;
end;
end;
Procedure WalkToBank2; // From Varrock center.
begin
if not LoggedIn then Exit;
RoadColor := FindVarrockRoadColor;
Makecompass('W');
begin
Writeln ('We are at Varrock center.');
Wait(200 + Random(200));
if not RadialRoadWalk(RoadColor, -5, 5, 70, 2, 2) then
RadialRoadWalk(RoadColor, -10, 10, 70, 2, 2);
FFlag(2);
if FindSymbol(x, y, 'Water') then
begin
Wait(200 + Random(200));
if not RadialRoadWalk(RoadColor, -5, 5, 70, 2, 2) then
RadialRoadWalk(RoadColor, -10, 10, 70, 2, 2);
FFlag(2);
repeat
SymbolAccuracy:= 0.2;
if FindSymbol(x, y, 'Bank') then
WriteLn ('Found the Bank.');
Wait(1000 + (random(150)));
Mouse(x, y, 2, 2, true);
FFlag(0);
until(FlagPresent);
end else
RadialRoadWalk(Bank_floor, -10, 10, 70, 2, 2);
if not RadialRoadWalk(Bank_floor, -10, 10, 70, 2, 2) then
begin
Logout;
NextPlayer(False);
Exit;
end;
end;
end;
procedure Banking;
begin
if not LoggedIn then Exit;
Repeat
Wait(300 + random(160));
WriteLn ('Banking yews.');
GameTab(4);
OpenBankQuiet('veb');
if PinScreen then InPin(Players[CurrentPlayer].Strings[0]) else
FFlag(0);
Wait(500+Random(400));
until(BankScreen)or(not Loggedin);
if (FindDTM(Yews, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 4, 3, false);
ChooseOption('All');
Loads := Loads + 1;
end;
end;
function BankBrokenAxe: Boolean;
begin
if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
Result := true;
Wait(500 + Random(400));
Mouse(x, y, 2, 2, false);
ChooseOption('1')
if (Result = true) then
if (FindDTM(Axe, x, y ,MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 4, 4, false);
ChooseOption('1')
CloseBank;
end else
WriteLn ('No axe in bank');
Result := false;
Logout;
NextPlayer(False);
Exit;
end;
procedure TellyToVarrock;
begin
if not LoggedIn then exit;
if not Tabexists(7) then
begin
LogOut;
Exit;
end;
Varrock := BitmapFromString(20, 20, 'beNqllMENgCAMRWEEE/fw' +
'oms5ADvosp48aMQYm9+WCgj5B0h4/FJanDOGVyoc9+Z12UhlrKT4C' +
'UVg3w1CuQAYGMJOyuIEIiVOMIL3wnEaZ5JwB2ufBPGBDJzlh8DzPJ' +
'CNS8Th4ox9HDVL7lkWcZpkWW2Nppq1chUpDb65ct+ptt/ILKoftdF' +
'Sk229wAq7sgcT16/p/Zo/5wK6Xja1');
begin
Gametab(7)
Wait(200 + Random(200));
Writeln ('Teleporting to Varrock.');
if FindBitmapToleranceIn(Varrock, x, y, MIX1, MIY1, MIX2, MIY2, 40) then
begin
Mouse(x, y, 2, 2, true);
Wait(100 + Random(200));
FindRandoms;
if not FindBitmapToleranceIn(Varrock, x, y, MIX1, MIY1, MIX2, MIY2, 40) then
Logout;
NextPlayer(False);
Exit;
end;
end;
end;
procedure WalkToTree; forward;
Procedure RetryWalk;
begin
if not LoggedIn then Exit;
FindRandoms;
TellyToVarrock;
WalkToBank2;
WalkToTree;
Wait(1000 + (random(150)));
end;
procedure WalkToTree;
begin
if not LoggedIn then Exit;
FixCamera;
RoadColor := FindVarrockRoadColor;
begin
if not RadialRoadWalk(RoadColor, 330, 340, 70, 2, 2) then
RadialRoadWalk(RoadColor, 335, 340, 70, 2, 2);
FFlag(2);
Wait(1000 + (random(150)));
if FindSymbol(x, y, 'Water') then
begin
if not RadialRoadWalk(RoadColor, -15, 2, 70, 2, 2) then
RadialRoadWalk(RoadColor, 350, 355, 70, 2, 2);
FFlag(2);
Wait(1000 + (random(150)));
if FindSymbol(x, y, 'Dungeon') then
begin
if not RadialRoadWalk(RoadColor, 340, 345, 60, 2, 2) then
RadialRoadWalk(RoadColor, 345, 355, 60, 2, 2);
Wait(1000 + (random(150)));
if(findSymbol(x, y, 'Tree')) then
begin
Wait(1000 + (random(150)));
Mouse(x, y, 2, 2, true);
if not(findSymbol(x, y, 'Tree')) then
Wait(1000 + (random(150)));
if (TellyToVarrock1 = true) then
RetryWalk;
end else
if DTMRotated(RoadDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln ('Found Bank DTM.');
Wait(1000 + (random(150)));
Mouse(x - 6, y - 6, 12, 2, true);
FFlag(0)
end else
begin
Writeln ('Did not find Yew Tree.');
Logout;
NextPlayer(False);
Exit;
end;
end;
end;
end;
end;
procedure ChopTree;
var
CuttingTime, i: integer;
YewTreeColor: Array [0..5] of Integer;
begin
WriteLn('Looking for tree color.');
if not LoggedIn then Exit;
MarkTime(CuttingTime);
YewTreeColor[0] := 3297356;
YewTreeColor[1] := 2188892;
YewTreeColor[2] := 4029551;
YewTreeColor[3] := 3763299;
YewTreeColor[4] := 1063989;
YewTreeColor[5] := 3764838;
Wait(2000 + (random(150)));
repeat
CameraRot;
for i := 0 to 5 do
if not (FindObjTPA(x, y, YewTreeColor[i], Tol, -1, ObjWidth, ObjHeight, 30, ['Yew'])) then
begin
Attempts := Attempts + 1;
if (Attempts = 20) then
begin
Writeln('Could not find yews after 20 attempts.');
Attempts := 0;
NextPlayer(false);
Wait(1500 + random(1200));
end;
end else
begin
ChooseClick;
FindNormalRandoms;
AntiBan;
FindEnt(x, y, True);
Level;
GameTab(4)
Wait(5000 + Random(400));
if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Axe is broken, getting a new one.');
BrokenAxes := BrokenAxes + 1;
break;
end;
end;
until (InvFull) or (TimeFromMark(CuttingTime) > 200000 + random(40000))
end;
begin
ClearDebug;
WriteLn('Waiting for SMART to start up.');
SmartSetupEx(SMARTWorld, false, true);
SetTargetDC(SmartGetDC);
while not SmartReady do Wait(2000);
SetUpSRL;
DeclarePlayers;
LoadDTMs;
if Loggedin then Logout;
LoginPlayer;
{CombatLevel;}
AxeInInv;
if (PlayerSetUp = True) then
SetupPlayer;
Wait(2000);
FindAxe;
repeat
WalkToTree;
ChopTree;
WalkToBank1;
Banking;
BankBrokenaxe;
ClearDebug;
Proggy;
SRLRandomsReport;
if (Loads = Players[CurrentPlayer].Integers[0]) then
begin
NextPlayer(True)
end;
until (False)
end.——————————————————
<!– END TEMPLATE: formanswers –>