SRL Archive - Archive

Wizkid - SRL Member Application


Wizkid

2011-07-24 13:16:25

How Long have You Played Runescape?
2 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
A guy at RSBuddy posted about this place!


What is your general programming knowledge?
Some Delphi, long time ago!


Are you a member of any other communities?
RsBuddy, RsBot


Tell us about yourself…
From: Wizkid
I'm Wizkid, I play chess and fool around with computer most of my spare time. For the last 4-6 months I've been around different runescape botting sites looking for scripts!

Got sick of RsBot when I was banned for asking questions, so I left to RsBuddy. Over at RsBuddy it feels like a sinking ship, it's all about $. Then I saw more and more posts about villavu, one user called Overtime(I think?).

So I started look into your include, as I figured your code looks somewhat like delphi I thought I give it a try.
From here I started to read up on your tutorials, which amazed me a bit, big amounts of tutorials compared to other communities!! and fast answers here on the forums.

I made two reflection scripts using reflection 2 and SRL. One is a ogre killer and the other is a stun alcher. I've been reading through both includes.

I would use multiplayer in my scripts, but I only have one account :(
However, I added a simple template which uses multiplayer!



Please show us one (or multiple) of your scripts.
program OgreKiller;
{$DEFINE SMART}
{$i srl\srl.scar}
{$i reflection\reflection.simba}
{$i srl\srl\skill\magic.scar}
{$i srl\srl\misc\reports.scar}

var
Form: TVariantArray;
MyForm : TForm;
Edits: Array [0..2] of TEdit;
List: TComboBox;
CBoxs: Array [0..1] of TCheckBox;
SArr: TStringArray;
BArr: TBooleanArray;
Terminate: Boolean;

Const
i_StartExp = 0;
i_CurExp = 1;
i_xpHour = 2;
i_xpToLvl = 3;
i_CurLvl = 5;
i_StartLvl = 6;
i_WorldSwitches = 7;

procedure OnStart(Sender : TObject);
var
Run: Boolean;
begin;
Run := True;

If Lowercase(List.Text) = 'lampskill' then
begin
Run := False;
Writeln('Choose a lampskill!');
end;

If (Edits[0].Text = '')or(Edits[1].Text = '')or(Edits[0].Text = 'Username')or(Edits[1].Text = 'Password')or(Edits[2].Text = 'World') then
begin
Run := False;
Writeln('Please fill in the form correctly!');
end;

If Run then
begin
SArr := [Edits[0].Text, Edits[1].Text, Edits[2].Text, List.Text];
BArr := [CBoxs[0].Checked, CBoxs[1].Checked];

WriteINI('userinfo', 'user', SArr[0], ScriptPath + 'wizform.ini');
WriteINI('userinfo', 'pass', SArr[1], ScriptPath + 'wizform.ini');

WriteINI('otherinfo', 'lampskill', SArr[3], ScriptPath + 'wizform.ini');

WriteINI('smartinfo', 'world', SArr[2], ScriptPath + 'wizform.ini');
WriteINI('smartinfo', 'member', BoolToStr(CBoxs[0].Checked), ScriptPath + 'wizform.ini');
WriteINI('smartinfo', 'signed', BoolToStr(CBoxs[1].Checked), ScriptPath + 'wizform.ini');

MyForm.ModalResult:= mrOk;
end;
end;

procedure OnExit(Sender : TObject);
begin;
MyForm.ModalResult:= mrOk;
Terminate := True;
end;

function FormInit: Boolean;
var
Button: Array [0..1] of TButton;
I: Integer;
tSArr: TStringArray;
begin;
Result := false;
MyForm := TForm.Create(nil);
MyForm.Width := 150;
MyForm.Height := 240;
MyForm.BorderStyle := bsSingle;
MyForm.Color := clWhite;
MyForm.Position := poDesktopCenter;

For I:=0 to 2 do
begin
Edits[I] := TEdit.Create(MyForm);
Edits[I].Parent := MyForm;
end;

For I:=0 to 1 do
Edits[I].SetBounds(20, 10+(I*35), 105, 30);

Edits[2].SetBounds(20, 90, 105, 30);
Edits[1].PasswordChar := '*';

List := TComboBox.Create(MyForm);
List.Parent := MyForm;
List.SetBounds(20, 180, 105, 25);
tSArr := ['Lampskill', 'Attack', 'Strength', 'Defence', 'Range', 'Magic', 'Hitpoints',
'Prayer', 'runecrafting', 'Agility', 'Herblore', 'Theiving', 'Crafting',
'Fletching', 'Slayer', 'Mining', 'Smithing', 'Fishing', 'Cooking',
'Firemaking', 'Woodcutting', 'Farming', 'Construction', 'Hunter', 'Summoning'];
For I:=0 to High(tSArr)do
List.ITEMS.Add(tSArr[I]);

For I:=0 to 1 do
begin
CBoxs[I] := TCheckBox.Create(MyForm);
CBoxs[I].Parent := MyForm;
CBoxs[I].SetBounds(32, 115+(22*I), 25, 25);
end;
CBoxs[0].Caption := 'Members';
CBoxs[1].Caption := 'Signed';

For I:=0 to 1 do
begin
Button[I] := TButton.Create(MyForm);
Button[I].Parent := MyForm;
Button[I].SetBounds(25+(I*50), 213, 50, 25);
end;

Button[0].OnClick := @OnStart;
Button[0].Caption := 'Start';
Button[1].OnClick := @OnExit;
Button[1].Caption := 'Exit';

If ReadINI('userinfo', 'user', ScriptPath + 'wizform.ini') = '' then
begin
Edits[0].Caption := 'Username';
Edits[1].Caption := 'Password';
Edits[2].Caption := 'World';
List.Caption := 'Lampskill';
end else
begin
Edits[0].Caption := ReadINI('userinfo', 'user', ScriptPath + 'wizform.ini');
Edits[1].Caption := ReadINI('userinfo', 'pass', ScriptPath + 'wizform.ini');
Edits[2].Caption := ReadINI('smartinfo', 'world', ScriptPath + 'wizform.ini');
List.Caption := ReadINI('otherinfo', 'lampskill', ScriptPath + 'wizform.ini');

CBoxs[0].Checked := (ReadINI('smartinfo', 'member', ScriptPath + 'wizform.ini') = 'True');
CBoxs[1].Checked := (ReadINI('smartinfo', 'signed', ScriptPath + 'wizform.ini') = 'True');
end;

MyForm.ShowModal;
MyForm.Free;
end;

Procedure ShowForm;
begin
ThreadSafeCall('FormInit', Form);
end;

Procedure Setup;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := SArr[0];
Players[0].Pass := SArr[1];
Players[0].Active := True;

LampSkill := SArr[3];
end;

Function InArea: Boolean;
begin
Result := R_SelfInBox(IntToBox(2521, 3374, 2533, 3369));
end;

Procedure SwitchOgreWorld;
begin
ChangeWorld(RandomWorld(True, False));
Inc(Players[0].Integers[i_WorldSwitches]);
end;

Function IsCannonUp: Boolean;
var
Obj: TRSObject;
begin
Result := R_FindObject(6, OBJ_INTERACTABLE, 9, Obj);
end;

Procedure DealWithCannon;
begin
If IsCannonUp then
SwitchOgreWorld;
end;

Procedure Telegrab;
var
gItems: TGroundItemArray;
ItemIDs: TIntegerArray;
ItemNames: TStringArray;
I, H, Index: Integer;
P: TPoint;
begin
gItems := R_GetAllGroundItems(7);

If GetArrayLength(gItems) = 0 then
Exit;

ItemIDs := [987, 985, 5304, 5300, 5303, 5302, 5295];
ItemNames := ['Loop half', 'Tooth half', 'Torstol seed', 'Snapdragon seed', 'Dwarf weed seed', 'Lantadyme seed', 'Ranarr seed'];

H := High(gItems);
For I:=0 to H do
If InIntArrayEx(ItemIDs, Index, gItems[I].ID)then
begin
P := R_TileToMS(gItems[I].Tile, 0);

If Not Cast('telekinetic grab', False)then
Continue;

Mouse(P.X, P.Y, 2, 2, False);
WaitOption('-> ' + ItemNames[Index], 150+Random(140));
Wait(900+Random(1400));
end;

end;

Function Ranging: Boolean;
var
NPC: TNPC;
P: TPoint;
T: Integer;
begin
T := GetSystemTime + 2567;
repeat
wait(66)
if (R_GetAnimation > -1)then
Result := true;

until Result or (GetSystemTime > T);

end;

Function FindOgre(Hover: Boolean): Boolean;
var
NPCs: TNPCArray;
NPC: TNPC;
I: Integer;
P: TPoint;
begin
If Not LoggedIn then
Exit;

NPCs := R_GetNPCs('Ogre', False);
If (GetArrayLength(NPCs) = 0) then
Exit;

If (R_AreWeInteracting(NPC, False)and(Not Hover))then
P := R_TileToMSEx(NPC.Tile, 0, 0, 100+Random(400))
else
For I:=0 to High(NPCs)do
If (NPCs[I].HPRatio = 0)And(NPCs[I].Animation = -1) then
begin
P := R_TileToMSEx(NPCs[I].Tile, 0, 0, 100+Random(400));

Break;
end;

If (InRange(P.X, -5, 5))then
begin
MakeCompass(Random(361));
Exit;
end;

Mouse(P.X, P.Y, 7, 7, False);

If Not Hover then
Result := ChooseOption('ttack')
else
Result := R_MMouseMenu(['ttack']);

If Result then
Exit;
end;

Procedure AntiBan;
begin
If Not LoggedIn then
Exit;

Case Random(100)of
0: SleepAndMoveMouse(1000+Random(4000));
6..11: MakeCompass(Random(360));
12: GameTab(tab_Inv);
13..16: GameTab(tab_Stats);
end;
end;

Procedure FindFight;
var
I, iTime: Integer;
begin
Repeat
Inc(I);
Wait(100+Random(100));
Until(Not LoggedIn)or(I > 9)or(FindOgre(False));

iTime := GetSystemTime;
Repeat
Wait(100+Random(100));
If TimeFromMark(iTime) > 2800 then
Break;
Until(Ranging);
end;

Procedure WaitRanging;
var
Hover, ShouldHover: Boolean;
HPForHover, iTime: Integer;
NPC: TNPC;
begin
If Random(3) = 0 then
begin
HPForHover := 4+Random(8);
ShouldHover := True;
end;

Repeat
If ShouldHover then
If Not Hover then
If R_AreWeInteracting(NPC, False)then
If (NPC.HPRatio < 4+Random(20)) then
Hover := FindOgre(True);

If (Hover) then
begin
R_AreWeInteracting(NPC, False)
If NPC.HPRatio = 0 then
If WaitOption('ttack', 200+Random(50))then
begin
Hover := False;
HPForHover := 0;
If Random(3) = 0 then
begin
HPForHover := 4+Random(8);
ShouldHover := True;
end;

iTime := GetSystemTime;
Wait(4000+Random(2000));
end;
end;

Telegrab;

If Not Hover then
AntiBan;

If Not InArea then
R_FindRandoms;

ClickToContinue;
Until(Not Ranging);

If Hover then
If WaitOption('ttack', 200+Random(50))then
begin
Wait(2000+Random(1000));
WaitRanging;
end;


end;

Procedure PlayersAround;
var
OtherPlayers: array of TPlayer;
begin
OtherPlayers := R_GetAllPlayers;
If (Length(OtherPlayers) > 3)then
SwitchOgreWorld;
end;

Procedure SetupPlayer;
begin
SetAngle(True);
GameTab(tab_Inv);
If Not Players[0].Booleans[0] then
begin
Players[0].Booleans[0] := True;

Players[0].Integers[i_StartExp] := R_GetSkillExp(SKILL_Range);
Players[0].Integers[i_StartLvl] := R_GetSkillLevel(SKILL_Range);
end;
end;

Procedure Report;
var
I: Integer;
begin
Players[0].Integers[i_CurLvl] := R_GetSkillLevel(SKILL_Range);
Players[0].Integers[i_CurExp] := R_GetSkillExp(SKILL_Range);
Players[0].Integers[i_xpToLvl] := R_GetSkillExpToLevel(SKILL_Range);
Players[0].Integers[i_XpHour] := Round(((Players[CurrentPlayer].Integers[i_CurExp] - Players[CurrentPlayer].Integers[i_StartExp]) * 3600) div (GetTimeRunning div 1000));

SRLProgressReport(ResultDebugBox, 'OgreKiller', 'Wizkid', '0.2',
['Time running',
'Start level',
'Start XP',
'Gained level(s)',
'Gained XP',
'XP To level',
'XP/h',
'World switches'],
[MsToTime(GetTimeRunning, Time_Short),
Players[0].Integers[i_StartLvl],
Players[0].Integers[i_StartExp],
Players[0].Integers[i_CurLvl] - Players[0].Integers[i_StartLvl],
Players[0].Integers[i_CurExp] - Players[0].Integers[i_StartExp],
Players[0].Integers[i_xpToLvl],
Players[0].Integers[i_xpHour],
Players[0].Integers[i_WorldSwitches]]);
end;

begin
ShowForm;
If Terminate then
TerminateScript;

SMART_Members := BArr[0];
SMART_Server := StrToIntDef(SArr[2], -1);
SMART_Signed := BArr[1];

{Setup}
SetupSRL;
Setup;

If Not LoggedIn then {Make sure we login}
begin
LoginPlayerToLob;
ChangeWorld(RandomWorld(True, False));
end;



SetupPlayer;
Repeat
ClearDebug;
Report;

If Not LoggedIn then
begin
Writeln('Not LoggedIn');
NextPlayer(False);
SetupPlayer;
end;

PlayersAround;
DealWithCannon;
Telegrab;

If Not InArea then
begin
Writeln('Not in area!');
If Not R_TileOnMM(Point(2527, 3371))then
If Not r_FindRandoms then
LogOut;

end else
begin
FindFight;

If Ranging then
WaitRanging;
end;

Until(AllPlayersInactive);
end.


program Stunalcher;
{$DEFINE SMART}
{$i srl\srl.scar}
{$i reflection\reflection.simba}
{$i srl\srl\skill\magic.scar}
{$i srl\srl\misc\reports.scar}

var
Form: TVariantArray;
MyForm : TForm;
Edits: Array [0..3] of TEdit;
List: TComboBox;
CBoxs: Array [0..1] of TCheckBox;
SArr: TStringArray;
BArr: TBooleanArray;
Terminate: Boolean;
NPCName: String;

Const
i_StartExp = 0;
i_CurExp = 1;
i_xpHour = 2;
i_xpToLvl = 3;
i_CurLvl = 5;
i_StartLvl = 6;

procedure OnStart(Sender : TObject);
var
Run: Boolean;
begin;
Run := True;

If Lowercase(List.Text) = 'lampskill' then
begin
Run := False;
Writeln('Choose a lampskill!');
end;

If (Edits[0].Text = '')or(Edits[1].Text = '')or
(Edits[0].Text = 'Username')or(Edits[1].Text = 'Password')or
(Edits[2].Text = 'World')or(Edits[3].Text = '')or
(Edits[3].Text = 'NPC Name')then
begin
Run := False;
Writeln('Please fill in the form correctly!');
end;

If Run then
begin
SArr := [Edits[0].Text, Edits[1].Text, Edits[2].Text, List.Text, Edits[3].Text];
BArr := [CBoxs[0].Checked, CBoxs[1].Checked];

NPCName := SArr[4];

WriteINI('userinfo', 'user', SArr[0], ScriptPath + 'wizform.ini');
WriteINI('userinfo', 'pass', SArr[1], ScriptPath + 'wizform.ini');

WriteINI('otherinfo', 'lampskill', SArr[3], ScriptPath + 'wizform.ini');
WriteINI('otherinfo', 'npcname', SArr[4], ScriptPath + 'wizform.ini');

WriteINI('smartinfo', 'world', SArr[2], ScriptPath + 'wizform.ini');
WriteINI('smartinfo', 'member', BoolToStr(CBoxs[0].Checked), ScriptPath + 'wizform.ini');
WriteINI('smartinfo', 'signed', BoolToStr(CBoxs[1].Checked), ScriptPath + 'wizform.ini');

MyForm.ModalResult:= mrOk;
end;
end;

procedure OnExit(Sender : TObject);
begin;
MyForm.ModalResult:= mrOk;
Terminate := True;
end;

function FormInit: Boolean;
var
Button: Array [0..1] of TButton;
I: Integer;
tSArr: TStringArray;
begin;
Result := false;
MyForm := TForm.Create(nil);
MyForm.Width := 150;
MyForm.Height := 290;
MyForm.BorderStyle := bsSingle;
MyForm.Color := clWhite;
MyForm.Position := poDesktopCenter;

For I:=0 to 3 do
begin
Edits[I] := TEdit.Create(MyForm);
Edits[I].Parent := MyForm;
end;

For I:=0 to 1 do
Edits[I].SetBounds(20, 10+(I*35), 105, 30);

Edits[2].SetBounds(20, 90, 105, 30);
Edits[3].SetBounds(20, 130+(3*35), 105, 30);

Edits[1].PasswordChar := '*';

List := TComboBox.Create(MyForm);
List.Parent := MyForm;
List.SetBounds(20, 180, 105, 25);
tSArr := ['Lampskill', 'Attack', 'Strength', 'Defence', 'Range', 'Magic', 'Hitpoints',
'Prayer', 'runecrafting', 'Agility', 'Herblore', 'Theiving', 'Crafting',
'Fletching', 'Slayer', 'Mining', 'Smithing', 'Fishing', 'Cooking',
'Firemaking', 'Woodcutting', 'Farming', 'Construction', 'Hunter', 'Summoning'];
For I:=0 to High(tSArr)do
List.ITEMS.Add(tSArr[I]);

For I:=0 to 1 do
begin
CBoxs[I] := TCheckBox.Create(MyForm);
CBoxs[I].Parent := MyForm;
CBoxs[I].SetBounds(32, 115+(22*I), 25, 25);
end;
CBoxs[0].Caption := 'Members';
CBoxs[1].Caption := 'Signed';

For I:=0 to 1 do
begin
Button[I] := TButton.Create(MyForm);
Button[I].Parent := MyForm;
Button[I].SetBounds(25+(I*50), 263, 50, 25);
end;

Button[0].OnClick := @OnStart;
Button[0].Caption := 'Start';
Button[1].OnClick := @OnExit;
Button[1].Caption := 'Exit';

If ReadINI('userinfo', 'user', ScriptPath + 'wizform.ini') = '' then
begin
Edits[0].Caption := 'Username';
Edits[1].Caption := 'Password';
Edits[2].Caption := 'World';
Edits[3].Caption := 'NPC Name';
List.Caption := 'Lampskill';
end else
begin
Edits[0].Caption := ReadINI('userinfo', 'user', ScriptPath + 'wizform.ini');
Edits[1].Caption := ReadINI('userinfo', 'pass', ScriptPath + 'wizform.ini');
Edits[2].Caption := ReadINI('smartinfo', 'world', ScriptPath + 'wizform.ini');

Edits[3].Caption := ReadINI('otherinfo', 'npcname', ScriptPath + 'wizform.ini');
List.Caption := ReadINI('otherinfo', 'lampskill', ScriptPath + 'wizform.ini');


CBoxs[0].Checked := (ReadINI('smartinfo', 'member', ScriptPath + 'wizform.ini') = 'True');
CBoxs[1].Checked := (ReadINI('smartinfo', 'signed', ScriptPath + 'wizform.ini') = 'True');
end;

MyForm.ShowModal;
MyForm.Free;
end;

Procedure ShowForm;
begin
ThreadSafeCall('FormInit', Form);
end;

Procedure Setup;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := SArr[0];
Players[0].Pass := SArr[1];
Players[0].Active := True;

LampSkill := SArr[3];
end;

Procedure SetSpellbook;
begin
SetSpellMode(True, False, True, False);
end;

Procedure AntiBan;
begin
If Not LoggedIn then
Exit;

Case Random(100)of
0: SleepAndMoveMouse(1000+Random(4000));
6..11: MakeCompass(Random(360));
12:
begin
GameTab(tab_Inv);
Wait(200+Random(1000));
GameTab(tab_Magic);
end;
13..16:
begin
GameTab(tab_Stats);
Wait(200+Random(1000));
GameTab(tab_Magic);
end;
end;
end;

Function SelectStun: Boolean;
var
iTime: Integer;
begin
MarkTime(iTime);
Result := GetCurrentTab = tab_Magic;
If Not Result then
Repeat
Wait(100+Random(150));
If (TimeFromMark(iTime) > 7000)then
begin
Result := GameTab(tab_Magic);
Break;
end;
until(GetCurrentTab = tab_Magic);

If Result then
MouseBox(589, 341, 603, 354, 1);
end;

Function CastStun: Boolean;
var
NPC: TNPC;
P: TPoint;
begin
If Not LoggedIn then
Exit;

If R_FindNPC(NPCName, False, NPC)then
begin

While Not GetCurrentTab = Tab_Magic do
Wait(100+Random(100));

If Not SelectStun then
begin
R_FindRandoms;
Exit;
end;

P := R_TileToMS(NPC.Tile, Round(NPC.Height div 2));
MMouse(P.X, P.Y, 2, 2);

If R_WaitUpText(NPCName, 200+Random(100))then
begin
GetMousePos(P.X, P.Y);
Mouse(P.X, P.Y, 0, 0, True);
Result := True;
end;

end;
end;

Function StunAlch: Boolean;
var
P: TPoint;
begin
If Not LoggedIn then
Exit;

Result := CastStun;
If Result then
begin
MouseBox(610, 292, 629, 307, 1);
Wait(20+Random(200));
GetMousePos(P.X, P.Y);
Mouse(P.X, P.Y, 0, 0, True);
Wait(250+Random(200));
end;
end;

Procedure SetupPlayer;
begin
SetAngle(True);
SetSpellbook;
GameTab(tab_Inv);
If Not Players[0].Booleans[0] then
begin
Players[0].Booleans[0] := True;

Players[0].Integers[i_StartExp] := R_GetSkillExp(SKILL_Magic);
Players[0].Integers[i_StartLvl] := R_GetSkillLevel(SKILL_Magic);
end;
end;

Procedure Report;
var
I: Integer;
begin
ClearDebug;

Players[0].Integers[i_CurLvl] := R_GetSkillLevel(SKILL_Magic);
Players[0].Integers[i_CurExp] := R_GetSkillExp(SKILL_Magic);
Players[0].Integers[i_xpToLvl] := R_GetSkillExpToLevel(SKILL_Magic);
Players[0].Integers[i_XpHour] := Round(((Players[CurrentPlayer].Integers[i_CurExp] - Players[CurrentPlayer].Integers[i_StartExp]) * 3600) div (GetTimeRunning div 1000));

SRLProgressReport(ResultDebugBox, 'StunAlcher', 'Wizkid', '0.1 BETA',
['Time running',
'Start level',
'Start XP',
'Gained level(s)',
'Gained XP',
'XP To level',
'XP/h'],
[MsToTime(GetTimeRunning, Time_Short),
Players[0].Integers[i_StartLvl],
Players[0].Integers[i_StartExp],
Players[0].Integers[i_CurLvl] - Players[0].Integers[i_StartLvl],
Players[0].Integers[i_CurExp] - Players[0].Integers[i_StartExp],
Players[0].Integers[i_xpToLvl],
Players[0].Integers[i_xpHour]]);
end;

begin
ShowForm;
If Terminate then
TerminateScript;

SMART_Members := BArr[0];
SMART_Server := StrToIntDef(SArr[2], -1);
SMART_Signed := BArr[1];

{Setup}
SetupSRL;
Setup;

If Not LoggedIn then
begin
Writeln('Please start loggedin and interacting with a NPC');
While Not LoggedIn do
Wait(1000);
end;

SetupPlayer;
Repeat
If Not LoggedIn then
begin
Writeln('Not LoggedIn');
NextPlayer(False);
SetupPlayer;
end;

Report;
StunAlch;
AntiBan;
R_FindRandoms;
Until(AllPlayersInactive);
end.


{
This script will go into the mainloop and if it random(10) = 0 then it'll
change player and leave the player inactive using NextPlayer(False).

the players type contain a lot more, but can easily be viewed in players.scar!
}

program Multiplayer;
{$DEFINE SMART}
{$i srl\srl.scar}
{$i reflection\reflection.simba}

procedure DeclarePlayers;
begin
HowManyPlayers:= 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
end;

Procedure SetupNewPlayer;
begin
end;

begin
Smart_Members := True;
Smart_Server := 121;
Smart_Signed := True;

SetupSRL;
DeclarePlayers;

If Not LoggedIn then
LoginPlayer;

SetupNewPlayer;
Repeat
If (Not LoggedIn)or(Players[CurrentPlayer].Booleans[0]) then {If Not LoggedIn then}
begin
NextPlayer(False); {Switch player, make his active set to False}
SetupNewPlayer; {Setup our new fresh player}
end;

If (Random(11) = 0)then
Players[CurrentPlayer].Booleans[0] := True;

Until(AllPlayersInactive); {Until all the players are not functional, active = false}
end.

Gu3st...

2011-07-24 13:21:07

Then I saw more and more posts about villavu, one user called Overtime(I think?).
Ahaha :p :)

