SRL Archive - Archive

Illkillutill - SRL Member Application Form


Illkillutill

2008-05-07 20:41:36

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

What is the meaning to life?


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



Programming Knowledge
php

Other Communitys


How Long have You Played Runescape
2 years

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

I am 17 and started playing runescape because my cousin showed me it. I got in to it and had heard about all the autoers and bots. So i did some research and found myself here. I have been trying my hardest to learn new things about SCAR as i have applied before. I feel that i have learned a significant amount more than i previously knew, and think i would be a good addition to the members. I am willing to learn so much more, and i will, whether or i make members.

No matter what vote a person gives me, i would appreciate posts of comments and complaints plz. Thanks :P

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

program DraynorWillows;
{.include srl/srl.scar}
{.include SRL/SRL/Skill/Woodcutting.scar}

Var
WillowWalkDTM, Axe, Rocks: Integer;
x, y, tx, ty, ex, ey, ax, ay: Integer;
ABTime, Tries: Integer;
TTime, TTries: Integer;
TChop, TFChop, TF2Chop: Integer;
Loads, Logs, CW, WS, WF, WA, FWL: Integer;
b: Extended;


Const
//-----------------------------------------------------------------------\
//==========BEGINNING OF PLAYER SETUP - FILL OUT LINES 20 - 45.==========|
//-----------------------------------------------------------------------/

MaxTTries = 10; //the maximum amount you want the script to look for
//a tree. 10 is standard.
HowManyLoads = 2000; // how many loads you want to do.
WhichChat = 'zezima'; // the name of a persons chat you want to join. leave blank if u want;
// make sure its a popular chat
// will be put in a random rotation.
PlaySet = True; // to set up your player. strongly recommended to keep on true
// or else you will possibly get banned very quickly.
SRLStatsID = ''; // get srl stats at <a href="http://www.stats.srl-forums.com" target="_blank">www.stats.srl-forums.com</a>
SRLStatsPassword = ''; // srl stats pass.

//-----------------------------------------------------------------------\
{ ~~~~~~~~~~~Declare your players here.~~~~~~~~~~~ }
//-----------------------------------------------------------------------/

procedure DeclarePlayers;
begin
HowManyPlayers := 1; // how many players are you using?
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;

Players[0].Name:= ''; // username goes here
Players[0].Pass:= ''; // password goes here
Players[0].Nick:= ''; // 3-4 letters of username like shown - no caps
Players[0].Active:= True; // use this player? yes = true, no = false
Players[0].Loc:= 'Bank'; // no touchy

{Players[1].Name:= ''; // remove commnent to add the rest of the players.
Players[1].Pass:= '';
Players[1].Nick:= '';
Players[1].Active:= True;
Players[1].Loc:= 'Bank';

Players[2].Name:= '';
Players[2].Pass:= '';
Players[2].Nick:= '';
Players[2].Active:= True;
Players[2].Loc:= 'Bank';

Players[3].Name:= '';
Players[3].Pass:= '';
Players[3].Nick:= '';
Players[3].Active:= True;
Players[3].Loc:= 'Bank';

Players[4].Name:= '';
Players[4].Pass:= '';
Players[4].Nick:= '';
Players[4].Active:= True;
Players[4].Loc:= 'Bank';}

// you can add more players, just make sure to add the coresponding number
// so if you were to make 1 more, it would be like this
// Players[5]... and so on.

end;
{------------------------------------------------------\
| DO NOT TOUCH ANYTHING BEYOND THIS POINT. |
| UNLESS YOU KNOW WHAT YOUR ARE DOING. |
\------------------------------------------------------}

{/----------------\\
|My progress report|
\\----------------/}

