SRL Archive - Archive

zasz - SRL Member Application Form


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

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 –>

Blumblebee

2008-10-11 14:20:46

you left you user and pass in the script dude!

Edit: I like the look of the script, although alot of the script could be shortened. Instead of writing walktotile a billion times, why not make a loadpath and a walkpath function? just shortens code and makes it look more efficent, I dont really like how much you rely of reflection either, you have no color backup, and the only color part of your script is the abyss finder by wizzup, which seems to me like you dont really know color too well. None the less its a good script, but I will refrain from voting atm, as Im no the fence with my decision.

Best of Luck to you,

-Blumblebee

PvH

2008-10-11 14:21:02

Hmm..
I'm sorry.. its a no from me..
You don't have much failsafes..
What if it can't find the object?
It will do the next thing.. which will also result false:p
I also see credits in abbays random and antiban..
Abbays is hard to do.. so I won't think of that.. but Antiban.. you could've done that yourself;)
And it is reflection only..
Which isn't very hard to script..
Sorry man,
Good luck…

PvH

noidea

2008-10-11 14:26:19

It is entirely Reflection, except for the 50% of your script that is by other people. I really like to see entire colour based scripts. It is very, very, good. It just needs more colour functions, and no reflection in my opinion. Note I didn't vote, I'm just giving pointers.

Edit: Yes I am going to vote, sorry mate.

ZaSz

2008-10-11 14:30:53

PvH in a way the detectentrance is antiban. It will choose a random ess place.

Edit: Failsafes. If door to aubury = close then script = open.

Naum

2008-10-11 14:39:57

Well use cases for your direction procedure, it's a no sorry - anyone can make reflection scripts.

boberman

2008-10-11 15:30:10

Half of this script is written by other people. Sorry but you need to write your own script (functions and all) not just steal them. Modifying existing functions is fine IMO, but just taking them completely won't get you in.

No from me.

TravisV10

2008-10-11 15:38:41

No for reasons stated.

Laur€ns

2008-10-11 16:12:00

* DTMs / DDTMs No.
* Decent complex working script. Reflection &#8800; complex
* FailSafes Check!
* MultiPlayer Check!
* Break out of potential endless loopsCheck!
* Standards! Required to get people read your script. [Check!]
* RadialWalk / DTM Walking No.

If this was coulourbased, you would get in. But reflection is eazy, so no.

Magiic

2008-10-11 16:42:16

no from me also for reasons stated but gl dude your doing ok but colour is what is favoured in these apps, either that or failsafed with colour

Negaal

2008-10-13 12:34:55

Yes, dudes, be more positive..

ZephyrsFury

2008-10-14 06:32:45

I vote yes based on your helpfulness at the forums. I think you deserve SRL membership.

EDIT: Accidentally voted No, could a mod or admin please change if needed. Sorry zasz. :(

Gu3st...

2008-10-14 07:01:13

Can't you guys see that he will learn?

The scripting is not that bad, and his attitude is great!
Yes!

Didn't you guys read fawk's post?

EDIT: And you remember that he said attitude and willing to learn shall count more than the script?

Bonfield

2008-10-14 07:54:49

i did read fawkis post but alot of the script os from other people also what has been created by zasz is too simple i agree that he has the right attitude and is active in the community but is lacking some scripting knowledge at the moment , so sorry its a no from me but keep learning and u will become a member

Nava2

2008-10-14 15:03:52

Nope, more failsafes please.

You need to do some color too. :(

Cheers, quick fixes and you are in ;)

NiCbaZ

2008-10-15 01:42:50

Sorry No, learn some more stuff like , TPA's , array, for loops , DDTMS, i see your learning but not quite gd enough yet.

nielsie95

2008-10-15 16:56:18

It seems like you're not getting in, sorry.
You may try again in two weeks.
Closed.