Why do you want to be an SRL Member?

Awkwardsaw

2011-07-24 13:25:23

As i said before, the scripts are to short to show your true knowledge of SRL. I also would like to see some color finding, I know for a fact that ogres are super easy to find with TPAs. From what I could tell, they shouldnt be very hard for you to understand/ learn :) Also, a script that requires walking would be nice(in color, or reflection with color failsafes)

That being said, I'm impressed with your intrest in SRL, and creating scripts so early after just learning about Simba :)

BraK

2011-07-24 13:31:27

From: Zyt3x

Why do you want to be an SRL Member?


^ this is a good question.

Your scripts are also very small. That's one of the things about having Reflection in it. Color generally is preferred for app because it gives you a larger script that allows you to show your knowledge better. Also your scripts are quite small/simple. You can get in with Reflection only but it's a little harder to impress others with it. (reflection lovers please do not start a flame war over the ref vs color comments….)

~BraK

senrath

2011-07-24 13:33:53

While you certainly show great promise, SRL Membership is about showing knowledge of the include as a whole, and you only show knowledge of Reflection. Learn up on color techniques and you're good to go.

And as for why the code looks like Delphi, that would be because it uses Pascal, and Delphi is an object-oriented Pascal derivative.

Wizkid

2011-07-24 13:36:02