procedure Proggy;
begin
if Not LoggedIn then Exit;
FWL:= GetSkillLevel('Woodcutting');
ClearDebug;
WriteLn('/-----------------------------------\');
WriteLn('|Draynor Willow''s--By: Illkillutill | ');
WriteLn('\-----------------------------------/');
WriteLn('|Ran for: '+TimeRunning+'.');
WriteLn('|Banked: '+IntToStr(Loads)+' times.');
WriteLn('|Chopped: '+IntToStr(Logs)+' logs.');
WriteLn('|Withdrew: '+IntToStr(WA)+ ' axe(s).');
WriteLn('|Performed AntiBan '+IntToStr(Tries)+' times.');
WriteLn('|Your woodcutting level is '+IntToStr(FWL)+ '.');
WriteLn('\-----------------------------------/');
WriteLn(' Thank you for using my script. ');
WriteLn('Post progress reports on SRL forums.');
end;

{/------------------------------------------------\
|procedure WithdrawAxe; |
|By: Illkillutill |
|Description: Withdraws an axe from the bank. |
\------------------------------------------------/}
procedure WithdrawAxe;
begin
if Not LoggedIn then Exit;
Axe := DTMFromString('78DA63EC626060D8CD80025A530419FE03694' +
'620FE0F048C53818C5DA86A52C5781934A06A4080711A90D886AA' +
'264B1C4D4D2F90D8C480061819B890D5B401898304D4740089A3F' +
'8D50000D73A0F3C');

Deposit(1, 28, 2);
FixBank;
if FindDTM(Axe, ax, ay, 25, 36, 490, 316) then
begin
MMouse(ax, ay, 0, 0);
if IsUpText('axe') then
begin
Mouse(ax, ay, 0, 0, true);
Wait(10);
end else
WriteLn('No axe was withdrew from bank');
end;
end;

{--------------------------------------------------\
|procedure BrokenAxe; |
|By: Illkillutill |
|Description: |
\--------------------------------------------------/}
procedure BrokenAxe;
begin
if Not LoggedIn then Exit;
WA:= 0
WriteLn('Axe broke');
FindBank('db');
Wait(10+random(100));
WithdrawAxe;
Wait(3000+random(2000));
WA:= +1;
end;

{----------------------------------------------------\
|function InClanChat: Boolean; |
|By: Illkillutill |
|Description: Return true or false if in a clan chat.|
\----------------------------------------------------/}
function InClanChat: Boolean;
var x, y: Integer;
begin
if Not LoggedIn then Exit;
GameTab(10);
if FindColorSpiralTolerance(x, y, 6619135, 551, 267, 719, 422, 3) or
FindColorSpiralTolerance(x, y, 65280, 551, 267, 719, 422, 3) then
begin
Result:= True;
end else
Result:= False;
end;

{----------------------------------------------\
|function JoinClanChat(Chat: String): Boolean |
|By: Illkillutill |
|Description: Joins a clan chat |
\----------------------------------------------/}
function JoinClanChat(Chat: String): Boolean;
begin
if Not LoggedIn then Exit;
if InClanChat then Exit;
GameTab(10);
MouseBox(569, 437, 626, 456, 1);
if IsUpText('oin') then
begin
Wait(50+random(200));
TypeSend(Chat);
Result:= True;
end else
begin
Result:= False;
WriteLn('JoinClanChat failed');
Wait(10);
end;
end;

{---------------------------------------------\
|procedure ExitClanChat; |
|By: Illkillutill |
|Description: Leaves current clan chat. |
\---------------------------------------------/}
procedure ExitClanChat;
begin
if Not LoggedIn then Exit;
if Not InClanChat then Exit;
GameTab(10);
begin
MouseBox(569, 437, 626, 456, 1);
WriteLn('Left clan chat');
end;
end;

{-------------------------------------------------------\
|procedure WhatMusic; |
|By: Illkillutill |
|Description: Tells you what music you are listening to.|
\------------------------------------------------------/}
procedure WhatMusic; // thanx to mixster for the idea
var Song: String;
begin
if Not LoggedIn then Exit;
Song := Between('Click to play', '/ 1 more options', GetUpText);
WriteLn('Listening to'+Song+'');
end;

{-----------------------------------------------------------\
|procedure SetMusic; |
|By: Illkillutill |
|Description: Set's what ever music in green it finds first.|
\-----------------------------------------------------------/}
procedure SetMusic;
var x, y, fx, fy: Integer;
begin
if not LoggedIn then Exit;
GameTab(13);
if Not FindColorTolerance(fx, fy, 65280, 555, 288, 701, 437, 3) then
begin
repeat
WriteLn('Changing music.');
MouseBox(715, 284, 728, 435, 1);
GetMousePos(x, y);
until FindColorTolerance(fx, fy, 65280, 556, 268, 711, 450, 10);
end;
Mouse(fx + random(2), fy + random(3), 0, 0, true);
WhatMusic;
end;

{---------------------------------------------------\
|procedure RealiationOff; |
|By: Illkillutill |
|Description: Set's a players retaliate to off. |
\---------------------------------------------------/}
procedure RetaliationOff;
begin
if Not LoggedIn then Exit;
GameTab(1);
if FindColorTolerance(tx, ty, 1777020, 565, 355, 717, 405, 3) then MouseBox(572, 362, 709, 398, 1);
end;

{-----------------------------------------------------------\
|procedure MakeCompassStraight(Direction: String;) |
|By: Illkillutill |
|Description: Makes the compass straight for any direction. |
\-----------------------------------------------------------/}
procedure MakeCompassStraight(Direction: String);
begin
MakeCompass(Direction);
Wait(100+random(350));
MakeCompass(Direction);
Wait(50+random(25));
MakeCompass(Direction);
Wait(500+random(250));
MakeCompass(Direction);
end;

{--------------------------------------------------------------------\
|procedure WaitToChopTree(AntiRandoms: Boolean); |
|By: Illkillutill |
|Description: Waits to chop a tree, includes antirandoms if told to. |
\--------------------------------------------------------------------/}
procedure WaitToChopTree(AntiRandoms: Boolean);
begin
if AntiRandoms then FindNormalRandoms;
Case (2) of
0: DoEmote(1+random(8));
1: MakeCompass(IntToStr(124+random(189)));
end;
end;

//------------------\\
//Waits while chopping\\
//----------------------\\
procedure WaitWhileChop;
begin
if Not LoggedIn then Exit;
Case random(25) of
0,8,12,14: Wait(100+random(500));
1,7,15,18: Proggy;
2: FindEnt(ex, ey, true);
3: MakeCompass(IntToStr(23+random(254)));
4: WriteLn('Waiting while chopping.');
5: ExitClanChat;
6: JoinClanChat(WhichChat);
end;
end;

//-----------------\\
//Set's up the player\\
//---------------------\\
procedure SetupPlayer;
begin
if Not LoggedIn then Exit;
if PlaySet then
begin
SetChat('Off', 1);
SetChat('Off', 2);
SetChat('Off', 3);
RetaliationOff;
SetRun(True);
ExitClanChat;
Case random(3) of
0: JoinClanChat('runescape');
1: JoinClanChat('kingduffy 1');
2: JoinClanChat(WhichChat);
end;
WS:= GetSkillLevel('Woodcutting');
MakeCompass('N');
SetAngle(True);
WriteLn('Thank you for using my script.');
WriteLn('Please post bugs on the thread you found this at.');
end else
WriteLn('No axe');
end;

//-------------\\
// Fight Finding \\
//-----------------\\
procedure Fighten;
begin
if Not LoggedIn then Exit;
if FindFight then
begin
Rocks:= FindRockColor;
RadialWalk(Rocks, 0, 360, 65, 2, 2);
end;
if FindFight then
begin
if FindSymbol(x, y, 'bank') then Mouse(x, y, 0, 0, true);
end;
Wait(10000+random(3500));
end;

//-------------\\
// Anti Ban \\
//-----------------\\

procedure AntiBanRan;
begin
if Not LoggedIn then Exit;
MarkTime(ABTime);
FindNormalRandoms;
FindEnt(ex, ey, true);
Fighten;
MarkTime(ABTime);
Case random(70) of
0,15,24: Wait(100+random(10));
1,9,13: BoredHuman;
32,16: PickUpMouse;
// 3,29: HoverSkill('woodcutting', false);
53,61: MakeCompass(IntToStr(63+random(150)));
5,34,68: FindNormalRandoms;
6,11,20,70: Wait(10+random(2000));
7,2,66,37,22,4: SetMusic;
end;
if CloseWindow then CW:= +1; // just in case a window gets opened.
FindNormalRandoms;
Tries := Tries + 1;
if TimeFromMark(ABTime) = 7000 then Exit;
end;

{/------------------------------------------------------------------\
[ procedure WillowWalk; ]
[ By: Illkillutill ]
[ Description: Walks to the willow trees behind the bank in draynor.]
\-------------------------------------------------------------------/}
procedure WillowWalk;
var Rocks: Integer;
begin
if Not LoggedIn then Exit;
WillowWalkDTM := DTMFromString('78DA634C646260A86400032E08C5D05CA3CFF' +
'01F483302F17F20608C07AAC96340011AFE8C0C1A503520C09803' +
'54934F404D16504D0D013591986A6AA7ED44510300275E0E59');

Status('Walking to willows');
if FindDTMRotated(WillowWalkDTM, x, y, mmx1, mmy1, mmx2, mmy2, 160, 210, 05, b) then
begin
Mouse(x, y, 2, 2, true);
FreeDTM(WillowWalkDTM);
Exit;
end else
WriteLn('WillowWalk failed, trying RadialRoadWalk for rocks.');
FreeDTM(WillowWalkDTM);
if Not(FindDTMRotated(WillowWalkDTM, x, y, mmx1, mmy1, mmx2, mmy2, 160, 210, 05, b)) then
begin
Rocks := FindRockColor;
RadialRoadWalk(Rocks, 165, 190, 55, 1, -1)
WriteLn('RadialRoadWalk found rocks.');
end else
begin
WriteLn('RadialRoadWalk failed...Logging out. Player False.');
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Walking to willows';
Logout;
Exit;
end;
FreeDTM(WillowWalkDTM);
end;

{/--------------------------------------------------------------------------\
[ function TreeFinder(WhatTree, UpText: String): Boolean; ]
[ By: Illkillutill ]
[ Description: Finds most types of trees by using a color and uptext. ] ]
\---------------------------------------------------------------------------/}
function TreeFinder(WhatTree, UpText: String): Boolean;
var TreeCol: array [0..3] of integer;
tx, ty, i: Integer;
begin
if Not LoggedIn then Exit;
if WhatTree = '' then
if UpText = '' then begin
WriteLn('No tree designated...Logging out and terminating script.');
Logout;
end else
TreeCol[0] := 2976863;
TreeCol[1] := 4556667;
TreeCol[2] := 4614755;
TreeCol[3] := 6589083;
Wait(50+random(500));
Status('Looking for willows.');
for i := 0 to 3 do
begin
FindColorSpiralTolerance(tx, ty, TreeCol[i], 4, 4, 515, 337, 3);
MMouse(tx, ty, 0, 0);
{i:= GetArrayLength(TreeCol);
SetArrayLength(TreeCol[i], i + 1);
WriteLn('Tree color: 'IntToStr(TreeCol[i]));}
end;
if IsUpText(UpText) then
begin
MarkTime(TTime);
Result := True;
WriteLn('Found '+(WhatTree)+'.');
Mouse(tx + Random(12), ty + Random(15), 2, 2, true);
TimeFromMark(TTime);
WriteLn('It took ' +IntToStr(TTime)+ ' miliseconds to find a tree');
FindEnt(ex, ey, True); //just in case
end else
begin
Result := False;
WriteLn('No '+(WhatTree)+ 's found.');
TTries := TTries + 1;
begin
if (TTries >= MaxTTries) then
begin
WriteLn('Max amount of tries to find a tree has been reached.');
WriteLn('Logging out player for characters safety.');
Players[CurrentPlayer].Loc:= 'Could not find a tree';
Logout;
Exit;
end;
end;
end;
end;

