ZaSz
2008-10-11 14:14:50
<!– BEGIN TEMPLATE: formanswers –>
zasz - SRL Member Application Form
zasz
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Some Php,Html, learning more
Other Communitys
ZaszMedia
How Long have You Played Runescape
4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I always liked making scripts its a fun past time. I have my own website, which i am working on so i get more people to get to go to. I have been here a year now. But i took a little break for a few months.
(the script below is reflection) I made the script for 1 person can use more but wont proggie right
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
zasz - SRL Member Application Form
zasz
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Some Php,Html, learning more
Other Communitys
ZaszMedia
How Long have You Played Runescape
4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I always liked making scripts its a fun past time. I have my own website, which i am working on so i get more people to get to go to. I have been here a year now. But i took a little break for a few months.
(the script below is reflection) I made the script for 1 person can use more but wont proggie right
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program EMIV;
{.include SRL/SRL/misc/smart.scar}
{.include SRL\SRL.Scar}
{.include SRL/SRL/reflection/reflection.scar}
var
mlocation,loadsdone,currentlvl,startlvl: string;
ldone,i,x,y :integer;
me,teleport: boolean;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; //Number of Players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '337';
Players[0].Integers[0] := 5; // loads to do until log
Players[0].Pin:= '0000'; // this is if u have a bank pin
Players[0].Active:= True;
end;
procedure progress;
begin
cleardebug;
writeln('Welcome EMIV - Essence Miner!');
writeln(Players[0].Nick +': | Started with ' + startlvl +'| Current: '+currentlvl+'.| loads done:'+ loadsdone);
end;
Function FindNPCEx(Var x, y: Integer; TheName: String): Boolean;
Var
Name: Array Of TNPC;
i: Integer;
Begin
If Not LoggedIn Then Exit;
Name := SortNPCs(GetNPCsByName(TheName));
For i := 0 To High(Name) Do
If Name[i].MS.X <> 0 Then
Begin
x := Name[i].MS.X;
y := Name[i].MS.Y;
Result := True;
Exit;
End;
End;
function ClickObject(id,xneg,yneg :integer; left: boolean): boolean; //creds to shady? Modified a little by me.
var
xx : TPoint;
begin
if FindObject(xX,id) then
begin
Result:= True;
XX:= TileToMS(XX, 0);
Mouse(xx.x - xneg, xx.y - yneg, 2, 2, Left);
Wait(30 + Random(10));
end;
end;
Function ScanMiniMap(iFrom, iTo, Distance: Integer): Integer; // Creds to WIZZUP?
// Old Code. Still works.
Var
I, iX,iY: Integer;
Begin
For I := iFrom To ITo Do
Begin
iX := Round(Distance * Sin(I * Pi / 180)) + MMCX;
iY := Round(-Distance * Cos(I * Pi / 180)) + MMCY;
If GetColor(iX, iY) = 65536 Then
Begin
Result := Result + 1;
End;
End;
End;
Function InAbyss: Boolean; // Creds to WIZZUP?
// Old Code. Still works.
Var
A : Integer;
Begin
Result := False;
A := ScanMiniMap(0, 359, 50);
WriteLn('In Abyss gave '+IntToStr(A)+'.');
If A = 360 Then
Begin
WriteLn('We are in the Abyss random.');
Result := True;
End
End;
Function GuessAbyssRandom: Boolean; // Creds to WIZZUP?
// Old Code. Still works.
Var
AbyssalMark, iX, iY, I, ChosenColor, Tol, Tries: Integer;
WeirdColors: Array Of Integer;
Operate: TPoint;
Begin
WriteLn('In GuessAbyssRandom');
WeirdColors := [13751777, 4953873, 2509833];
Repeat
Case Random(4) Of
0: Begin Operate.X := 252; Operate.Y := 150; End;
1: Begin Operate.X := 278; Operate.Y := 170; End;
2: Begin Operate.X := 238; Operate.Y := 200; End;
3: Begin Operate.X := 215; Operate.Y := 166; End;
End;
For I := 0 To 2 Do
Begin
Tol := 0;
Repeat
Tol := Tol + 1;
iX := MSCX;
iY := MSCY;
If FindColorSpiralTolerance(iX, iY, WeirdColors[I], MSX1, MSY1, MSX2, MSY2, Tol) Then
Begin
ChosenColor := WeirdColors[I];
If (Distance (iX, iY, MSCX, MSCY) < 120) Then Break;
End;
If ChosenColor <> 0 Then
Break;
Until Tol > 9;
End;
If ChosenColor <> 0 Then
Begin
MMouse(iX, iY, 0, 0);
Wait(100);
If IsUpText('perate') Then
Begin
GetMousePos(iX, iY);
Mouse(iX, iY, 0, 0, True);
End;
End;
Wait(5000+Random(500));
If Not InAbyss Then
Begin
Result := True;
Wait(1000);
ClickToContinue;
SRLRandomsReport;
Exit;
End;
Tries := Tries + 1;
If TimeFromMark(AbyssalMark) > 60000 * 5 Then Break;
Until Tries > 30;
Tries := 0;
If InAbyss Then
Begin
Repeat
Case Random(4) Of
0: Begin Operate.X := 252; Operate.Y := 150; End;
1: Begin Operate.X := 278; Operate.Y := 170; End;
2: Begin Operate.X := 238; Operate.Y := 200; End;
3: Begin Operate.X := 215; Operate.Y := 166; End;
End;
iX := Operate.X;
iY := Operate.Y;
If FindColorSpiralTolerance(iX, iY, 3393, MSX1, MSY1, MSX2, MSY2, Tol)
Or FindColorSpiralTolerance(iX, iY, 2040150, MSX1, MSY1, MSX2, MSY2, Tol) Then
Begin
If (Distance (iX, iY, MSCX, MSCY) < 80) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(100);
If IsUpText('perate') Then
Begin
GetMousePos(iX, iY);
Mouse(iX, iY, 0, 0, True);
Wait(5000+ Random(500));
If Not InAbyss Then
Begin
Result := True;
ClickToContinue;
SRLRandomsReport;
Exit;
End;
End;
End;
End;
Tries := Tries + 1;
Tol := Tol + 2;
If Tol > 20 Then Tol := 2;
Until Tries > 50;
End;
LogOut;
Players[CurrentPlayer].Loc := 'Abyss';
SRLRandomsReport;
WriteLn('Abyss Random Event Failed.');
End;
Procedure FindRandoms;
begin
If Not LoggedIn then Exit;
FindNormalRandoms;
If FindNPCChatText('ongratul', Nothing) then
begin
ClickContinue(True, true);
Writeln('GAINED A LEVEL');
end;
If FindFight then
begin
RunAway('e', false, 1, 7000 +random(2500));
end;
end;
Procedure Antiban; //NOT MINE
begin
if Not LoggedIn then Exit;
case random(68) of
0,1: FindRandoms;
4: RandomMovement;
6,7,8,9: MMouse(Random(500), Random(500), 50, 50);
9: begin
GameTab(1 +random(13));
Wait(500 +random(500));
GameTab(4);
end;
10,11: HoverSkill('mining', false);
12,13: RandomRClick;
17,18: BoredHuman;
19,22,55: MouseSpeed:= 5 +Random(10);
44,33,66,68: begin
clickobject(2491,-25,50,false);
chooseoption('amine');
end;
end;
end;
procedure bank;
begin
gametab(4);
clickobject(83,0,0,false);
chooseoption('uick');
wait(2000);
If PinScreen then
InPin(Players[CurrentPlayer].Pin);
wait(1000);
If BankScreen then
for I:= 1 to 28 do
begin
if ExistsItem(I) then
begin
MouseItem(I, false);
Wait(250 +random(200));
ChooseOption('All');
end;
end;
wait(500+random(1000));
CloseBank;
end;
procedure walktomines;
begin
WalkToTile(Point(3254, 3427), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3262, 3419), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3258, 3407), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3253, 3398), 2, 2)
flag;
wait(500+random(500));
clickobject(24381,0,20,false);
chooseoption('pen');
flag;
wait(500+random(500));
WalkToTile(Point(3253, 3400), 2, 2)
flag;
wait(500+random(500));
repeat
If FindNPCEx(x, y, 'Aubury') Then
Begin
Mouse(x, y, 4, 4, false);
chooseoption('port');
teleport := true;
End;
wait(2000+random(500));
If FindNPCEx(x, y, 'Aubury') Then
Begin
Mouse(x, y, 4, 4, false);
chooseoption('port');
teleport := true;
End;
until teleport;
teleport := false;
flag;
wait(5000+random(2000));
If InAbyss Then
GuessAbyssRandom;
wait(2000+random(2000));
end;
procedure walktobank;
begin
wait(500+random(500));
WalkToTile(Point(3253, 3400), 2, 2)
flag;
wait(500+random(500));
clickobject(24381,0,20,false);
chooseoption('pen');
flag;
wait(500+random(500));
WalkToTile(Point(3253, 3398), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3258, 3407), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3262, 3419), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3254, 3427), 2, 2)
flag;
wait(500+random(500));
WalkToTile(Point(3254, 3420), 2, 2)
flag;
wait(500+random(580));
end;
procedure detectentrence;
begin
If WalkToTile(Point(2910, 4832), 2, 2) then
begin
mlocation := 'center';
flag;
end;
If not(mlocation = 'center') then
begin
If WalkToTile(Point(2924, 4852), 2, 2) then
begin
WalkToTile(Point(2924, 4852), 2, 2) // start NE
WalkToTile(Point(2923, 4846), 2, 2)
WalkToTile(Point(2914, 4837), 2, 2)
WalkToTile(Point(2911, 4831), 2, 2) // end in center
mlocation := 'center';
end;
end;
If not(mlocation = 'center') then
begin
If WalkToTile(Point(2932, 4818), 2, 2) then
begin
WalkToTile(Point(2932, 4818), 2, 2) // start SE
WalkToTile(Point(2926, 4818), 2, 2)
WalkToTile(Point(2919, 4822), 2, 2)
WalkToTile(Point(2911, 4830), 2, 2) // end in center
mlocation := 'center';
end;
end;
If not(mlocation = 'center') then
begin
If WalkToTile(Point(2890, 4849), 2, 2) then
begin
WalkToTile(Point(2890, 4849), 2, 2) // start NW
WalkToTile(Point(2898, 4843), 2, 2)
WalkToTile(Point(2903, 4840), 2, 2)
WalkToTile(Point(2910, 4832), 2, 2) // end in center
mlocation := 'center';
end;
end;
If not(mlocation = 'center') then
begin
If WalkToTile(Point(2892, 4814), 2, 2) then
begin
WalkToTile(Point(2892, 4814), 2, 2) // start SW
WalkToTile(Point(2896, 4817), 2, 2)
WalkToTile(Point(2902, 4821), 2, 2)
WalkToTile(Point(2911, 4829), 2, 2) // end in center
mlocation := 'center';
end;
end;
if mlocation = 'center' then
begin
case (1+random(3)) of
1: begin
mlocation := 'NW';
writeln(mlocation);
WalkToTile(Point(2905, 4840), 2, 2)
flag;
WalkToTile(Point(2896, 4846), 2, 2)
flag;
end;
2: begin
mlocation := 'SW';
writeln(mlocation);
WalkToTile(Point(2903, 4822), 2, 2)
flag;
WalkToTile(Point(2896, 4817), 2, 2)
flag;
WalkToTile(Point(2894, 4811), 2, 2)
flag;
end;
3: begin
mlocation := 'NE';
writeln(mlocation);
WalkToTile(Point(2918, 4839), 2, 2)
flag;
WalkToTile(Point(2924, 4848), 2, 2)
flag;
end;
4: begin
mlocation := 'SE';
writeln(mlocation);
WalkToTile(Point(2917, 4823), 2, 2)
flag;
WalkToTile(Point(2926, 4817), 2, 2)
flag;
WalkToTile(Point(2926, 4814), 2, 2)
flag;
end;
end;
end;
end;
Function IsMining: Boolean;
var
Me: TMe;
begin
Result:= InRange(Me.Animation, 600, 900) or (Me.Animation = 6754);
end;
procedure mineess;
begin
repeat
clickobject(2491,-25,50,false);
chooseoption('ine');
flag;
Wait(7500 +random(5000));
FindRandoms;
wait(200+random(500));
while IsMining do
begin
FindRandoms;
Wait(500 +random(750));
antiban;
end;
until invfull;
if mlocation = 'NW' then
begin
WalkToTile(Point(2886, 4849), 2, 2)
flag;
wait(500+random(1000));
wait(1000+random(500));
clickobject(2492,0,0,false);
wait(300+random(500));
chooseoption('se');
flag;
wait(5000+random(1000));
end;
if mlocation = 'SW' then
begin
WalkToTile(Point(2890, 4813), 2, 2)
flag;
wait(500+random(1000));
wait(1000+random(500));
clickobject(7389,0,0,false);
wait(300+random(500));
chooseoption('se');
flag;
wait(5000+random(1000));
end;
if mlocation = 'NE' then
begin
WalkToTile(Point(2931, 4854), 2, 2)
flag;
wait(500+random(1000));
wait(1000+random(500));
clickobject(2492,0,0,false);
wait(300+random(500));
chooseoption('se');
flag;
wait(5000+random(1000));
end;
if mlocation = 'SE' then
begin
WalkToTile(Point(2933, 4816), 2, 2)
flag;
wait(500+random(1000));
wait(1000+random(500));
clickobject(7389,0,0,false);
wait(300+random(500));
chooseoption('se');
flag;
wait(5000+random(1000));
end;
end;
procedure login;
begin
loginplayer;
setrun(true);
setangle(true);
end;
procedure script;
begin
startlvl := (IntToStr(getskilllevel('mining'))+' mining.') ;
Writeln('Starting with ' +startlvl);
progress;
repeat
repeat
Bank;
walktomines;
wait(600+random(500));
detectentrence;
mineess;
walktobank;
bank;
currentlvl := (IntToStr(getskilllevel('mining'))+' mining.') ;
ldone := ldone + 1;
loadsdone := inttostr(ldone);
progress;
until ldone = Players[currentplayer].Integers[0];
if HowManyPlayers > 1 then
begin
nextplayer(true);
me := true;
end;
until me = false;
logout;
end;
begin
setupsrl;
SmartSetup('world113', True, true, False);
SetTargetDC(SmartGetDC);
cleardebug;
declareplayers;
login;
cleardebug;
script;
end.——————————————————
<!– END TEMPLATE: formanswers –>