From: Zyt3x
Ahaha :p :)

Why do you want to be an SRL Member?

Why not? It would be an honor, but I was reading one of the tutorials and it clearly stated If I was un-sure, just apply :)

From: Awkwardsaw
As i said before, the scripts are to short to show your true knowledge of SRL. I also would like to see some color finding, I know for a fact that ogres are super easy to find with TPAs. From what I could tell, they shouldnt be very hard for you to understand/ learn :) Also, a script that requires walking would be nice(in color, or reflection with color failsafes)

That being said, I'm impressed with your intrest in SRL, and creating scripts so early after just learning about Simba :)


I do agree that the scripts are short, however I believe in using the easiest and most efficient way of finding NPCs! I've already looked into TPA's a bit when I tried out R_WalkPath, but if you mean using TPA's in color finding, that I've only read about!

Walking with color seems a bit dead in the public script section? maybe your script uses it more, but I didn't found any scripts that use color for walking yet :o
I do know how to do it with reflection, with failsafes, and can add a script that does it if you wish :)

senrath

2011-07-24 13:43:33

Color walking is used in the MSI Scripts, as an alternative to reflection. And yes, he means using TPAs in color finding.

Wizkid

2011-07-24 13:47:20

From: BraK
^ this is a good question.

Your scripts are also very small. That's one of the things about having Reflection in it. Color generally is preferred for app because it gives you a larger script that allows you to show your knowledge better. Also your scripts are quite small/simple. You can get in with Reflection only but it's a little harder to impress others with it. (reflection lovers please do not start a flame war over the ref vs color comments….)