//-------------\\
// Banking \\
//-----------------\\

procedure DBank;
begin
if Not LoggedIn then Exit;
Status('Banking.');
SetRun(true);
GameTab(4);
MakeCompass('N');
FindBank('db');
Deposit(1, 28, true);
CloseBank;
Wait(100+random(500));
WF:= GetSkillLevel('Woodcutting');
WriteLn('Woodcutting level is '+IntToStr(FWL)+'.');
Loads := Loads + 1;
ReportVars[0]:= ReportVars[0] + 1;
Logs := Logs + 28;
ReportVars[1]:= ReportVars[1] + 28;
SRLRandomsReport;
end;

//-----------\\
// Chopping \\
//---------------\\

procedure Chop;
begin
if Not LoggedIn then Exit;
FFlag(4);
SetRun(False);
GameTab(4);
repeat
MarkTime(TChop);
TreeFinder('Willow', 'illo');
AntiBanRan;
Wait(10+random(25));
if ClickToContinue then
Wait(550+random(450));
if FindBlackChatMessage('do not have') then
begin
BrokenAxe;
Wait(100+random(550));
WillowWalk;
end;
AntiBanRan;
Until (InvFull);
if InvFull then
begin
MakeCompass('N');
TimeFromMark(TChop);
TFChop := TChop div 1000;
TF2Chop := 60 div TFChop;
WriteLn('We chopped for '+IntToStr(TFChop)+' minutes.');
WriteLn('Inventory full, walking to bank');
end else
Exit;
end;

