sjlou
2007-10-09 05:04:15
<!– BEGIN TEMPLATE: formanswers –>
dushii - SRL Member Application Form
dushii
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
nope
Other Communitys
no(used to visit sythe but now only srl-forums)
How Long have You Played Runescape
3/4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
well..i started with autoing cause ive seen lots of lvl 3 cutting yews/fishing lobs and selling lots of them (300k omg)
so i wanted to do that to so i googled for an auto program and found scar :D but didnt know how to work with it so i looked for something else
and found bots but they didnt work well…so i tried scar again after 6 months :P i learnd how to work with it and begin to auto
first scripts i used was powermining went from lvl 1 to lvl 60 :D then used a guildminer (from Wizzup or WT-Fakawi i cant remember:P)
then i wanted to learn more about scripting i wanted to make my own scripts so i started to learn scar scripting and made my first script :D
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
dushii - SRL Member Application Form
dushii
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
nope
Other Communitys
no(used to visit sythe but now only srl-forums)
How Long have You Played Runescape
3/4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
well..i started with autoing cause ive seen lots of lvl 3 cutting yews/fishing lobs and selling lots of them (300k omg)
so i wanted to do that to so i googled for an auto program and found scar :D but didnt know how to work with it so i looked for something else
and found bots but they didnt work well…so i tried scar again after 6 months :P i learnd how to work with it and begin to auto
first scripts i used was powermining went from lvl 1 to lvl 60 :D then used a guildminer (from Wizzup or WT-Fakawi i cant remember:P)
then i wanted to learn more about scripting i wanted to make my own scripts so i started to learn scar scripting and made my first script :D
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{=========================================================================]
[ ~dushii's water rune crafter~ ]
[ ~Version: 0.0~ ]
[=========================================================================]
|~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.12 |
| 4. Need SRL version 4. |
| 5. Setup Lines 35-37. |
| 6. All players must be in draynorbank. |
| 7. Start with a water tiara wielded. |
| 8. have your essence in he first bank slot | |
| |
| |
| |
[=========================================================================]
|*tnx to ~ n3sses for being a great teacher :D |
| ~ king of knives for his advices and help:D |
| ~ rogeruk for helping and fixing things for me :D |
[=========================================================================}
program watercrafter;
{.Include SRL/SRL.SCAR}
const
loads = 10; // how many trips
var
trips, loadsNum:integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 5; //Number of players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;
Players[0].Name :=' ';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
Players[1].Name :=' ';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;
Players[2].Name :=' ';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;
Players[3].Name :=' ';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True;
Players[4].Name :=' ';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].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;
procedure refreshMM;
begin
wait(4000+random(500))
logout;
loginplayer;
PerfectNorth;
end;
Procedure RotateOrigin(RotAng : Double; x, y : Double; Var Nx, Ny : Double);
var
SinVal : Double;
CosVal : Double;
begin
SinVal := Sin(RotAng);
CosVal := Cos(RotAng);
Nx := x * CosVal - y * SinVal;
Ny := y * CosVal + x * SinVal;
end;
procedure AntiBan;
begin
if (not(LoggedIn)) then
exit;
case 1+random(9) of
1: MMouse(400,10,399,9);
2: GameTab(3 + Random(2));
3: RandomRClick;
4: AlmostLogout;
5: PickUpMouse;
6: TypeSend('selling 5 water runs 2k');
7: typesend('slling 23 water runees 50 ea');
8: SendArrowWait(1,40);
9: begin
HoverSkill('random', false);
wait(1000 + random(1000));
end;
end;
GameTab(4);
end;
Procedure Rotate(RotAng : Double; x, y, ox, oy : Double; Var Nx, Ny : Integer);
var
newX, newY : double;
begin
RotateOrigin(RotAng, x - ox, y - oy, newx, Newy);
Nx := round(Newx + ox);
Ny := round(Newy + oy);
end;
Procedure walktobanker; //credits to rogeruk
var
trys,x, y, xs, ys, BankersDTM, trytime : integer;
z : extended;
resetcolors : boolean;
Label Retry;
begin
if not LoggedIn then Exit;
Status('Banking');
trys := trys + 1;
BankersDTM := DTMFromString('78DA630C676260F06540017FFE30318800694' + '61806A909C5AD8601A626928039FE44A80906AA094255931E9FC0' + 'A0816C5728504D1C7E3500D5740EF0');
Retry :
MakeCompass('N');
wait(500 + random(500));
if random(3) = 0 then
SetRun(true);
MarkTime(trytime);
while(not FindDTMRotated(BankersDTM, x, y, 556, 0, 764, 179, 0, 360, 0.5, z)) and (timefrommark(trytime) < 30000) do
begin
if not LoggedIn then exit;
wait(50)
status('Error, can''t find bank. Resetting minimap to fix this')
case random(2)of
0 : Makecompass('S');
1 : MakeCompass('E');
2 : MakeCompass('W');
end
wait(500 + random(300))
MakeCompass('N');
wait(1000 + random(500));
FindNormalRandoms;
end;
if timefrommark(trytime) > 10000 then
begin
if resetcolors then
begin
Players[CurrentPlayer].Active := false;
resetcolors := false;
Logout;
Writeln('Relogin failed. Player "' + players[currentplayer].Name + '" has been lost.');
exit;
end else
begin
writeln('Attempting Relogin to fix minimap colors.');
resetcolors := true;
Logout;
LoginPlayer;
Goto Retry;
end;
end;
wait(200 + random(200));
Rotate(z, x + 12, y + 10, x, y, xs, ys);
Mouse(xs, ys, 3, 3, true);
makecompass('W');
HighestAngle;
CountFlag(0);
freedtm(BankersDTM);
end;
procedure Report;
begin
Writeln('[]-------------------------------------------[]');
Writeln('made '+ IntToStr(trips) + ' trip(s)');
Writeln('[]--------------------------------------------[]');
end;
{------------------------------------------------------------------------------}
{ open bank and get essence }
{------------------------------------------------------------------------------}
procedure bank1;
var
RuneEssence: Integer;
Tries , x1, y1: Integer;
begin
repeat
MakeCompass('N');
HighestAngle;
begin
antiban;
OpenBankQuiet('db');
gametab(4);
end;
Flag;
Wait(500 + random(500));
FixBank;
Tries := Tries + 1;
if (Tries = 5) 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
PerfectNorth;
FindroadColor;
findwatercolor;
SetRun(true);
Wait(500 + Random(500));
Status('walking to altar');
if(RadialroadWalk(roadcolor, 130, 90, 75, -10, 7))then
begin
Wait(1000 + Random(450));
flag;
Writeln('Used primary RRW')
end else
begin
if(RadialroadWalk(roadColor, 130, 80, 70, -15, 5))then
begin
fflag(0);
Writeln('Used secondary RRW')
end else
Writeln('Did not use either.')
end;
if RadialRoadWalk(RoadColor, 150, 120, 55, 0,1) then
begin
FindFastRandoms;
WriteLn('step 0');
flag;
end;
if (RadialRoadWalk(RoadColor, 120, 145, 55, 0, 5))then
begin
flag;
WriteLn('step 1')
end;
if (RadialRoadWalk(RoadColor, 90, 180, 35, 5, 5))then
begin
flag;
WriteLn('step 1')
end;
SetRun(false);
Wait(500 + Random(500));
if RadialWalk(waterColor, 90, 180, 50, 1, 1)then
begin
PerfectNorth;
FindFastRandoms;
WriteLn('step 2');
flag;
Wait(500 + Random(500));
end;
if RadialWalk(waterColor, 80, 210, 45, 0, 0)then
begin
WriteLn('step 3');
flag;
end;
if RadialWalk(watercolor, 270, 280, 15, 70, 1)then
begin
WriteLn('step 4');
flag;
end else
if (RadialWalk(watercolor, 270, 280, 15, 70, -5))then
begin
SendArrowWait(1,40);
if (RadialWalk(watercolor, 270, 280, 15, 70, 1))then
WriteLn('step 4');
flag;
end else
if (RadialWalk(watercolor, 270, 280, 15, 70, 1))then
begin
writeln('minimap rotated to much, gonna refresh')
refreshMM;
writeln('refreshed minimap')
if (RadialWalk(watercolor, 270, 280, 10, 70, 1))then
WriteLn('step 4');
flag;
end
if RadialToleranceWalk(8097104, 120, 64, 60, -5, 5, 30) then
begin
FindFastRandoms;
WriteLn('pool 1');
flag;
end;
if RadialToleranceWalk(8097104, 150, 100, 55, 1, 1, 30) then
begin
WriteLn('pool 2');
flag;
end;
if RadialToleranceWalk(8097104, 200, 85, 52, 1, 5, 30) then
begin
WriteLn('pool 3');
flag;
end;
if (RadialToleranceWalk(6191403, 140, 145, 18, 0, 1, 30))then
begin
WriteLn('near altar');
flag;
end else
begin
if (RadialToleranceWalk(6844521, 190, 160, 70, -1, -25, 30))then
begin
flag;
writeln('used rocks to get near altar')
end;
end;
end;
{------------------------------------------------------------------------------}
{ finding altar }
{------------------------------------------------------------------------------}
procedure FindAltar;
var
x, y : Integer;
label retry2;
begin
Status('looking for altar');
retry2:
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
If FindObj(X, Y, 'ruins', 5266277, 5) Then
begin
FindFastRandoms;
Mouse(x, y, 0, 0,True);
Wait(150 + Random(350));
ChooseOption('Enter');
flag;
wait(2000+random(1000))
end else
if (RadialToleranceWalk(6191403, 190, 160, 60, 0, 0, 30))then
begin
goto retry2;
end
end
end;
{------------------------------------------------------------------------------}
{ craft and tele back }
{------------------------------------------------------------------------------}
procedure CraftAndTele;
var
x,y :integer;
begin
Status('craft and teleback');
SendArrowWait(1,20);
PerfectNorth;
wait(2500+random(500))
RadialWalk(watercolor, 90, 100, 10, -40, -16);
begin
If FindObj(X, Y, 'raft', 5659999, 30) Then
begin
FindFastRandoms;
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))
FindFastRandoms;
end;
end;
end;
Wait(1500+random(400))
begin
findwatercolor;
RadialWalk( watercolor , 120, 85, 70, 0, 0);
flag;
Wait(800+random(200))
begin
If FindObj(X, Y, 'ortal', 13942453, 30) Then
begin
wait(500)
Mouse(x,y,0,0,true)
Wait(500+random(200))
flag;
if(IsUpText('port'))then
begin
FindFastRandoms;
Wait(1000+random(200))
GetMousePos(x,y)
Writeln('teleporting ')
flag;
wait(2000+random(500))
end;
end;
end;
end;
end;
{------------------------------------------------------------------------------}
{ walk to bank }
{------------------------------------------------------------------------------}
procedure walktobank;
var
x,y,rx,ry,bank: integer;
begin
PerfectNorth;
Status('wakling to bank');
Wait(1000+random(200))
WriteLn('waiting');
flag;
if (RadialToleranceWalk(8097104, 270, 360, 70, 1, 1, 30)) then
begin
WriteLn('step 1')
flag;
end else
begin
findwatercolor;
if (RadialWalk( watercolor , 0, 30, 30, 0, 0)) then
begin
If FindObj(X, Y, 'ortal', 13942453, 30) Then
begin
wait(500)
Mouse(x,y,0,0,true)
Wait(500+random(200))
flag;
if(IsUpText('port'))then
begin
Wait(1000+random(200))
GetMousePos(x,y)
Writeln('teleporting ')
flag;
wait(2000+random(500))
begin
if (RadialToleranceWalk(8097104, 310, 360, 65, 1, 1, 30)) then
begin
WriteLn('step 1')
flag;
end;
end;
end;
end;
end else
begin
writeln('lost in water altar')
Logout;
Players[CurrentPlayer].Active := False;
exit;
end;
end;
if RadialToleranceWalk(8097104, 270, 345, 50, 1, 1, 30) then
begin
WriteLn('step 2');
flag;
end;
if (RadialToleranceWalk(8097104, 270, 360, 53, 1, 1, 30))then
begin
WriteLn('step 3');
flag;
end;
if (RadialToleranceWalk(8097104, 65, 95, 25, -80, 0, 30))then
begin
WriteLn('step 4');
flag;
end else
if (RadialToleranceWalk(8097104, 65, 95, 25, -80, 0, 30))then
begin
SendArrowWait(1,40);
if (RadialToleranceWalk(8097104, 73, 90, 20, -80, 0, 30))then
WriteLn('step 4');
flag
end else
begin
writeln('minimap rotated to much, gonna refresh')
refreshMM;
writeln('refreshed minimap')
if (RadialToleranceWalk(8097104, 73, 90, 20, -80, 0, 30))then
WriteLn('step 4');
flag;
end
findwatercolor;
if RadialWalk(watercolor,360, 270, 70, 1, 1) then
begin
WriteLn('step 5');
flag;
end;
if RadialWalk(watercolor,180, 210, 20, -30, -40) then
begin
WriteLn('step 6');
flag;
end;
findroadcolor;
SetRun(true);
if RadialroadWalk(roadcolor, 360, 270, 66, 1, 1) then
begin
WriteLn('step 7');
flag;
end;
if RadialroadWalk(roadcolor, 270, 370, 63, 1, 1) then
begin
WriteLn('step 8');
flag;
end;
if RadialroadWalk(roadcolor, 270, 370, 40, -15, 0) then
begin
WriteLn('step 9');
flag;
end;
begin
Bank := (GetSymbolColorin(rx, ry,'bank', MMX1, MMY1, MMX2, MMY2))
end
begin
if RadialWalk(bank , 270, 360, 70, -2, -2) then
begin
writeln('walking to bank')
Wait(12000 + Random(1000));
end else
begin
walktobanker;
SetRun(true);
end;
loadsNum:=trips+1;
trips :=trips+1;
end;
end;
{------------------------------------------------------------------------------}
{ mainloop }
{------------------------------------------------------------------------------}
begin
cleardebug;
SetUpSRL;
DeclarePlayers;
LoginPlayer;
HighestAngle;
loadsNum:=0;
Repeat
MakeCompass('W')
MakeCompass('N')
bank1;
walktoaltar;
findaltar;
craftandtele;
walktobank;
if (loadsNum = loads) then
begin
NextPlayer(True);
loadsNum := 0;
Writeln('Switched players successfully! :)');
end;
report;
Until(false);
end.——————————————————
<!– END TEMPLATE: formanswers –>