SRL Archive - Archive

Skys Shadow - SRL Member Application Form


Skys Shadow

2007-05-27 22:25:00

<!– BEGIN TEMPLATE: formanswers –>
Skys Shadow - SRL Member Application Form
Skys Shadow

What is the meaning to life?
To make more life =D

Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
VB, Java

Other Communitys
Mopar, Drewley.net

How Long have You Played Runescape
1.5 years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Well I applied awhile back and got 5 yes and 2 no's I think but then I deleted my favorites link so I couldn't check on it again. Then I left SCAR programing for awhile and starting making tests in VB for school. Now I'm back with my new and improved Edgeville Yew Cutter. I has auto-coloring, color saving, tree switching, multi-players, and a form. I am a member of SRL at mopar and hope to be accepted here.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted


{
~~~~~~~~~~Skys~~~~~~~~~~
~~~~~~~~~~~§§~~~~~~~~~~~
~~~~~~~~~Shadow~~~~~~~~~
~~~~~~~~~~~§§~~~~~~~~~~~
~~~~~~~~Presents~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~

~ The Skys Shadow Edgeville Yew Cutter!
~ Made by me, Skys Shadow.
~ Credits to all the SRL team for the wonderful SRL include.

Instructions:
Setup Account
Stand in Edgeville bank in the southmost booth
Watch it once to make sure that all is well
Enjoy!

Update Info:
Alpha: Just cut and bank
Beta: Added Login
V 1.0: Added Antirandoms, Antiban, and fixed bugs
V 1.1: Took away WelcomeScreen include
V 1.2: Added Progress Report, changed some procedures
V 1.3: Fixed Login bug
V 1.4: Added Multiple players
V 1.5: Added a form. Added Mouseflag procedures
V 2.0: Completely redid treefinding procedures. Now will remember
what color it is using. Added Tree Switching.
}

program Skys_Shadow_Edgeville_Yew_Cutter;

{.include SRL\SRL.scar}
{.include SRL\SRL\skill\WoodCutting.scar}
{.include SRL\SRL\extended\xAntiBan.scar}

var
TreeFound: boolean;
Tripstodo, Trips, Location, TreeColor: integer;
Wieldaxe: string;
frmDesign: TForm;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
ComboBox1: TComboBox;
Edit10: TEdit;
Edit11: TEdit;

const
VersionNumber = ' 1.5'; //Don't Touch!


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

Players[0].Name := Edit1.Text;
Players[0].Pass := Edit2.Text;
Players[0].Nick := Edit3.Text;

Players[0].Loc := 'Loc1'; //Not needed
Players[0].Skill := ''; //Not needed
Players[0].Active := True; //Leave at true

Players[1].Name := Edit4.Text;
Players[1].Pass := Edit5.Text;
Players[1].Nick := Edit6.Text;
Players[1].Loc := 'Loc1';
Players[1].Skill := '';
Players[1].Active := True;

Players[2].Name := Edit7.Text;
Players[2].Pass := Edit8.Text;
Players[2].Nick := Edit9.Text;
Players[2].Loc := 'Loc1';
Players[2].Skill := '';
Players[2].Active := True;

writeln(inttostr(HowManyPlayers) + ' Players');
end;

procedure ButtonClick(sender: TObject);
begin
frmDesign.Caption := frmDesign.Caption + '.';
frmDesign.ModalResult := mrOk;
end;

procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.Width := 544;
frmDesign.Height := 480;
frmDesign.Caption := 'Skys Shadow Edgeville Yew Cutter';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 40;
Label1.Top := 15;
Label1.Width := 48;
Label1.Height := 13;
Label1.Caption := 'Username';
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 40;
Label2.Top := 40;
Label2.Width := 46;
Label2.Height := 13;
Label2.Caption := 'Password';
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 40;
Label3.Top := 61;
Label3.Width := 22;
Label3.Height := 13;
Label3.Caption := 'Nick';
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 118;
Label4.Top := 3;
Label4.Width := 38;
Label4.Height := 13;
Label4.Caption := 'Player 0';
Label5 := TLabel.Create(frmDesign);
Label5.Parent := frmDesign;
Label5.Left := 211;
Label5.Top := 64;
Label5.Width := 320;
Label5.Height := 13;
Label5.Caption :=
'The first 3 lowercase letters of your name. e.g. For Zezima, put' +
' in ezi';
Label6 := TLabel.Create(frmDesign);
Label6.Parent := frmDesign;
Label6.Left := 40;
Label6.Top := 108;
Label6.Width := 48;
Label6.Height := 13;
Label6.Caption := 'Username';
Label7 := TLabel.Create(frmDesign);
Label7.Parent := frmDesign;
Label7.Left := 40;
Label7.Top := 131;
Label7.Width := 46;
Label7.Height := 13;
Label7.Caption := 'Password';
Label8 := TLabel.Create(frmDesign);
Label8.Parent := frmDesign;
Label8.Left := 40;
Label8.Top := 152;
Label8.Width := 22;
Label8.Height := 13;
Label8.Caption := 'Nick';
Label9 := TLabel.Create(frmDesign);
Label9.Parent := frmDesign;
Label9.Left := 69;
Label9.Top := 119;
Label9.Width := 3;
Label9.Height := 13;
Label10 := TLabel.Create(frmDesign);
Label10.Parent := frmDesign;
Label10.Left := 118;
Label10.Top := 93;
Label10.Width := 38;
Label10.Height := 13;
Label10.Caption := 'Player 1';
Label11 := TLabel.Create(frmDesign);
Label11.Parent := frmDesign;
Label11.Left := 40;
Label11.Top := 219;
Label11.Width := 48;
Label11.Height := 13;
Label11.Caption := 'Username';
Label12 := TLabel.Create(frmDesign);
Label12.Parent := frmDesign;
Label12.Left := 40;
Label12.Top := 242;
Label12.Width := 46;
Label12.Height := 13;
Label12.Caption := 'Password';
Label13 := TLabel.Create(frmDesign);
Label13.Parent := frmDesign;
Label13.Left := 40;
Label13.Top := 266;
Label13.Width := 22;
Label13.Height := 13;
Label13.Caption := 'Nick';
Label14 := TLabel.Create(frmDesign);
Label14.Parent := frmDesign;
Label14.Left := 120;
Label14.Top := 205;
Label14.Width := 38;
Label14.Height := 13;
Label14.Caption := 'Player 2';
Label15 := TLabel.Create(frmDesign);
Label15.Parent := frmDesign;
Label15.Left := 213;
Label15.Top := 18;
Label15.Width := 66;
Label15.Height := 13;
Label15.Caption := 'RS Username';
Label16 := TLabel.Create(frmDesign);
Label16.Parent := frmDesign;
Label16.Left := 212;
Label16.Top := 42;
Label16.Width := 64;
Label16.Height := 13;
Label16.Caption := 'RS Password';
Label17 := TLabel.Create(frmDesign);
Label17.Parent := frmDesign;
Label17.Left := 42;
Label17.Top := 329;
Label17.Width := 44;
Label17.Height := 13;
Label17.Caption := 'Wieldaxe';
Label18 := TLabel.Create(frmDesign);
Label18.Parent := frmDesign;
Label18.Left := 38;
Label18.Top := 359;
Label18.Width := 50;
Label18.Height := 13;
Label18.Caption := 'Trips to do';
Label19 := TLabel.Create(frmDesign);
Label19.Parent := frmDesign;
Label19.Left := 40;
Label19.Top := 297;
Label19.Width := 47;
Label19.Height := 13;
Label19.Caption := 'Start User';
Label20 := TLabel.Create(frmDesign);
Label20.Parent := frmDesign;
Label20.Left := 214;
Label20.Top := 298;
Label20.Width := 186;
Label20.Height := 13;
Label20.Caption := 'Remember: The first player is number 0.';
Button1 := TButton.Create(frmDesign);
Button1.Parent := frmDesign;
Button1.Left := 80;
Button1.Top := 401;
Button1.Width := 75;
Button1.Height := 25;
Button1.Caption := '&Start';
Button1.ModalResult := 1;
Button1.TabOrder := 8;
Edit1 := TEdit.Create(frmDesign);
Edit1.Parent := frmDesign;
Edit1.Left := 90;
Edit1.Top := 16;
Edit1.Width := 121;
Edit1.Height := 21;
Edit1.TabOrder := 9;
Edit2 := TEdit.Create(frmDesign);
Edit2.Parent := frmDesign;
Edit2.Left := 90;
Edit2.Top := 39;
Edit2.Width := 121;
Edit2.Height := 21;
Edit2.PasswordChar := #1;
Edit2.TabOrder := 10;
Edit3 := TEdit.Create(frmDesign);
Edit3.Parent := frmDesign;
Edit3.Left := 90;
Edit3.Top := 63;
Edit3.Width := 121;
Edit3.Height := 21;
Edit3.TabOrder := 11;
Edit4 := TEdit.Create(frmDesign);
Edit4.Parent := frmDesign;
Edit4.Left := 90;
Edit4.Top := 108;
Edit4.Width := 121;
Edit4.Height := 21;
Edit4.TabOrder := 12;
Edit5 := TEdit.Create(frmDesign);
Edit5.Parent := frmDesign;
Edit5.Left := 90;
Edit5.Top := 130;
Edit5.Width := 121;
Edit5.Height := 21;
Edit5.PasswordChar := #1;
Edit5.TabOrder := 13;
Edit6 := TEdit.Create(frmDesign);
Edit6.Parent := frmDesign;
Edit6.Left := 90;
Edit6.Top := 153;
Edit6.Width := 121;
Edit6.Height := 21;
Edit6.TabOrder := 14;
Edit7 := TEdit.Create(frmDesign);
Edit7.Parent := frmDesign;
Edit7.Left := 90;
Edit7.Top := 219;
Edit7.Width := 121;
Edit7.Height := 21;
Edit7.TabOrder := 15;
Edit8 := TEdit.Create(frmDesign);
Edit8.Parent := frmDesign;
Edit8.Left := 90;
Edit8.Top := 242;
Edit8.Width := 121;
Edit8.Height := 21;
Edit8.TabOrder := 16;
Edit9 := TEdit.Create(frmDesign);
Edit9.Parent := frmDesign;
Edit9.Left := 90;
Edit9.Top := 266;
Edit9.Width := 121;
Edit9.Height := 21;
Edit9.TabOrder := 17;
ComboBox1 := TComboBox.Create(frmDesign);
ComboBox1.Parent := frmDesign;
ComboBox1.Left := 91;
ComboBox1.Top := 329;
ComboBox1.Width := 47;
ComboBox1.Height := 21;
ComboBox1.ItemHeight := 13;
ComboBox1.TabOrder := 18;
ComboBox1.Items.Add('True');
ComboBox1.Items.Add('False');
Edit10 := TEdit.Create(frmDesign);
Edit10.Parent := frmDesign;
Edit10.Left := 90;
Edit10.Top := 358;
Edit10.Width := 121;
Edit10.Height := 21;
Edit10.TabOrder := 19;
Edit11 := TEdit.Create(frmDesign);
Edit11.Parent := frmDesign;
Edit11.Left := 90;
Edit11.Top := 297;
Edit11.Width := 121;
Edit11.Height := 21;
Edit11.TabOrder := 20;
end;

procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;

procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;

procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
//-----------------------------------------------//

function IsWelcomeScreen: Boolean; //from old SRL version
begin
if (GetColor(271, 292) = 8356779) and
(GetColor(499, 292) = 8356779) and
(GetColor(271, 381) = 8356779) then
Result := True;
end;

procedure WelcomeScreen;
begin
if (not (IsWelcomeScreen)) then Exit;
MouseBox(275, 296, 495, 377, 1);
end;
//-----------------------------------------------//

procedure Setup;
begin
SetupSRL;
ActivateClient;
ChatsOff;
Trips := 0;
Wieldaxe := ComboBox1.Text;
Tripstodo := strtoint(Edit10.Text);
if (LoggedIn) then
begin
HighestAngle;
MakeCompass('n');
end;
if (not (LoggedIn)) then
LoginPlayer;
WelcomeScreen;
HighestAngle;
MakeCompass('n');
end;
//-----------------------------------------------//

procedure ProgReport;
begin
ClearReport;
Writeln('===============================');
Writeln('= You Are Using =');
Writeln('= =');
Writeln('= The Skys Shadow Edgeville =');
Writeln('= =');
Writeln('= YEW CUTTER! =');
Writeln('= =');
WriteLn('= Version ' + VersionNumber + ' =');
Writeln('= =');
Writeln('= ' + inttostr(Trips) + ' Trips done =');
Writeln('= =');
Writeln('= Happy Cutting =');
Writeln('===============================');
end;
//-----------------------------------------------//

procedure WalktoTrees;
begin
if (FindSymbol(x, y, 'rare trees')) then
begin
SetRun(true)
Mouse(x, y, 1, 1, true)
if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))
end
if (not (FindSymbol(x, y, 'rare trees'))) then
begin
SetRun(true)
Mouse(747, 280, 1, 1, true)
if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))
if (FindSymbol(x, y, 'rare trees')) then
begin
Mouse(x, y, 1, 1, true)
if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))
Location := 1;
end
end
end;

//-----------------------------------------------//


