Seroko
2008-09-06 02:31:01
Seroko - SRL Member Application Form
Seroko
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
C++, PHP (How is this a programming language?), Minor Java (2 years of college)
Other Communitys
How Long have You Played Runescape
I have played ON AND OFF since original runescape.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have programmed using c++ for several different tasks ranging from dll injections and packet reading to captcha breaking and OCR. I also have done a lot of data mining php scripts. Took 2 years of java, still don't feel familiar enough with it.
Have been scripting for myself using scar for a long time, progressing a long ways since my noob days, mostly script for the enjoyment of seeing it work, since I rarely bot myself, enjoying the challenges of requests, and I plan to start posting all my scripts for the public starting with the one I include with this.
RL Name: Ian
Age: 19
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{ ---------------------------------------------------------------------------- ]
[ _______. _ ]
[ / ____/ ___________ ____ / | /\ ____ ]
[ \____ \ / __ \_ __ \ / \ | |/ / / \ ]
[ / \ ___/| | \/( () )| < ( () ) ]
[ /______ /\___ \|__| \____/ |_|\ \ \____/ ]
[ \/ \/ \/ ]
[ Edgeville Yews ]
[ ---------------------------------------------------------------------------- ]
[ ..:: Description ::.. ]
[ ---------------------------------------------------------------------------- ]
[ Cuts and banks yews at Edgeville using reflection and SRL ]
[ ---------------------------------------------------------------------------- ]
[ ..:: Setup Instructions ::.. ]
[ ---------------------------------------------------------------------------- ]
[ o Equip an axe, or have it in your first inventory slot ]
[ o Log out at the Edgeville yews, or close to them ]
[ ---------------------------------------------------------------------------- ]
[ Script by: Seroko ]
[ Please email Progress Reports, Bugs and Suggestions to [email]seroko@gmail.com[/email] ]
[ ---------------------------------------------------------------------------- }
program SerokoEdgevilleYews;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/reflection/reflection.scar}
type TreesRec = record
x: Integer;
y: Integer;
end;
var
Banked, EntsAv, EV: Integer;
Tree: array of TreesRec;
const
VerNumber = '0.1';
{ ---------------------------------------------------------------------------- }
MySRLID = '';
MySRLPassword = '';
Members = 'Yes';
{ ---------------------------------------------------------------------------- }
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
CurrentPlayer := 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Pin :='';
Players[0].integers[0] := 10; { Number of sets to bank }
Players[0].Active:=True;
end;
Procedure DeclareTrees;
begin
SetLength(Tree, 2);
Tree[0].x := 3086;
Tree[0].y := 3469;
Tree[1].x := 3086;
Tree[1].y := 3481;
end;
Procedure FindRandoms;
Begin
if(not(LoggedIn))then Exit;
FindNormalRandoms;
if FindFight then
Begin
RunAway('n', True, 1, (22000+Random(5000)));
end;
end;
Procedure AntiBan;
Begin
if(not(LoggedIn))then Exit;
case Random(200) of
0: HoverSkill('Woodcutting', false);
1: HoverSkill('Strength', false);
2: HoverSkill('Firemaking', false);
3: HoverSkill('Fletching', false);
4: Wait(1000+Random(2000));
5: PickUpMouse;
6: HoverSkill('random', False);
7: RandomRClick;
8, 16: BoredHuman;
9, 20, 45, 100: Begin
MakeCompass('N');
Wait(150+random(25));
MakeCompass('S');
Wait(150+random(25));
MakeCompass('N');
end;
10, 19: PickUpMouse;
11, 13, 14, 15: RandomRClick;
20: GameTab(8);
end;
GameTab(4);
end;
procedure ProgressReport;
begin
SRLRandomsReport;
Writeln('-----------------------------------------------');
Writeln(' _______. _ ');
Writeln(' / ____/ ___________ ____ / | /\ ____ ');
Writeln(' \____ \ / __ \_ __ \ / \ | |/ / / \ ');
Writeln(' / \ ___/| | \/( () )| < ( () ) ');
Writeln('/______ /\___ \|__| \____/ |_|\ \ \____/ ');
Writeln(' \/ \/ \/ ');
Writeln(' Ver '+VerNumber+' Edgeville Yews ');
Writeln('-----------------------------------------------');
Writeln(' o Ran for '+TimeRunning);
Writeln(' o Sets banked: '+IntToStr(Banked));
Writeln(' o Ents Avoided: '+IntToStr(EntsAv));
Writeln('-----------------------------------------------');
SendSRLReport;
end;
function TreeIsUp(TreeNum: Integer): Boolean;
var
O: UID;
begin
O := GetObjectAt(Tree[TreeNum].x+1, Tree[TreeNum].y);
Result := False;
FindRandoms;
AntiBan;
if O.objType=7402 then
begin
Result := False;
Exit;
end;
if O.objType=1309 then
begin
Result := True;
if(EV>0) then
begin
EV := 0;
Inc(EntsAv);
Inc(ReportVars[1]);
end;
Exit;
end;
if O.objType=778 then
begin
Writeln('Ent found!');
Inc(EV);
end;
end;
function ChopTree(TreeNum: Integer): Boolean;
var
TreePos: TPoint;
begin
if not(TileOnMS(IntToPoint(Tree[TreeNum].x, Tree[TreeNum].y), 0)) then
begin
WalkToTile(IntToPoint(Tree[TreeNum].x+1, Tree[TreeNum].y), 0, 0);
Wait(100+Random(50));
end;
if TileOnMS(IntToPoint(Tree[TreeNum].x, Tree[TreeNum].y), 20) then
begin
TreePos := TileToMS(IntToPoint(Tree[TreeNum].x, Tree[TreeNum].y), 20);
Wait(100+Random(250));
Mouse(TreePos.X, TreePos.Y, 5, 5, False);
Wait(100+Random(80));
Result := ChooseOption('hop');
Exit;
end;
Result := False;
end;
procedure DepositAllS(InvSlot: Integer);
var
x, y: Integer;
begin
Wait(50+Random(100));
MMouseItem(InvSlot);
GetMousePos(x, y);
Wait(25+Random(50));
Mouse(x, y, 0, 0, False);
Wait(300+Random(100));
ChooseOption('osit-Al')
Wait(500+Random(200));
end;
Procedure CheckForRandItems;
var
i, x, y: Integer;
begin
for i := 2 To 28 Do
Begin
If ExistsItem(i) then
begin
MMouseItem(i);
Wait(25+Random(50));
GetMousePos(x, y);
Wait(25+Random(50));
Mouse(x, y, 0, 0, False);
Wait(300+Random(100));
ChooseOption('osit-Al')
Wait(500+Random(200));
end;
end;
end;
Procedure WalkToBank;
begin
Wait(50+Random(100));
WalkToTile(Point(3092+Random(2), 3494-Random(2)), 0, 0);
Wait(50+Random(100));
end;
Procedure WalkTowardYews;
begin
Wait(50+Random(100));
WalkToTile(Point(3092+Random(2), 3480+Random(2)), 0, 0);
Wait(50+Random(100));
end;
Procedure WalkToYews;
begin
WalkToTile(Point(3087, 3476), 0, 0);
Wait(50+Random(120));
end;
procedure OpenBankEB;
var
p: TPoint;
opened: Boolean;
begin
opened := BankScreen; // Banks not opened
if(not(opened)) or (PinScreen) then
begin
case Random(2) of
0: begin
p := TileToMS(Point(3097, 3495), 20);
Mouse(p.x, p.y, 5, 5, False);
Wait(300 + Random(100));
opened := ChooseOption('e-q');
Wait(100 + Random(100));
end;
1: begin
p := TileToMS(Point(3095, 3491), 20);
Mouse(p.x, p.y, 5, 5, False);
Wait(300 + Random(100));
opened := ChooseOption('e-q');
Wait(100 + Random(100));
end;
end;
end;
Wait(1000 + Random(800));
if(not(opened)) or (PinScreen) then
begin
OpenBankFast('eb');
end;
Wait(1000 + Random(1000));
if(not(opened)) or (PinScreen) then
begin
Wait(1000 + Random(1000));
end;
if PinScreen then
inPin(Players[CurrentPlayer].Pin);
end;
Procedure DepositYews;
begin
DepositAllS(28);
Inc(Banked);
Inc(ReportVars[0]);
Wait(50+Random(100));
CheckForRandItems;
end;
procedure Rechop(i: Integer);
begin
Case Random(35) of
7: ChopTree(i);
end;
end;
Procedure CutYews;
var
i: Integer;
begin
repeat
FindRandoms;
if TreeIsUp(i) then
begin
FindRandoms;
if ChopTree(i) then
begin
repeat
Wait(100+Random(50));
FindRandoms;
Wait(100+Random(50));
AntiBan;
ReChop(i);
until(not(TreeIsUp(i)) or InvFull);
Wait(100+Random(100));
WalkToYews;
end;
end;
Inc(i);
if i>=2 then
i := 0;
until(InvFull);
end;
Procedure MainLoop;
begin
repeat
CutYews;
WalkTowardYews;
WalkToBank;
FindRandoms;
OpenBankEB;
Wait(10+Random(50));
DepositYews;
ProgressReport;
WalkTowardYews;
WalkToYews;
until(Banked>=Players[CurrentPlayer].integers[0]);
NextPlayer(False);
end;
function RandomWorld: String;
begin
if (Members = 'no') or (Members = 'No') then
begin
case Random(73) of
0: Result:= 'world25';
1: Result:= 'world81';
2: Result:= 'world102';
3: Result:= 'world11';
4: Result:= 'world105';
5: Result:= 'world16';
6: Result:= 'world106';
7: Result:= 'world80';
8: Result:= 'world135';
9: Result:= 'world152';
10: Result:= 'world72';
11: Result:= 'world113';
12: Result:= 'world37';
13: Result:= 'world75';
14: Result:= 'world169';
15: Result:= 'world34';
16: Result:= 'world40';
17: Result:= 'world128';
18: Result:= 'world87';
19: Result:= 'world41';
20: Result:= 'world101';
21: Result:= 'world43';
22: Result:= 'world35';
23: Result:= 'world93';
24: Result:= 'world33';
25: Result:= 'world73';
26: Result:= 'world120';
27: Result:= 'world95';
28: Result:= 'world90';
29: Result:= 'world86';
30: Result:= 'world96';
31: Result:= 'world85';
32: Result:= 'world38';
33: Result:= 'world55';
34: Result:= 'world57';
35: Result:= 'world94';
36: Result:= 'world127';
37: Result:= 'world20';
38: Result:= 'world126';
39: Result:= 'world74';
40: Result:= 'world125';
41: Result:= 'world50';
42: Result:= 'world118';
43: Result:= 'world119';
44: Result:= 'world30';
45: Result:= 'world13';
46: Result:= 'world123';
47: Result:= 'world62';
48: Result:= 'world7';
49: Result:= 'world149';
50: Result:= 'world165';
51: Result:= 'world49';
52: Result:= 'world8';
53: Result:= 'world63';
54: Result:= 'world21';
55: Result:= 'world136';
56: Result:= 'world19';
57: Result:= 'world109';
58: Result:= 'world153';
59: Result:= 'world161';
60: Result:= 'world14';
61: Result:= 'world150';
62: Result:= 'world163';
63: Result:= 'world167';
64: Result:= 'world154';
65: Result:= 'world108';
66: Result:= 'world61';
67: Result:= 'world29';
68: Result:= 'world47';
69: Result:= 'world134';
70: Result:= 'world107';
71: Result:= 'world155';
72: Result:= 'world32';
end;
end;
if (Members = 'yes') or (Members = 'Yes') then
begin
case Random(75) of
0: Result:= 'world84';
1: Result:= 'world92';
2: Result:= 'world71';
3: Result:= 'world129';
4: Result:= 'world83';
5: Result:= 'world82';
6: Result:= 'world23';
7: Result:= 'world143';
8: Result:= 'world54';
9: Result:= 'world130';
10: Result:= 'world100';
11: Result:= 'world45';
12: Result:= 'world60';
13: Result:= 'world44';
14: Result:= 'world46';
15: Result:= 'world97';
16: Result:= 'world59';
17: Result:= 'world78';
18: Result:= 'world99';
19: Result:= 'world36';
20: Result:= 'world103';
21: Result:= 'world98';
22: Result:= 'world104';
23: Result:= 'world77';
24: Result:= 'world58';
25: Result:= 'world88';
26: Result:= 'world39';
27: Result:= 'world91';
28: Result:= 'world116';
29: Result:= 'world115';
30: Result:= 'world79';
31: Result:= 'world114';
32: Result:= 'world164';
33: Result:= 'world89';
34: Result:= 'world76';
35: Result:= 'world132';
36: Result:= 'world22';
37: Result:= 'world69';
38: Result:= 'world27';
39: Result:= 'world68';
40: Result:= 'world168';
41: Result:= 'world121';
42: Result:= 'world67';
43: Result:= 'world28';
44: Result:= 'world166';
45: Result:= 'world124';
46: Result:= 'world70';
47: Result:= 'world66';
48: Result:= 'world48';
49: Result:= 'world64';
50: Result:= 'world12';
51: Result:= 'world56';
52: Result:= 'world133';
53: Result:= 'world156';
54: Result:= 'world162';
55: Result:= 'world111';
56: Result:= 'world117';
57: Result:= 'world145';
58: Result:= 'world137';
59: Result:= 'world65';
60: Result:= 'world138';
61: Result:= 'world42';
62: Result:= 'world110';
63: Result:= 'world151';
64: Result:= 'world148';
65: Result:= 'world26';
66: Result:= 'world159';
67: Result:= 'world51';
68: Result:= 'world112';
69: Result:= 'world160';
70: Result:= 'world15';
71: Result:= 'world131';
72: Result:= 'world52';
73: Result:= 'world158';
74: Result:= 'world157';
end;
end;
end;
procedure Setup;
begin
SetupSRL;
SmartSetup(RandomWorld, True, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
SRLID := MySRLID;
SRLPassword := MySRLPassword;
ScriptID := '997';
DeclarePlayers;
DeclareTrees;
end;
procedure SetupPlayer;
begin
SetAngle(True);
Wait(300+Random(700));
MakeCompass('N');
Wait(300+Random(700));
SetRun(True);
Wait(300+Random(700));
SetChat('friends', 2);
GameTab(4);
end;
procedure Intro;
begin
ClearDebug;
Status('Script Created by Seroko');
Writeln('-----------------------------------------------');
Writeln(' _______. _ ');
Writeln(' / ____/ ___________ ____ / | /\ ____ ');
Writeln(' \____ \ / __ \_ __ \ / \ | |/ / / \ ');
Writeln(' / \ ___/| | \/( () )| < ( () ) ');
Writeln('/______ /\___ \|__| \____/ |_|\ \ \____/ ');
Writeln(' \/ \/ \/ ');
Writeln(' Ver '+VerNumber+' Edgeville Yews ');
Writeln('-----------------------------------------------');
end;
begin
Intro;
Setup;
repeat
If(Not(LoggedIn)) then LoginPlayer;
Wait(1000+Random(1000));
SetupPlayer;
MainLoop;
until(false);
end.——————————————————
<!– END TEMPLATE: formanswers –>