SRL Archive - Archive

soccnut - SRL Member Application Form


soccnut

2008-08-19 09:02:11

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

What is the meaning to life?
Life is about enjoying yourself while SCAR works away to up your RS char's stats

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


Programming Knowledge
only pascal/scar

Other Communitys
runescapecommunity

How Long have You Played Runescape
since 2004

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

Im a 15 yo girl from singapore.Hobbies are playing runescape and playing piano.Currently studying in school now.English is not my first language so pardon me if i make grammar mistakes and so on.

Played legit all the way till last year

Chanced upon scar last year around november.Played around with most scripts and used many such as Narcle autofight and Jukka guildminer.
Stopped around late Dec when my main got banned for using some lousy cooking script.

Started out contributing by posting proggies and helping others to solve simple problems like input nicknames or updating to latest SRL and so on before graudually moving on to helping with changing DTMs/Co-ords in outdated scripts and so on.

Decided to play again after hearing about RunescapeHD.Installed SCAR and continued to run scripts.Decided to contribute to the community also and thus learnt scripting from tutorials.

This is my 2nd proper script( excluding those fooling around attempts).My first was the alkhariad cooker which did not go well because my scripting knowledge not good enough to overcome the barren featureless terrain.

This script is a Falador clay wetter which uses DTMs to find the clay and bucket and uses a combination of radialroadwalk and symbol finding to get to the fountain and back.

Hope to contribute more to the community in the near future.

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


ScarScript: By Drunkenoldma
 
//Instructions: Fill up form and loads to do
// Place players in falador east bank near bank slot
// Make sure clay and bucket is visible in the top of bank
// Hit play and watch the magic!

program Wet;
{.Include SRL\SRL\Misc\SMART.SCAR}
{.include SRL/SRL.scar}
{.include srl/srl/misc/users.scar}
{.include srl/srl/misc/faladorcolorfinder.scar}
{.include srl/srl/reflection/reflection.scar}

Const

SRLStatsID = ''; // Your SRL Stats ID
SRLStatsPW = ''; // Your SRL Stats Password

Var

x,y : integer; // co-ords for walking
a,b : integer; //co-ords for finding fountain
c,d,e,f : integer; //co-ords for storing DTMs of bucket and dry clay
g : integer;//store value of combat lvl for leecher check
Loads : integer; // loads done
Time: integer; //failsafe for procedures
BankDTM: integer; //DTM to find bank
WetClayDTM, DryClayDTM, BucketDTM : integer; //DTM for various objects
WalkDTM: integer;
z: extended; // FindDTMRotated for bank

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

Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //nickname P.S leave out the first letter of your name.
Players[0].Active := True; //True = Active, False = Inactive

end;

procedure LeecherCheck;
begin
g := GetCombatLevel;
if g < 20 then
begin
Writeln('Train up your char combat first, noob!');
Exit;
end;
if (SRLStatsID = '') or (SRLStatsPW = '') then
begin
Writeln('SRL ID invalid, get an account at "http://www.stats.srl-forums.com"')
end;
end;

procedure Failsafe;

begin
if (loggedIn) then exit;
Writeln('Player false, next player');
Players[CurrentPlayer].Active := False;

end;

procedure Antiban;
begin
if not LoggedIn then Exit;
Status('Performing Antiban');
case Random(250) of
0:
begin
HoverSkill('Crafting', False);
Gametab(4);
wait(500+random(100));
end;
1:
begin
wait(3000+random(300));
end;
2:
begin
GameTab(1 + Random(12));
wait(800 + random(500));
GameTab(4);
wait(500+random(300));
end;
3:
begin
MouseBox(MSx1, MSy1, MSx2, MSy2, 3);
end;
end;
Gametab(4);
Status('SCAR Divi CDE');
end;

function LoadAllDTMWalks(WalkNumber: Integer): Integer; //walk to well1
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;