{----------------------------------------------------------
=============MAIN LOOP BEGINS HERE---NO TOUCHY=============
\---------------------------------------------------------}
begin
SetupSRL;
ScriptID:= '798';
SRLID:= SRLStatsID;
SRLPassword:= SRLStatsPassword;
ClearDebug;
MouseSpeed := 16+random(3);
DeclarePlayers;
if LoggedIn then Logout;
LoginPlayer;
Wait(500+random(1500));
Logs:= 0;
Loads:= 0;
Tries := 0;
CW:= 0;
TTries:= 0;
if FindAxe then
begin
repeat
repeat
SetupPlayer;
WillowWalk;
Chop;
DBank;
SRLRandomsReport;
Proggy;
Until (Loads >= HowManyLoads) or (Not LoggedIn);

NextPlayer(Players[CurrentPlayer].Active);
Until False;
end else
begin
WriteLn('No axe?...That''s a no no...Script terminated.');
Logout;
NextPlayer(false);
end;
end.

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

P1nky

2008-05-07 20:50:50

isnt great isnt bad. im holding my vote to see others

btw i like the join chat thing :P never came in my mind.

FreakyMonkey

2008-05-07 21:01:30

it looks like u pretty much got the jist of what u have to do to get in, BUT im not sure…same as Pinky ill hold my vote. But what i noticed is that u should but more RadialWalk failsafes. I saw in your script one time u just put "RadialWalk(Blah) ONE TIME b4 exiting. At least do two lol ;). In fact you lack a lot of failsafes with even the most unreliable of functions (mouse). Just needa work on those a lot more =)