~BraK


I see.. Could you tell me approximately what kind of script that would be? :O

Floor66

2011-07-24 13:49:33

I have no doubt your script works great and your knowledge of forms exceeds mine by a pretty great amount (though I doubt it's that hard to learn :p) but you need to show some color(/"SRL") work and a bit more extensive failsafes.

Furthermore I think your attitude is good and you have potential!

Wizkid

2011-07-24 13:54:11

I'll work my way back to my workstation and do some drawing ;)
Will keep checking here for any feedback or such!

Should I re-apply when I'm finished or should I post it here? :o

masterBB

2011-07-24 13:59:12

I would like to see some color functions. But that is not the reason why I doesn't vote yes. There are three things in your script that I'm missing. I quickly read your code, so correct me if I missed something.

I would like to see a breaking system in the scripts, that would reduce the amount of randoms and that would also reduce the change that your will be banned for botting. It ain't hard, but maybe that's why it bothers me that it is missing.

A second thing I'm missing is a equipment check, what if the script runs much longer as you thought it would run? What if you run out of arrows? What if you don't have the runes for casting stun? It's a minor check, but I would like to see it.

A third and last thing is not the way you call some of your arrays: SArray,TSArray and BArray. It's not supposed to be that you call your variable to the type. The name should reflect the use, not the type. It would make it easier to read.

Also I would like to see some more post of you here. It seems you're a good scripter. But a members app is not just based on a script. It gives you acces to the back market and such, with 24 post I don't really know you.

I will hold my vote.

Floor66

2011-07-24 14:08:43

From: Wizkid
I'll work my way back to my workstation and do some drawing ;)
Will keep checking here for any feedback or such!

Should I re-apply when I'm finished or should I post it here? :o


You should re-apply in about 2 weeks time iirc. It might be somewhere in the stickies.

Wizzup?

2011-07-24 14:58:55

Re-apply when you feel you're ready. :)

Wizkid

2011-07-24 15:04:14

Going to break out of the ordinary and create something I saw in the request section, which I thought was totally awesome :o

Two scripts, one signed, one unsigned, fighting each other in the duel arena. And then banks and goes over and over!

~ Wizkid

Smarter Child

2011-07-24 17:04:55

From: wizkid
going to break out of the ordinary and create something i saw in the request section, which i thought was totally awesome :o

two scripts, one signed, one unsigned, fighting each other in the duel arena. And then banks and goes over and over!

~ wizkid


use colour! :D

cycrosism

2011-07-24 18:20:14

From: Awkwardsaw
the scripts are to short to show your true knowledge of SRL. I also would like to see some color finding


Exactly. He did demonstrate a lot of reflection knowledge, but there was very little, if not none from the SRL include demonstrated.

For a great script, make the whole script base colour, that way if there is an update on runescape your script will still work, if it is not a major update. Use reflection as a failsafe, or do it the other way around. Use reflection as a base and colour as a failsafe so that way if it is outdated the script could still operate.

Daniel

2011-07-26 07:41:19

Yes. Superb attitude. Always wanting to improve judged from posts prior to this application. :)

Echo_

2011-07-26 09:31:45

These are some of the cleanest scripting conventions I've seen, it's so easy to read the code!

Like what has been said above, I believe you have a good attitude and a lot of potential. Just show some more SRL knowledge and you will be set ;)

Wizzup?

2011-07-26 12:25:54

Well, you certainly joined very recently.