procedure FindTreeOrigin;
var x: integer;
begin
x := 0;
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(35, 27, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(34, 160, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(116, 291, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true; if x = 0 then
begin
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
x := x + 1
end
else
MMouse(334, 281, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true; if x = 0 then
begin
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
x := x + 1
end
else
MMouse(443, 212, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(414, 98, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(283, 43, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(172, 139, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(210, 241, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(321, 219, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(278, 136, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(194, 168, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
else
MMouse(260, 193, 10, 10);
if IsUpText('Chop') then
begin
TreeColor := getColor(x, y);
TreeFound := true;
writeln('Using ' + inttostr(TreeColor) + ' for tree color.');
end
end;
//-----------------------------------------------//

procedure FindTree;
begin
repeat
makeCompass('n');
FindTreeOrigin;
if TreeFound = false then
makeCompass('e');
FindTreeOrigin;
if TreeFound = false then
makeCompass('w');
FindTreeOrigin;
if TreeFound = false then
makeCompass('s');
FindTreeOrigin;
until TreeFound = true
end;
//-----------------------------------------------//

procedure waiting;
begin
repeat
wait(100 + random(100))
until not (FindColor(x, y, TreeColor, 3, 3, 513, 334)) and (not (FlagPresent))
end;
//-----------------------------------------------//

procedure SwitchTrees;
begin
wait(random(100) + random(1000));
if Location = 1 then
Location := 2;
Mouse(326, 312, 10, 10, true);
if Location = 2 then
Location := 1;
Mouse(314, 70, 10, 10, true);
end;
//-----------------------------------------------//

procedure ChoptheTrees;
begin
repeat
if TreeFound = true then
begin
repeat
if FindColor(x, y, TreeColor, 3, 3, 513, 334) then
Mouse(x, y, 1, 1, true)
waiting;
SwitchTrees;
until (invfull = true)
if (invfull = true) then
Trips := Trips + 1;
end
else
begin
FindTree;
end
until (invfull = true)
end;
//-----------------------------------------------//

procedure WalktoBank;
begin
if (FindSymbol(x, y, 'bank')) then
begin
MMouse(x, y, 1, 1)
Mouse(x, y, 1, 1, true)
if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))
end;
if (not (FindSymbol(x, y, 'bank'))) then
begin
Mouse(789, 173, 1, 1, true)
if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))
if (FindSymbol(x, y, 'bank')) then
begin
MMouse(x, y, 1, 1)
Mouse(x, y, 1, 1, true)
if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))
end;
end;
end;
//-----------------------------------------------//

procedure BanktheLogs;
begin
OpenBank;
if WieldAxe = 'true' then
begin
DepositAll;
end
if WieldAxe = 'false' then
begin
Deposit(2, 28, 2);
end
Trips := Trips + 1;
end;
//-----------------------------------------------//

procedure AntiRandomsandAntiBan;
begin
SRLRandomsReport;
FindNormalRandoms;
FindAxeHeadColor;
AttachHead;
DontBanMe(2);
if (FindEnt(3438704)) then
begin
Logout;
Wait(30000)
LoginPlayer;
end
end;
//-----------------------------------------------//

begin
SafeInitForm;
SafeShowFormModal;
DeclarePlayers;
Setup;
repeat
repeat
ProgReport;
WalktoTrees;
ChoptheTrees;
WalktoBank;
BanktheLogs;
AntiRandomsandAntiBan;
until (trips = Tripstodo);
if (trips = Tripstodo) then
Logout;
Nextplayer(true);
until (false);
end.

——————————————————
<!– END TEMPLATE: formanswers –>

Boreas

2007-05-27 22:33:20

I'd like to see failsafes that logout when something goes wrong/can't be found, if not(loggedin) then exit; in all procs/funcs, and if not loggedin then nextplayer(false) at bottom of loop.

JAD

2007-05-28 00:53:06

I would like to see anti randoms and anti ban. And I don't 100% get what you were doing in your chopping procedure with all those begins and ends?? Lots of code there that looked like it was doing the same thing or very similiar. I just did a quick browsing over it, but its a no from me sorry. And as Boreas said, FAILSAFES! VERY important. Check out my tut (links in sig) Learning the things to become a SRL member. Maybe then in a month you can apply with a good script including all the requirements.

Smartzkid

2007-05-28 01:00:03

I would like to see a bit more updated SRL functions in there…

if (FlagPresent) then
repeat
wait(2000)
until (not (FlagPresent))

You know…there's something called flag; that works far better…

______

Keep trying, you're off to a good start, you just need to get to know SRL a bit better…

n3ss3s

2007-05-28 02:00:02

I almost died when I saw FindTreeOrigin, try using cases, u save so lot space.
You could've done that something like:

function FindTreeOrigin:boolean;
var a:integer;
begin
a:=GetUpText;
case a of
'blabla':begin
// thing u wana do.
end;
'bloblo' // and so on, get it? There comes an end in the end of the case.
oh crap I accidentally voted yes. Ignore that 1 yes :)