But i do love your antibans and the clan chat and music change…YET ill still needa look over it and observe some of the other errors the other members will point out.

Keep it up.

Iron Man

2008-05-07 22:11:53

Could use more failsafes.

Could use more complicated obj finding.

You could really shorten it by getting rid of these:

{/--------------------------------------------------------------------------\
[ function xxx ]
[ By: Illkillutill ]
[ Description: xxx ]
\---------------------------------------------------------------------------/}

And just write a simple comment/credit thats one line on the ones that you use that are other people.

EDIT: @freakymonkey, aren't you supposed to wait at least 2 weeks to vote?

P1nky

2008-05-07 22:14:01

the script doesnt have to be about lenght. just detailed.. so doesnt really matter

FreakyMonkey

2008-05-08 00:46:55

@Pinky, ya i dont think it matters if he puts in the function titles. if wants he can, i dont think it causes any lag… and i think it makes the script look neater and more organized


@ironman: idk, i think its almost that time anyway, and i honestly wanna contribute as much as possible. i doubt it really matters if i vote or not. but if u guys dont want me to, i still havent voted yet for this person.

Iron Man

2008-05-08 00:53:24

From: freakymonkey
@Pinky, ya i dont think it matters if he puts in the function titles. if wants he can, i dont think it causes any lag… and i think it makes the script look neater and more organized