begin
case WalkNumber of
1: begin
dtmMainPoint.x := 817;
dtmMainPoint.y := 287;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7504271;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 817;
dtmSubPoints[0].y := 287;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7504271;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 801;
dtmSubPoints[1].y := 282;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7504271;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 802;
dtmSubPoints[2].y := 274;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7504271;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 823;
dtmSubPoints[3].y := 290;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 7504271;
dtmSubPoints[3].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

2: begin
dtmMainPoint.x := 772;
dtmMainPoint.y := 311;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7635857;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 772;
dtmSubPoints[0].y := 311;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7635857;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 771;
dtmSubPoints[1].y := 288;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7635857;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 761;
dtmSubPoints[2].y := 294;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7635857;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 779;
dtmSubPoints[3].y := 328;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 7635857;
dtmSubPoints[3].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

3: begin
dtmMainPoint.x := 687;
dtmMainPoint.y := 296;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7635857;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 687;
dtmSubPoints[0].y := 296;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7635857;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 696;
dtmSubPoints[1].y := 279;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7635857;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 683;
dtmSubPoints[2].y := 272;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7635857;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 677;
dtmSubPoints[3].y := 282;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 7635857;
dtmSubPoints[3].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;

procedure WalkToWell1;

var
RoadColor : integer;

begin
if (not(loggedIn)) then exit;
MarkTime(Time);
setrun(true);
RoadColor := FindFallyRoadColor;
RadialRoadWalk(RoadColor, 80, 85, 73, -1, 1);
Antiban;
wait (2000);
FFlag(5);
WriteLn('Walk 1 - Sucess');
if (TimeFromMark(Time) <= 15000) then exit;
Failsafe;
if (RoadColor = 0) then
begin
WalkDTM := LoadAllDTMWalks(1);
if FindDTM(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 2, 2, True);
FFlag(5);
WriteLn('Walk 1 - Sucess');
end;
end else
begin
Players[CurrentPlayer].Active := False;
LogOut;
Writeln('Player false, next player')
end;
FreeDTM(WalkDTM);
end;

procedure WalkToWell2;
begin
if Findsymbol(x, y, 'water')then
begin
Mouse( x, y, 2, 2, true);
Writeln('Walk 2 - Sucess');
Antiban;
wait (2000);
FFlag(5);
if (TimeFromMark(Time) <= 20000) then exit;
Failsafe;
end else
begin
WalkDTM := LoadAllDTMWalks(2);
if FindDTM(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 2, 2, True);
FFlag(5);
WriteLn('Walk 2 - Sucess');
end;
FreeDTM(WalkDTM);
begin
Players[CurrentPlayer].Active := False;
LogOut;
Writeln('Player false, next player')
end;
end;
end;

procedure FountainColor;
var

FountainColors: Array[1..4] of integer;

begin
FountainColors[1] := 9336671
FountainColors[2] := 10914928
FountainColors[3] := 9074019
FountainColors[4] := 10191721
end;

procedure WettingBucket;
var

FountainColors: Array[1..4] of integer;
fountain : integer;

