SCAR Code:
{=========================================================================]
[ ~dushii's water rune crafter~ ]
[ ~Version: 0.1~ ]
[=========================================================================]
|~Description: |
| A script that crafts waterrune | |
|~Instructions: |
| 1. Set the Runescape brightness to V-bright, |
| 2. Set the Runescape quality to LOW, |
| 3. Need SCAR version 3.11 |
| 4. Need SRL version 4. |
| 5. Setup Lines 30-37. |
| 6. All players must be in draynorbank. |
| 7. Start with a water tiara wielded. |
| 8. have your essence in he first bank slot | |
| |
| |
| |
[=========================================================================]
| |
| |
| |
[=========================================================================}
program New;
{.Include SRL/SRL.SCAR}
procedure DeclarePlayers;
begin
HowManyPlayers := 1; //Number of players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
end;
{------------------------------------------------------------------------------}
{ }
{------------------------------------------------------------------------------}
function RadialToleranceWalk(TheColor: Integer; StartRadial, EndRadial: Integer;
Radius: Integer; Xmod, Ymod, Tol: Integer): Boolean; // By Wizzup? and WT-Fakawi.
var
i, X1, Y1, x, y: Integer;
begin
if (RoadColorChecker) then
if (DebugRadialRoad) then
WriteLn(' THROUGH RADIALROADWALK= ---> ' + IntToStr(RoadColor));
if (StartRadial = EndRadial) then
begin
WriteLn('Using LinearRoadWalk, equal values.')
if LinearRoadWalk(TheColor, StartRadial, Radius, Xmod, Ymod) then
Result := True;
end
else if (StartRadial < EndRadial) then
begin
repeat
for i := StartRadial to EndRadial do
begin
x1 := Round(Radius * Sine(i)) + 646;
y1 := Round(-Radius * Cose(i)) + 84;
if (FindColorTolerance(x, y, TheColor, X1, Y1, X1 + 1, Y1 + 1, Tol)) then
begin
MouseFindNoFlag(X,Y,Xmod,Ymod);
Result := True;
CountFlag(10);
Exit;
end;
end;
Radius := Radius - 4;
until (Radius <= 1);
end else
if (StartRadial > EndRadial) then
begin
repeat
for i := StartRadial downto EndRadial do
begin
x1 := Round(Radius * Sine(i)) + 646;
y1 := Round(-Radius * Cose(i)) + 84;
if (FindColorTolerance(x, y, TheColor, X1, Y1, X1 + 1, Y1 + 1, Tol)) then
begin
MouseFindNoFlag(X,Y,Xmod,Ymod);
Result := True;
CountFlag(10);
Exit;
end;
end;
Radius := Radius - 4;
until (Radius <= 1);
end
end;
function FindFastRandoms: Boolean; // By WT-Fawki
var
i: Integer;
begin
for i := 1 to 9 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
//Logout;
WriteLn('No gametab');
Exit;
end;
end;
8: begin
if InBlack then
begin
status('In black');
end;
end;
9: RC;
end;
Wait(1);
end;
end;
{------------------------------------------------------------------------------}
{ open bank and get essence }
{------------------------------------------------------------------------------}
procedure bank;
var RuneEssence: Integer;
Tries , x1, y1: Integer;
begin
Repeat
MakeCompass('N');
PerfectNorth;
HighestAngle;
OpenBankQuiet('db');
Flag;
Wait(500 + random(500));
FixBank;
Tries := Tries + 1;
if (Tries = 25) then
begin
Exit;
end;
Until (BankScreen)
begin
RuneEssence := DTMFromString('78DA634C626060506100036608C5101F19C92' +
'007A41981F83F1030660319D2A86AA67675C1D58000630A903040' +
'55E3EEE484AA260C48281250130124B451D538DAD8A0AAC90712A' +
'AA86A1A2B2A50D400006E2C0E77');
if (FindDTM(RuneEssence, x1, y1, 45, 30, 115, 95)) then
begin
DepositAll;
Mouse(x1, y1, 1, 1, false);
if (chooseOption('All')) then
wait(1000 + random(100));
end;
FreeDTM(RuneEssence);
closebank;
Wait(500 + random(500));
end;
end;
{------------------------------------------------------------------------------}
{ walking to altar }
{------------------------------------------------------------------------------}
procedure walktoaltar;
begin
FindroadColor;
findwatercolor;
if(RadialroadWalk(6186331, 190, 160, 70, 40, -10))then
begin
flag;
Writeln('Used primary RRW')
end else
begin
if(RadialroadWalk(roadColor, 120, 80, 70, -15, 5))then
begin
flag;
Writeln('Used secondary RRW')
end else
Writeln('Did not use either.')
end;
if RadialRoadWalk(RoadColor, 165, 120, 60, 2,2) then
WriteLn('step 0');
flag;
if (RadialRoadWalk(RoadColor, 150, 175, 65, -5, 5))then
begin
flag;
WriteLn('step 1')
end else
begin
if (RadialRoadWalk(RoadColor, 175, 140, 70, 10, 1))then
begin
flag;
WriteLn('step 1.5');
end else Writeln('did none')
end
findwatercolor;
if RadialWalk(waterColor, 90, 150, 70, 1, 1) then
WriteLn('step 2');
flag;
if RadialWalk(waterColor, 80, 200, 60, 1, 1) then
WriteLn('step 3');
flag;
if RadialWalk(waterColor, 80, 200, 60, 1, 1) then
WriteLn('step 3');
flag;
if RadialToleranceWalk(2180703, 95, 130, 55, 10, 1, 30) then
WriteLn('step 4');
flag;
if RadialToleranceWalk(3047040, 93, 120, 60, 6, 1, 30) then
WriteLn('step 6');
flag;
if RadialToleranceWalk(3047497, 110, 130, 50, 6, 3, 30) then
WriteLn('step 7');
flag;
if (RadialToleranceWalk(6186331, 100, 150, 50, -10, -25, 30)) then
begin
flag;
WriteLn('step 8')
end else
begin
if(RadialToleranceWalk(6186331, 180, 210, 50, -10, -25, 30)) then
begin
writeln('step8.5')
end else
writeln('lost near altar')
exit;
end
end;
{------------------------------------------------------------------------------}
{ finding altar }
{------------------------------------------------------------------------------}
procedure FindAltar;
var
x, y : Integer;
begin
repeat
If FindObj(X, Y, 'ruins', 5266277, 5) Then
begin
MMouse(X,Y,0,0)
writeln('Entering');
Flag;
Wait(500 + Random(350)); end;
until (FindObj(X, Y, 'ruins', 5266277, 5));
begin Mouse(x, y, 0, 0,True);
Wait(150 + Random(350));
ChooseOption('Enter');
flag;
wait(2000+random(1000))
end
end;
{------------------------------------------------------------------------------}
{ craft and tele back }
{------------------------------------------------------------------------------}
procedure CraftAndTele;
var
x,y :integer;
begin
wait(2500+random(500))
RadialToleranceWalk(1665632, 290, 330, 35, 1, 1, 40);
begin
If FindObj(X, Y, 'raft', 5659999, 30) Then
begin
Mouse(x,y,0,0,true)
Wait(500+random(200))
if(IsUpText('raft'))then
begin
GetMousePos(x,y)
Writeln('Crafted runes')
Wait(2500+random(200))
end;
end;
end;
Wait(1500+random(200))
begin
findwatercolor;
RadialWalk( watercolor , 120, 85, 70, 0, 0);
flag;
Wait(800+random(200))
begin
If FindObj(X, Y, 'ortal', 13942453, 30) Then
wait(500)
begin
Mouse(x,y,0,0,true)
Wait(500+random(200))
flag;
if(IsUpText('port'))then
Wait(1000+random(200))
begin
GetMousePos(x,y)
Writeln('teleporting ')
flag;
wait(2000+random(500))
end;
end;
end;
end;
end;
{------------------------------------------------------------------------------}
{ walk to bank }
{------------------------------------------------------------------------------}
procedure walktobank;
var
x,y: integer;
begin
Wait(1000+random(200))
WriteLn('step 1');
flag;
if (RadialToleranceWalk(3166312, 310, 360, 60, 1, 1, 30)) then
begin
WriteLn('step 2')
flag;
end else
begin
findwatercolor;
if (RadialWalk( watercolor , 0, 30, 30, 0, 0)) then
begin
If FindObj(X, Y, 'ortal', 13942453, 30) Then
wait(500)
begin
Mouse(x,y,0,0,true)
Wait(500+random(200))
flag;
if(IsUpText('port'))then
Wait(1000+random(200))
begin
GetMousePos(x,y)
Writeln('teleporting ')
flag;
wait(2000+random(500))
begin
if (RadialToleranceWalk(3166312, 310, 360, 60, 1, 1, 30)) then
begin
WriteLn('step 2')
flag;
end
end
end
end
end else
writeln('lost in water altar')
end;
if RadialToleranceWalk(2981695, 300, 350, 70, 1, 1, 30) then
WriteLn('step 3');
flag;
if RadialToleranceWalk(2196599, 270, 290, 70, 1, 1, 30) then
WriteLn('step 4');
flag;
findwatercolor;
if RadialWalk(watercolor, 270, 330, 63, 1, 1) then
WriteLn('step 5');
flag;
if RadialWalk(watercolor, 300, 360, 60, 1, 1) then
WriteLn('step 6');
flag;
if RadialWalk(watercolor, 330, 360, 50, -5, -5) then
WriteLn('step 7');
Flag;
findroadcolor;
if RadialToleranceWalk(6184027, 260, 360, 50, 0, -20,30) then
WriteLn('step 7');
Flag;
findroadcolor;
if (RadialRoadWalk(RoadColor, 280, 350, 70, 1, 1))then
begin
flag;
WriteLn('step 8')
end else
begin
if (RadialWalk(watercolor, 265, 360, 50, -5, -5))then
begin
flag;
findroadcolor;
WriteLn('step 7.5')
if (RadialRoadWalk(RoadColor, 330, 360, 70, 1, 1))then
flag;
WriteLn('step 8 again')
end
end;
if (RadialRoadWalk(RoadColor, 330, 360, 50, 1, 1))then
flag;
WriteLn('step 8 again')
if RadialToleranceWalk(2397582, 320, 360, 60, -5, 1,30) then
WriteLn('step 11');
flag;
end;
{------------------------------------------------------------------------------}
{ mainloop }
{------------------------------------------------------------------------------}
begin
SetUpSRL;
DeclarePlayers;
LoginPlayer;
HighestAngle;
MakeCompass('W')
MakeCompass('N')
Repeat
bank;
walktoaltar;
findaltar;
craftandtele;
walktobank;
Until(false);
end.