@ironman: idk, i think its almost that time anyway, and i honestly wanna contribute as much as possible. i doubt it really matters if i vote or not. but if u guys dont want me to, i still havent voted yet for this person.


I'm not a experienced voter or anything so it's not up to me to tell anyone to do anything, I was just pointing something out in case you didn't know.

Sir R. M8gic1an

2008-05-08 02:10:57

original. extremely original. i like that.
well commented, standards. i didn't get to look through the whole code closely, but it looked good to me.

later today i'll have a better look, and then i'll vote.
but i think my vote will be a yes.

~RM

ShowerThoughts

2008-05-08 02:21:47

Very Nice you are very far in using the basics good job but this isn't intermidate or even advanced for the rest nice script you should release it in the srl junior section

HyperSecret

2008-05-08 03:01:31

i have never really liked this guy, he always annoys me on msn with incompetent questions and i just wanna beat him!!





















nah, actually he seems pretty cool and it very committed to learning SCAR/SRL. He asks me quite a bit on msn about scripting over the past 2 months or so and has a good feel and will get even farther faster once in SRL Members.

I vote yes


EDIT/PS: May i remind you of this app. http://www.villavu.com/forum/showthread.php?t=21570?&highlight=beer DudeNow12 (no offense) gets in with a script that buys beer, can you get any simpler for a working script? and he gets in and people are voting no on this?!?

Ashur2Good

2008-05-08 09:15:59

yes its a good script but work more on your main procedures not that fancy pants stuff i.e music changing

Kave

2008-05-08 10:33:41

Standards look good. Started out with a lot of comments and kinda trailed off in the functions though. In your main you have
 if LoggedIn then Logout;
LoginPlayer;
which is an bad idea, why log out to log back in? I like the anti ban, join chat is seems like an interesting idea. Your script is a good start, but I'm not sure if its member worthy yet. I'm gonna say no, with the hope that in a month you make me look a fool :3

Illkillutill

2008-05-08 11:02:08

the reason i log out and back in? hmmmm… idk lol, since the script sets the playeer up exactley right. i guess if for some chance an idiot sets false to playset, then it needs to log out and back in so the compass will be set north. (meaning the user has no idea what hes supposed to do)

i will work on my bigger more important functions from now on.

thanks

iroki_

2008-05-08 11:12:03

I'm not going to vote ( because i'm "new" SRL-member :P)but insted:

procedure MakeCompassStraight(Direction: String);
begin
MakeCompass(Direction);
Wait(100+random(350));
MakeCompass(Direction);
Wait(50+random(25));
MakeCompass(Direction);
Wait(500+random(250));
MakeCompass(Direction);
end;
you can use:

procedure MakeCompassStraight(Direction: String);
var
i: integer;
begin
for i := 1 to 4 do
begin
MakeCompass(LowerCase(Direction));
Wait(RandomRange(50, 250));
end;
end;
I think that it is more advanced.

Negaal

2008-05-08 15:06:33

From: Iron man
EDIT: @freakymonkey, aren't you supposed to wait at least 2 weeks to vote?


Actually, I think he don't have to, it is just recomended…if the person still starts to vote soon as she/he gets membership, most of other members just won't respect him much…