begin
MarkTime(Time);
wait(500+random(300));
BucketDTM := DTMFromString('78DA633466646028026224B0A0D90B4CC3441' +
'97580AC4A54353059B81A4D202B8B801A1B202B95801A2B20AB1C' +
'BF1A0035B804B5');
If FindDTM(BucketDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
for fountain := 1 to 4 do
if FindColorTolerance(a, b, FountainColors[fountain], MSx1, MSy1, MSx2, MSy2, 50)then
Mouse(x,y,0,0,True);
Mouse(a, b, 2, 2, true);
Antiban;
wait(8000+random(400));
end else
begin
WaterColor := FindFaladorWaterColor;
if FindColorTolerance(a, b, WaterColor, MSX1, MSY1, MSX2, MSY2, 50)then
begin
BucketDTM := DTMFromString('78DA633466646028026224B0A0D90B4CC3441' +
'97580AC4A54353059B81A4D202B8B801A1B202B95801A2B20AB1C' +
'BF1A0035B804B5');
FindDTM(BucketDTM,x,y,MIX1,MIY1,MIX2,MIY2)
Mouse(x,y,0,0,True);
Mouse(a, b, 2, 2, true);
Antiban;
wait(8000+random(400));
end else
begin
Players[CurrentPlayer].Active := False;
LogOut;
Writeln('Player false, next player')
if (TimeFromMark(Time) <= 20000) then exit;
Exit;
end;
end;
FreeDTM(WalkDTM);
FreeDTM(BucketDTM);
end;

procedure UseBucketOnClay;

begin
MarkTime(Time);
wait(500+random(300));
begin
BucketDTM := DTMFromString('78DA633466646028026224B0A0D90B4CC3441' +
'97580AC4A54353059B81A4D202B8B801A1B202B95801A2B20AB1C' +
'BF1A0035B804B5');
DryClayDTM := DTMFromString('78DA63DCC9C4C0B0979101192CEA8C06D3305' +
'1C64D986A60B27035DB816A761250B307A8E60001350708DB0500' +
'F94E08F2');
If FindDTM(BucketDTM,c,d,MIX1,MIY1,MIX2,MIY2) and FindDTM(BucketDTM,e,f,MIX1,MIY1,MIX2,MIY2) then
begin
Mouse(c,d,0,0,True);
Mouse (e,f,0,0,True);
Antiban;
Wait(12000);
end else
If (loggedIn)then
begin
MouseItem(1,true);
MouseItem(15,true);
Antiban;
wait(12000);
end else
begin
Players[CurrentPlayer].Active := False;
LogOut;
Writeln('Player false, next player')
if (TimeFromMark(Time) <= 20000) then exit;
end;
end;
end;

procedure WalkToBank1;

begin
begin
if (not(loggedIn)) then exit;
MarkTime(Time);
RoadColor := FindFallyRoadColor;
RadialRoadWalk(RoadColor, 300, 315, 73, 1, 1);
Antiban;
wait (2000);
FFlag(5);
WriteLn('Walk 1 Back - Sucess');
end;
if (RoadColor = 0) then
begin
WalkDTM := LoadAllDTMWalks(1);
if FindDTM(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 2, 2, True);
FFlag(5);
WriteLn('Walk 1 Back - Sucess');
end;
end else
begin
Players[CurrentPlayer].Active := False;
LogOut;
Writeln('Player false, next player')
end;

FreeDTM(WalkDTM);

end;

procedure WalkToBank2;

begin
If Findsymbol(x, y, 'Bank')then
begin
Mouse( x, y, 2, 2, true);
Antiban;
wait (2000);
FFlag(5);
BankDTM := DTMFromString('78DA637CC9C4C0A0CBC8800CD62EEE02D3305' +
'1C647403586A86AFEFC614255F38C0835EF8850F309C83722A0E6' +
'1B6135000B861286');
if FindDTMRotated(BankDTM,x,y,MMX1,MMY1,MMX2,MMY2,-1/8*pi,1/8*pi,1/32*pi,z) then
Mouse( x, y, 2, 2, true);
Antiban;
wait (2000);
FFlag(5);
Writeln('Walk 2 Back - Sucess')
end else
begin
WalkDTM := LoadAllDTMWalks(3);
if FindDTM(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 2, 2, True);
FFlag(5);
Antiban;
WriteLn('Walk 2 Back - Sucess');
end else
Players[CurrentPlayer].Active := False;
LogOut;
Writeln('Player false, next player')
if (TimeFromMark(Time) <= 20000) then exit;
Exit;
end;
if (TimeFromMark(Time) <= 15000) then exit;
Failsafe;
FreeDTM(WalkDTM)
end;

procedure DepositBank;

begin
if (not(loggedIn)) then exit;
MarkTime(Time);
OpenBank('feb',false,false);
wait (1000+random(200));
DepositAll;
Wait(500+random(100));
BucketDTM := DTMFromString('78DA633466646028026224B0A0D90B4CC3441' +
'97580AC4A54353059B81A4D202B8B801A1B202B95801A2B20AB1C' +
'BF1A0035B804B5');
If FindDTM(BucketDTM,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Mouse(x,y,0,0,False);
Wait(100+random(100));
ChooseOption('X');
Wait(400+random(200));
Typesend('14');
end;
Wait(500+random(200))
WetClayDTM := DTMFromString('78DA637CC2C4C0B09B9101191484F08269982' +
'8E363A09A0DA86A60B2703537806AF61150F30CA8E60801351F80' +
'6AF61050F316A866237E350059570AB1');
If FindDTM(WetClayDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Mouse(x,y,0,0,False);
Wait(100+random(100));
ChooseOption('ll');
end;
Wait(500+random(200));
DryClayDTM := DTMFromString('78DA63DCC9C4C0B0979101192CEA8C06D3305' +
'1C64D986A60B27035DB816A761250B307A8E60001350708DB0500' +
'F94E08F2');
If FindDTM(DryClayDTM,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Mouse(x,y,0,0,False);
Wait(100+random(100));
ChooseOption('X');
Wait(400+random(200));
Typesend('14');
end;
wait (1000+random(200));
Closebank;
wait (1000+random(200));
MakeCompass('N');
if (TimeFromMark(Time) <= 20000) then exit;
Failsafe;
FreeDTM(BucketDTM);
FreeDTM(WetClayDTM);
FreeDTM(DryClayDTM);
end;

procedure DepositBank2;

begin
WetClayDTM := DTMFromString('78DA637CC2C4C0B09B9101191484F08269982' +
'8E363A09A0DA86A60B2703537806AF61150F30CA8E60801351F80' +
'6AF61050F316A866237E350059570AB1');
If FindDTM(WetClayDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Mouse(x,y,0,0,False);
Wait(100+random(100));
ChooseOption('ll');
Wait(500+random(200));
DryClayDTM := DTMFromString('78DA63DCC9C4C0B0979101192CEA8C06D3305' +
'1C64D986A60B27035DB816A761250B307A8E60001350708DB0500' +
'F94E08F2');
end;
If FindDTM(DryClayDTM,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Mouse(x,y,0,0,False);
Wait(100+random(100));
ChooseOption('X');
Wait(200+random(200));
Typesend('14');
end;
Wait(1000+random(500));
CloseBank;
FreeDTM(WetClayDTM);
FreeDTM(DryClayDTM);
end;

procedure Report; // A proggy

begin
Writeln('//////////////////////////////////////////////////');
wait(200);
Writeln('////////// Wet! Progress Report////////////////');
wait(200);
Writeln('// Clay Wetted ' + IntToStr(Loads*28)+ ' clay///');
wait(200);
Writeln('// Thank you for using Wet!/////////////////////');
wait(200);
Writeln('//////////////////////////////////////////////////');

end;

Procedure ScriptTerminate;
begin
exit;
if (loggedIn) then logout;
Report;
SRLRandomsReport;
end;

Procedure MainLoop;

begin
loginplayer;
wait(800+random(500));
LeecherCheck;
SetAngle(true);
MakeCompass('N');

Repeat
DepositBank;
WalktoWell1;
WalktoWell2;
FountainColor;
WettingBucket;
UseBucketOnClay;
WettingBucket;
WalkToBank1;
WalkToBank2;
DepositBank2;
UseBucketOnClay;
Antiban;
Loads:= Loads+1
until Loads >= 3;

Logout;
Repeat
NextPlayer(Players[CurrentPlayer].Active);
until False;

end;

begin

SMARTSetUp('world57', True, True, False);
SetTargetDC(SMARTGetDC);
SetupSRL;
ScriptID := '938';
SRLId:= SRLStatsID;
SRLPassword:= SRLStatsPW;
SRLRandomsReport;
ActivateClient;
DeclarePlayers;
MainLoop;
ScriptTerminate;

end.

Currently version 1.1
New features
-DDTM walking as a backup if radial walking fails
-Added SMART
-Fixed Standards
-Backups for fountain finding and wetting clay
-Added function to prevent leechers fom using

This is my 2nd attempt at application for SRL members…
1st attempt located at http://www.villavu.com/forum/showthread.php?t=33892

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

Hugolord

2008-08-19 09:12:35

Yes from me, I like that you don't rely too much on reflection too and use DDTMs and backups ^^ :P

GJ

EvilChicken!

2008-08-19 09:13:25

No, but I think you should be allowed to reapply in two weeks.


Small example:
procedure FountainColor;
var

FountainColors: Array[1..4] of integer;

begin
FountainColors[1] := 9336671
FountainColors[2] := 10914928
FountainColors[3] := 9074019
FountainColors[4] := 10191721
end;

Since the variable is local, it is nil'ed as soon as SCAR exits that procedure.
And, fix standards.


Edit: Hugelord, they're not =.=`
Look closer.

Hugolord

2008-08-19 09:20:58

standards are fine?

Waddo

2008-08-19 10:57:09

Yes from me, there are some errors but we cant all be perfect.

Nava2

2008-08-19 12:14:31

Withheld.

Hobbit

2008-08-19 12:44:56

Time between apps was 8 days, but I'll let it go because the poll was so close.
Yes from me.

boberman

2008-08-19 13:41:32

Your failsafe function doesn't do anything useful. If the player isn't logged in it makes them inactive. but it doesn't send a message to switch players or anything, so the script continues without any change in course (clicking or trying to click colors).

You have TONS of global variable. Global variables are very bad and should be avoided at all costs. Instead you should use a parameter list for your procedures/functions.

There are a lot of repeated functions that really could be eliminated. For example WalkToWell1, 2, 3 Are all basically the same function that call different versions of a DTM or radial walk. Rather then do that, a loop would be much cleaner/easier to maintain. Not only that, but it looks like WalkToWell1 wasn't much more then a veiled attempt to add radial walking in.

The code is messy. It may get the job done but the ability to maintain this beast are a nightmare at best. If I where your CS teacher this would get a D at best.

However, Im not your CS teacher, and programming isn't everything for being a member. Ill say yes for now, but please learn to write better code. Clean code has less bugs, is easier to maintain, and will help the people around you correct any problems you might run into.

Rune Hacker

2008-08-19 14:31:56

Well, first thing I noticed was you include reflection but I didn't seem to find any functions from reflection.scar in this? And as I looked through this, it seemed very unorganized and didn't even look like it would work, there are too many exits, the begins and end elses don't seem to match up, it just looks weird to me. Read the script as if it was running and see what it does, you check failsafes but doesn't look like you do much about them, it just doesn't look right to me. I'm not going to vote yet, so do what boberman said, and I'd like to hear from someone if this works. I doubt that leecher function would stop leechers, I think they have a brain, even though it's small :P

Scaper

2008-08-19 15:01:53

im a yes since you were so close last time what was it like 12-13 or somthing like that

goodluck this time

a big YES

sirlaughsalot

2008-08-19 16:44:47

Im not allowed to vote (I dont think) but i would say no, for the following reasons:

1. "FailSafe" procedure will not work correctly

procedure Failsafe;

begin
if (loggedIn) then exit;
Writeln('Player false, next player');
Players[CurrentPlayer].Active := False;

end;

basically this says "if you are logged in i will exit this procedure" and it will not do the rest of the procedure… i should be


Procedure Failsafe;
begin
if not loggedin then
begin
Writeln('Player false, next player');
Logout;
Players[CurrentPlayer].Active:=False;
NextPlayer(Players[CurrentPlayer];
end;
end;

2. Incorrectly set things

In WalkToWell1 and 2 you use FindDTM, that wont work for mapwalking (usually) and im not sure why you have that split into 2 different procedures, you could simply stick the two together, there is really no need for it… Also in the second one, if it doesnt find the water symbol it will exit the procedure and wont go to the second one…

3.No use of TPA's

Your Fountain color procedure would be a perfect opportunity to display this method of object finding, i would also reccomend checking for uptext. Useing TPA's will help TREMENDOUSLY in getting members

4. Failsafes

You have very few failsafes that would work and be beneficial if you got lost… The if/then in FountainColor is not set properly for instance…

So in summary, very few failsafes, the most advanced thing you use is DDTM's which you dont even use properly, you have procedures that wont work correctly, not to mention the way you wrote it is very confusing…

If you want help with anything feel free to add me on msn, [email]lolzorzatmyself@hotmail.com[/email]

Rune Hacker

2008-08-19 18:08:44

sirlaughsalot, your an srl-member, that gives you permission to vote I'm pretty sure, I agree with your points.

Also, too many uses of "exit", I never found myself ever using exit, I walways just had a boolean variable I would just to true/false and a lot of the if/then/else need to be fixed.

And the MainLoop function looks really messed up, it looks like it does 3 loads, then gets stuck in a never ending loop going to the next player over and over but not doing anything on that player, I might be wrong though since I've never even heard of the NextPlayer function lol.

markuska815

2008-08-19 19:09:56

@ Sirlaughsalot - those procedures do the same thing becuase yours is : if your not logged in set the player false; and hers is: if you are logged in exit the procedure, so if your not logged in it will continue and set the player false. Its just a wierd way of doing that.

I have to say no again… youre only real complex knowledge of scripting seems to be DTMs… and the code is just wierd IMO. Lastly i think it is still a slightly too simple script.

boberman

2008-08-19 20:45:44

@Sirlaughsalot

Yeah, the code you wrote and she wrote are really the same. The biggest problem with it is that the failsafe prevents nothing. It doesn't return anything and it only modifies if the player is active. That doesn't make any difference in the flow of the script.

Think of a failsafe like a circuit breaker. A good circuit breaker will cut off all power to whatever area is effected when something goes wrong. Essentially, her failsafe triggers a light that nobody can see unless they open the box and look at it. When that happens, your house could burn down because of the failure that is happening (Or someone is being electrocuted and it doesn't lower the duration of the shock for them)

A good failsafe will significantly change the flow of the program. It may be that it switches from using reflections to using radial walking. whatever, it should significantly change what is going on.

sirlaughsalot

2008-08-19 21:30:35

o_o i just looked at what i wrote again and was like "WTF?!" my point though was to set it to switch to the next player… but really that should be done at the end of the script…

Scaper

2008-08-19 23:35:37

@ sirlaugsalot

you are right not to vote you have just beacme SRL member and looks like you have read the sticky at the top of the app thread,unlike some :rolleyes: yyou have to wait 2 weeks after becoming srl member to vote on apps :)

Nava2

2008-08-20 08:18:09

No, sorry boyo. Clean up your code and come back. I'm a stickler for that.

Also, some TPA's and some more knowledge which takes you from beginner to high intermediate.

Things like this make me feel as though you are a beginner:

procedure Antiban;
begin
if not LoggedIn then Exit;
Status('Performing Antiban');
case Random(250) of
0:
begin
HoverSkill('Crafting', False);
Gametab(4);
wait(500+random(100));
end;
1:
begin //begins and ends aren't needed when its only one line.
wait(3000+random(300));
end;
2:
begin
GameTab(1 + Random(12));
wait(800 + random(500));
GameTab(4);
wait(500+random(300));
end;
3:
begin
MouseBox(MSx1, MSy1, MSx2, MSy2, 3);
end;
end; //you have only 4 pieces of antiban that aren't called enough. it should be called about 1:10-15.
Gametab(4); //This will screw up your script, trust me. Unless you don't call antiban enough... :)
Status('SCAR Divi CDE'); //Why?
end;

PS. You NEED randomness in every procedure. You can't keep doing Wait(3000). It is detectable. Do: Wait(2750 + Random(500));

Waddo

2008-08-20 11:00:28

Code being different is good i my styleof scripting is completly different to most others take wizzys code and take my code wizzys is better yes but wizzys is far more confusing mine is all most pseudo code

Metagen

2008-08-22 10:36:14

yes from me :D

Negaal

2008-08-22 14:23:05

From: Metagen
yes from me :D

.

Hobbit

2008-08-29 02:28:52

Sorry a bit late…

9 yes
8 no

Welcome :)