Nice coding there..Yes, though try to use more failsafes…

Sir R. M8gic1an

2008-05-08 15:41:04

if not LoggedIn then Exit used well.

Good use of SRL -> FindBank

Withdraw axe -> nice private function. not too complex, you could for example try to find the best axe, but it's good that you made such a function.

Clan chat functions -> i really liked this because it hasn't been done before. for InClanChat you could've use GetColor or GetColors more efficiently, if you haven't heard about those functions check out the Scar help file. basically it gets the color from one specific place. (GetColors get from many places obviously)
the only problem with this is we have talked about it in the members section, and if we are all to join a clan chat jaFex will very easily get our accounts. and we wouldn't be able to hold conversations cus that means we would need pre-made conversations which jaFex could get from SRL and check for them in ScapeRune. still good functions;) as i said before shows originality


for the retaliation function…

{*******************************************************************************
procedure Retaliate(AutoRet:Boolean);
By: WT-Fakawi & n3ss3s
Description: Set's Auto Retaliate ON of OFF.
*******************************************************************************}

MakeCompassStraight was already said how you can improve it

wait while chop should check for ent every time, because ents do appear suddenly and break axes fast.


SetChat('Off', 1);
SetChat('Off', 2);
SetChat('Off', 3);

once again a good idea in principle, but that makes it fairly obvious we're not human :p


end else
WriteLn('WillowWalk failed, trying RadialRoadWalk for rocks.');
FreeDTM(WillowWalkDTM);
if Not(FindDTMRotated(WillowWalkDTM, x, y, mmx1, mmy1, mmx2, mmy2, 160, 210, 05, b)) then
begin
good use of else, but if you already know that you didn't find the DTM (else) why do if not find? you already didn't find it, that won't change in a few ms. nice freeing of the DTM btw. another problem… you freed it and then tried to look for it again.
find DTm, radial walk, then log out. enought failsafes i'd say. maybe one more with the fish symbol wouldn't be bad.


WriteLn('RadialRoadWalk failed...Logging out. Player False.');
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Walking to willows';
Logout;
Exit;
good use of multiplayer

ok treefinder, maybe learn TPAs? i'm sure you'd get the hang of it

if (TTries >= MaxTTries) then
begin
WriteLn('Max amount of tries to find a tree has been reached.');
WriteLn('Logging out player for characters safety.');
Players[CurrentPlayer].Loc:= 'Could not find a tree';
Logout;
Exit;
end;

not bad, but how about trying to position him back at the bank?


WF:= GetSkillLevel('Woodcutting');
WriteLn('Woodcutting level is '+IntToStr(FWL)+'.');
small var problem there? woodcutting level is in var WF, not FWL
and about depositing… what if the axe is in the inv?



if LoggedIn then Logout;
i would've put that in there for a different reason than the one you said, for SRL-Stats to start counting you need to log in the player.


if FindAxe then
begin
repeat
repeat
SetupPlayer;
WillowWalk;
Chop;
DBank;
SRLRandomsReport;
Proggy;
Until (Loads >= HowManyLoads) or (Not LoggedIn);

NextPlayer(Players[CurrentPlayer].Active);
Until False;
end else
begin
WriteLn('No axe?...That''s a no no...Script terminated.');
Logout;
NextPlayer(false);
end;
end.
small problem there. if player one doesn't have an axe the script will terminate, but if the other players don't have an axe it will only react once it gets to the trees and tries to chop.

i'm not absolutely sure about my vote, you have some VERY VERY good things, but for example this fault in the mainloop is also a big one.
edit: but i see that it's because the script was single player before. it was while changing it that you didn't think about multiplayer in the mainloop

i'll wait a couple of days, see how you react to your app etc. btw i'm still waiting on that proggy for my cutter :p

i really think the vote will be yes.

~RM

EvilChicken!

2008-05-08 17:36:33

A great + is your creativity, but otherwise everything just seems kind of basic - especially your object finding and lack of failsafes. Still, this is one of the better applications I have seen lately, and I feel a little bit kind today, so you're getting a yes from me ON ONE CONDITION: Learn the use of TPointArrays. That is all that I want from you (as for now) and this is the thing you should focus on the most for now.

Search for Mastaraym0nd's tutorial, it is really great. It was the way I learned TPAs. Alos, looking at other advanced scripts can really help a great deal. Theese are the scripts you should take a good look at:

  • Forest Frostbite
  • Forefeaters' chicken finding procedure
  • Wizzup's Essence Miner, lil' bit outdated, but still works to learn from
  • Timer's Ranging Guild script
  • Fight Caves runner
  • King of Knives' Catherby Sharks & Lobbies
  • Mastaraym0nd's AMAZING (outdated) Nameless Smither
  • Narcles Autofighter/Fast Fighter
  • A lot of famous mining scripts (made by Rostarytm, MK, Wizzup? and others)
  • Wizzup's draynor netter and other scripts made by him

Not every of theese scripts have something to do with TPAs, but looking at some of SRL's best scripts lets you get an insight on how the best scripts are written and what methods of approach have been used for different situations that occur when using theese scripts.
Also, take time to browse through SRL's include files, you can learn incredibly fast by looking at and understanding the procedures and funtions used by SRL.
Other sources for great SCAR/SRL knowledge:
- Press F1 while having SCAR open, then scroll down to the various functions and procedures of SCAR
- The "Test" folder that comes wit SCAR

Good luck. :)

P1nky

2008-05-08 19:32:57

I voted no

the reasons are stated above. small mistakes, are killing the script :S

but you are so close , next time yes :P forsure!

GL

nielsie95

2008-05-08 19:34:00

From: HyperSecret

EDIT/PS: May i remind you of this app. http://www.villavu.com/forum/showthread.php?t=21570?&highlight=beer DudeNow12 (no offense) gets in with a script that buys beer, can you get any simpler for a working script? and he gets in and people are voting no on this?!?


You can not compare applications. Scripters differ in scripts, style and attitude. There's no way you can compare an application of two different people. You must not think that if someone got in with a script less good than this, this one should get in too (no offense, just making clear ;)).

Sir R. M8gic1an

2008-05-09 02:40:23


Case random(3) of
0: JoinClanChat('runescape');
1: JoinClanChat('kingduffy 1');
2: JoinClanChat(WhichChat);
end;

good use of cases. i've reached my decision :)
the fact that you have unusual functions shows that your not just a copy paster scripter.

~RM

Pure1993

2008-05-09 20:53:08

YES, unique scripting style, creative ideas and you seem to know what you are doing (even though you are making small mistakes, but guess what? I have been an srl membr for a few months already, and I haven't finished a single script which worked over 5 minutes, in fact i never even released one, because once i got finished, I decided it wasn't good enough, so i deleted it. The wasn't good enough part was always due to those simple errors, but I have learned from experience, the best thing you can do is to script script and script. Make errors, find them, iron them out, and then, if you still have the patience to help noobs run your script, publish it. ;)) oh sorry, i got sidetracked… oh well, still, I am voting yes. end of story ^^

Illkillutill

2008-05-10 02:07:30

thank you Rasta Magician :D. I enjoy making functions and such for things that could come in handy ltr in the script. you never know when you would need such things.

@Pure1993: lol, that's the plan. there are always going to be small mistakes, but like you said iron them out and keep on scripting.

thanx for the yes votes :D

HayHay89

2008-05-10 02:27:29

 begin
WriteLn('No axe?...That''s a no no...Script terminated.');
Logout;
NextPlayer(false);

well u got that Script teminated
then u swap players kinder sending the wrong message to the user of the script

um i still kinder new around here but i like your way of scripting makin your own stuff but its fairly simple to make ill hold my vote for now and see wat some other people say

nielsie95

2008-05-15 03:07:11

Welcome sir.