SRL Archive - Archive

laurenssie0 - SRL Member Application Form


Laur€ns

2008-07-29 11:00:01

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

What is the meaning to life?


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



Programming Knowledge
Ehhm.. Standard VB, and VB2008 (little for Warrock hacks)

Other Communitys
Some, don't know them all :]

How Long have You Played Runescape
2½ years legit, ½ year macros

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

Well.. I am Laurens, 14 years old, I live in Zwijndrecht, a small but nice city in The Netherlands. I was born on October 17th, 1993. My hobbies are computers, Korfball and my school is the "Johan de Witt gymnasium" in Dordrecht. I have to ride 8 kilometers every day to get there, but it's well worth it :) I am almost 1.85 meters (6'00") long and still growing ^^ I am not so good at maths (4.6 out of 10 at my list) and my English is not awesome too ;) Later, I want to do something with computers. I come to this site by Google, when I searched for Runescape Bot. And I hope to stay here long time :)

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

I made a Monk Killer/Healer :)
And special thanks to PvH who helped me :D

With: (Yes = Green, Somewhat = Orange, No = Red)

* DTMs / DDTMs
* Decent complex working script. Up to you to judge!
* FailSafes
* MultiPlayer
* Break out of potential endless loops
* Standards! Required to get people read your script.
* RadialWalk / DTM Walking




Procedure/Functions overview:


// * procedure DeclarePlayers // * by SRL Developers
// * function LaurensWait(Time:integer) // * by Laurenssie0
// * function LaurensMessage(Message:String) // * by Laurenssie0
// * function WhatsTheUpText(Uptext:String):boolean // * by Laurenssie0
// * function HpIsBelowX(Percent:integer):boolean // * by Laurenssie0
// * procedure SetRunningMode(BooleanX:Boolean) // * by Laurenssie0
// * procedure Increase // * by Laurenssie0
// * function AreYouAtMonastery:Boolean // * by Laurenssie0
// * procedure ToMonasterySection(Which:string):Boolean // * by Laurenssie0
// * procedure RotateCompass // * by PvH, modified a little by Laurenssie0 :)
// * procedure AntiBanMe // * by Laurenssie0
// * procedure OtherPlace(Opposite:Boolean) // * by Laurenssie0
// * procedure GimmeMonk:Boolean // * by Laurenssie0
// * procedure HandleHeal // * by PvH
// * procedure HealMeh // * by Laurenssie0 / uses PvH's HandleHeal
// * procedure BuryBones **Deleted, stopped working =[** // * by Laurenssie0
// * function FightTehMonk:boolean; // * by Laurenssie0
// * procedure KillMonk // * by Laurenssie0
// * procedure SetVariables // * by Laurenssie0
// * procedure SetUpPlayer // * by Laurenssie0
// * procedure SetUpClient // * by Laurenssie0
// * procedure SwitchChars(States:Boolean) // * by Laurenssie0 / uses the Dev's procedure to switch.
// * procedure ProgressReport // * by Laurenssie0
// * procedure Execution // * by Laurenssie0

// Myself: 20/23
// Others: 01/23
// Modded: 02/23

// Percent myself: 86,956521739130434782608695652174% //Close enough to the 90%.. ;)

// Percent others: 4,3478260869565217391304347826092%
// Percent modded: 8,6956521739130434782608695652174%
// Total: 100,0%



Now the actual code:(h)
682 Lines!

{.Script Info:
# ScriptName = Monk Killer and Healer
# Author = Laurenssie0
# Description = Kills monks and heals at them (@ Monastery near edgeville)
# Version = 1.337
# Date = Started making: 08/07/08 Finished: 23/07/08
# Comments = SRL Members Application.
/Script Info}

{============================INSTRUCTIONS=======================================
1. Fill in Declare Players and consts
2. Go to the middle of the monastery, so it is COMPLETELY visible on minimap
3. Press the shiney green button
4. Enjoy the killing
5.
if YouLikeIt then inc(Yes) else inc(NoobPoints);
===============================================================================}

//Special thanks to PvH for helping and giving me 2 of his procedures :)

// * procedure DeclarePlayers // * by SRL Developers
// * function LaurensWait(Time:integer) // * by Laurenssie0
// * function LaurensMessage(Message:String) // * by Laurenssie0
// * function WhatsTheUpText(Uptext:String):boolean // * by Laurenssie0
// * function HpIsBelowX(Percent:integer):boolean // * by Laurenssie0
// * procedure SetRunningMode(BooleanX:Boolean) // * by Laurenssie0
// * procedure Increase // * by Laurenssie0
// * function AreYouAtMonastery:Boolean // * by Laurenssie0
// * procedure ToMonasterySection(Which:string):Boolean // * by Laurenssie0
// * procedure RotateCompass // * by PvH, modified a little by Laurenssie0 :)
// * procedure AntiBanMe // * by Laurenssie0
// * procedure OtherPlace(Opposite:Boolean) // * by Laurenssie0
// * procedure GimmeMonk:Boolean // * by Laurenssie0
// * procedure HandleHeal // * by PvH
// * procedure HealMeh // * by Laurenssie0 / uses PvH's HandleHeal
// * procedure BuryBones **Deleted, stopped working =[** // * by Laurenssie0
// * function FightTehMonk:boolean; // * by Laurenssie0
// * procedure KillMonk // * by Laurenssie0
// * procedure SetVariables // * by Laurenssie0
// * procedure SetUpPlayer // * by Laurenssie0
// * procedure SetUpClient // * by Laurenssie0
// * procedure SwitchChars(States:Boolean) // * by Laurenssie0 / uses the Dev's procedure to switch.
// * procedure ProgressReport // * by Laurenssie0
// * procedure Execution // * by Laurenssie0

// Myself: 20/23
// Others: 01/23
// Modded: 02/23

// Percent myself: 86,956521739130434782608695652174% //Close enough to the 90%.. ;)
// Percent others: 4,3478260869565217391304347826087%
// Percent modded: 8,6956521739130434782608695652174%
// Total: 99,999999999999999999999999999995% //Huh?



Program MonasteryMassacre;
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Skill/Fighting.Scar}


Const
DetailDebug = False;//Wanna see some crap?? Turn it on.
AntiBanAmount = 10; //Likeness of antiban. The higher, the less antiban performs.
MonkColor = 2242371;//Having trouble finding monks? Pick new color & change.
BoneColor = 10000806;//Script can't find bones? Pick new color & change it.

{*******************************************************************************
Procedure: DeclarePlayers
Made by : SRL Developers
Sets up the player array
*******************************************************************************}
procedure DeclarePlayers;
begin
HowManyPlayers:=1;
CurrentPlayer:=0;
NumberOfPlayers(HowManyPlayers);

Players[0].Name := 'laurenssie0';
Players[0].Pass := '';
Players[0].Nick := 'aure';
Players[0].Integers[0]:=100;//Number of monks
Players[0].Integers[1]:=60;//Seconds per kill
Players[0].Integers[2]:=50;//Script will heal if below (..)% of health
Players[0].Integers[3]:=15;//MPP (Minutes Per Player)
Players[0].Strings[1] := 'Strength'; //What skill do you want to train? Attack, Strength,Defence,Spreaded
Players[0].Booleans[0]:=True;//True To Heal At Monks. Recommended to be ON

{ Players[1].Name := 'User Name';
Players[1].Pass := 'Password';
Players[1].Nick := 'ser';
Players[1].Integers[0]:=100;//Number of monks
Players[1].Integers[1]:=60;//Seconds
Players[1].Integers[2]:=50;//Script will heal if below (..)% of health
Players[1].Integers[3]:=15;//MPP (Minutes Per Player)
Players[1].Strings[1] := 'Strength'; //What skill do you want to train? Attack,Strength,Defence,Spreaded
Players[1].Booleans[0]:=True;//True To Heal At Monks. Recommended to be ON }

end;

{[[[[[[[[[[[[[[[[[[[[[Scripting code starts here]]]]]]]]]]]]]]]]]]]]]]]]]]]}
{[[[[[[[[[[[[[[[[[[[[[[[[[[Prepare yourself!]]]]]]]]]]]]]]]]]]]]]]]]]]]]]}

Var
x, y, MonksSlain, TotMonksSlain, TimeForPlayer: Integer;
Upper, Lower:Boolean;


{*******************************************************************************
Procedure: LaurensWait
Made by : Laurenssie0
Just a modification to show I know functions :)
*******************************************************************************}
Procedure LaurensWait(Time:integer);
Begin
Wait(Time);
End;

{*******************************************************************************
Procedure: LaurensMessage
Made by : Laurenssie0
If you have set the detailed debug, it shows extended information.
*******************************************************************************}
Procedure DetDebug(TextLine:String);
Begin
If DetailDebug Then Writeln(TextLine);
End;

{*******************************************************************************
Function: WhatsTheUpText
Made by : Laurenssie0/SRL Developers -> Uses IsUpText from the SRL Developers
Searches for the uptext in the left upper corner of your RS screen
*******************************************************************************}
Function WhatsTheUpText(Uptext:String):boolean;
Var
MaxTime:Integer;
Begin
MarkTime(MaxTime);
Repeat
Wait(1);
Result:=IsUpText(Uptext);
Until(TimeFromMark(MaxTime)>100) Or Result;
End;

{*******************************************************************************
Function: HpIsBelowX
Made by : Laurenssie0
Calculates how much HP percents you have left. -Random 20% for safety.
*******************************************************************************}
Function HpIsBelowX(Percent:integer):boolean;
Begin
Result:=HPPercent < Percent-Random(20);;
end;

{*******************************************************************************
Procedure: SetRunningMode
Made by : Laurenssie0 / SRL Developers
Sets the running mode on if your running energy is more than 30%.
*******************************************************************************}
Procedure SetRunningMode(BooleanX:Boolean);
Var
S:Integer;
ColorSign:String;
Begin
S := GetMMLevels('run', ColorSign);
If (S > 30) Or HPIsBelowX(Players[CurrentPlayer].Integers[2]) then SetRun(True) else SetRun(False);
End;

{*******************************************************************************
Procedure: IncreaseTotals
Made by : Laurenssie0
Increases the amounts of killed monks
*******************************************************************************}
Procedure Increase;
Begin
Inc(TotMonksSlain);
end;

{*******************************************************************************
Function: AtMonastery
Made by : Laurenssie0
Returns true if you are at the monastery. Wheter if it founds the DTM or the water symbol
*******************************************************************************}
Function AreYouAtMonastery:Boolean;
Var
Monastery:integer;
Begin
if Not LoggedIn Then Exit;
Monastery := DTMFromString('78DA6394636060906740012C8C8C609A11CA6' +
'7B40712ACA86ABE7CFA82AAC60E48D81150C389A9262B2311550D' +
'079060C36F0E005E900B24');
Result:=DTMRotated(Monastery, X, Y, MMX1, MMY1, MMX2, MMY2);
FreeDTM(Monastery);
If Not Result then
begin
DetDebug('Not At The Monastery');
Result:=FindSymbol(x, y, 'Water');
If Result Then DetDebug('Could Not Find DTM, but found water symbol.');
DetDebug('We are at the monastery.');
End Else
DetDebug('At monastery');
End;

{*******************************************************************************
Procedure: ToMonasterySection
Made by : Laurenssie0
Goes to a different corner of the monastery.
*******************************************************************************}
Function ToMonasterySection(Which:string):Boolean;
Var
DTM:integer;
Begin
if Not LoggedIn Then Exit;
SetRunningMode(True);
Case LowerCase(Which) of
'middle' : DTM := DTMFromString('78DA636467606000612490959108A619A17C4' +
'63E060C60E56A82A98617558DB1163FAA1A10838F805D2006337E' +
'3500AE42050D');
'upper left' : DTM := DTMFromString('78DA63E462606060674001591989609A11CA6' +
'71444E24081A59B0EAA1A0120C185AAC6588B1F550D3390E02660' +
'17480D337E3500AE6E050C');
'lower left' : DTM := DTMFromString('78DA63646760606063400161324C609A11CA6' +
'7E40312DCA86A6C9DB530D530A1AAC9CA484455C348841A064CBB' +
'EC1D1551D400006D410474');
End;
Result:=DTMRotated(DTM, X, Y, MMX1, MMY1, MMX2, MMY2);
if Not Result then Result:=FindSymbol(X, Y, 'Water');
If Not Result then DetDebug('Location = Not At The Monastery') Else DetDebug('Location = Monastery At The '+Which);
If Which='Upper Left' then X:= X - 2;
If Which='Upper Left' then Y:= Y + 2;
If Which='Lower Left' then Y:= Y + 2;
If Result Then
Begin
Mouse(X, Y, 0, 0,True);
FFlag(20);
End;
If Result then Players[CurrentPlayer].Loc:= Which;
SetRunningMode(False);
FreeDTM(DTM);
End;

{*******************************************************************************
Procedure: RotateCompass
Made by : PvH, modified by me :)
Rotates the compass, used in antiban..
*******************************************************************************}

procedure RotateCompass;
begin
if not LoggedIn then Exit;
case random(9) of
0: MakeCompass(IntToStr(Random(250)));
1: MakeCompass(IntToStr(Random(174)));
2: MakeCompass(IntToStr(90+random(220)));
3: MakeCompass('W');
4: MakeCompass('E');
5: MakeCompass('N');
6: MakeCompass('S');
7: Setangle(true);
8: Setangle(false);
end;
MakeCompass('N');
Setangle(false);
end;

{*******************************************************************************
Procedure: AntiBanMe
Made by : Laurenssie0 / SRL Developers
Doesn't get you banned
*******************************************************************************}
Procedure AntiBanMe;
Var
B: Integer;
Begin
If Not LoggedIn Then Exit;
B := Random(AntiBanAmount);
Case B Of
0: HoverSkill('random', False);
1: HoverSkill('random', False);
2: HoverSkill('strength', False);
3: PickUpMouse;
4: MMouse(Random(MSX2), Random(MSY2), 3, 3);
5: TypeSend('str lvl??');
End;
GameTab(4);
End;


{*******************************************************************************
Procedure: OtherPlace
Made by : Laurenssie0
Walks to another side of the Monastery.
*******************************************************************************}
Procedure OtherPlace(Opposite:Boolean);
begin
If Opposite Then
Begin
Case LowerCase(Players[CurrentPlayer].Loc) of
'middle':Case Random(3) of
0: ToMonasterySection('Upper Left');
1: ToMonasterySection('Upper Left');
2: ToMonasterySection('Lower Left');
3: ToMonasterySection('Lower Left');
end;
'upper left':Case Random(2) of
0:ToMonasterySection('Middle');
1:ToMonasterySection('Lower Left');
2:ToMonasterySection('Middle');
End;
'lower left':Case Random(2) of
0:ToMonasterySection('Middle');
1:ToMonasterySection('Upper Left');
2:ToMonasterySection('Middle');
End;

End;

End else
Begin
Case LowerCase(Players[CurrentPlayer].Loc) of
'middle':Case Random(3) of
0: ToMonasterySection('Upper Left');
1: ToMonasterySection('Upper Left');
2: ToMonasterySection('Lower Left');
3: ToMonasterySection('Lower Left');
end;
'lower left':Case Random(4) of
0:ToMonasterySection('Upper Left');
1:ToMonasterySection('Upper Left');
2:ToMonasterySection('Middle');
3:ToMonasterySection('Middle');
End;
'upper left':Case Random(3) of
0:ToMonasterySection('Lower Left');
1:ToMonasterySection('Lower Left');
2:ToMonasterySection('Middle');
End;

End;
End;
If Not Lower And Upper Then Logout;
End;

{*******************************************************************************
Procedure: FindMonk
Made by : Laurenssie0
Finds monks by using TPA.
Notes : Thanks TPA tutorial writers!
*******************************************************************************}
Function GimmeMonk:Boolean;
Var
MonkTpa: TpointArray;
Monk: T2DPointArray;
H, Hx, Hy, CTS, I, Timer:Integer;
Begin
MouseSpeed:=30;
Timer:=GetSystemTime;
if not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
If not CTS = 2 Then ColorToleranceSpeed(2);
FindColorsSpiralTolerance(X, Y, MonkTPA, MonkColor, MSX1, MSY1, MSX2, MSY2, 10); Monk:= TPAtoATPAEx(MonkTPA, 17, 18);
H:=High(Monk);
For I := 0 To H Do
Begin
MiddleTPAEx(Monk[i], X, Y); DetDebug('Took '+ IntToStr(GetSystemTime - Timer) +' MiliSecs To Find The Monk.'); If Not InFight Then If Not FindColorSpiralTolerance(Hx,HY,255,X-30,Y-30,X+30,Y+30,15) And Not FindColorSpiralTolerance(Hx,HY,65280,X-30,Y-30,X+30,Y+30,15) Then
Begin
MMouse(X, Y, 3, 3);
Wait(30+random(10));
Result:=WhatsTheUpText('onk');
If Result Then Break;
If Not Result Then Wait(1000 + Random(500));
End;
End;
If Not result Then DetDebug('Monk Not Found.');
If Not result Then OtherPlace(False);
ColorToleranceSpeed(CTS);
MouseSpeed:=15;
End;

{*******************************************************************************
Procedure: HandleHeal
Made by : PvH given to me via MSN :) Thanks for the tips and corrections!
Handles the healing process.
*******************************************************************************}
procedure HandleHeal;
var
Failsafe:integer;
begin
if not LoggedIn then exit;
marktime(FailSafe);
repeat
wait(3000+random(2000));
if not ClickContinue(True,True) then break;
if TimeFromMark(Failsafe) > 100000 then break;
until(false)
end;

{*******************************************************************************
Procedure: Heal
Made by : Laurenssie0
Heals at the monks.
*******************************************************************************}

Procedure HealMeh;
Var
MaxTime:integer;
Begin
if Not LoggedIn Then Exit;
If Players[CurrentPlayer].Booleans[0]Then
Begin
OtherPlace(True);
Repeat
If GimmeMonk Then
begin
Mouse(X, Y, 0, 0, False);
Wait(25+random(10));
If ChooseOption('alk') then
Begin
MarkTime(MaxTime)
Repeat
If FindTalk Then Break;
Until(TimeFromMark(MaxTime)>8000) or ClickToContinue;
If Not (TimeFromMark(MaxTime)>8000) Then
Begin
HandleHeal;
end;
end;
end;
FindNormalRandoms;
If InFight then OtherPlace(True);
Until Not HpIsBelowX(99);
End;
End;

{*******************************************************************************
Function: FightMonk
Made by : Laurenssie0
Guess what it does? Yes, it fights monks.
*******************************************************************************}
Function FightTehMonk:Boolean;
Var
MaxTime:integer;
Begin
if Not LoggedIn Then Exit;
MarkTime(MaxTime);
Repeat
if GimmeMonk Then
Begin
Case Random(2) of
0:Begin
Mouse(X,Y,0,0,False);
LaurensWait(20+ Random(10));
Result:=ChooseOption('ttack');
End;
1:Begin
Mouse(X,Y,0,0,True);
Result:=FindColorTolerance(X, Y,255,X-10,Y-10,X+10,Y+10,5)
End;
end;
If InFight Then Break;
If Result Then Break;
end else
Wait(2500);
Until(TimeFromMark(MaxTime)>7500)
ClicktoContinue;
End;

{*******************************************************************************
Procedure: KillMonk
Made by : Laurenssie0
...
*******************************************************************************}
Procedure KillMonk;
Var
MaxTime:integer;
Begin
If Not LoggedIn Then Exit;
If HPIsBelowX(Players[CurrentPlayer].Integers[2]) then HealMeh;
FindNormalRandoms;
If FightTehMonk Then
Begin
Wait(3750+Random(1250));
MarkTime(MaxTime);
Repeat
FindNormalRandoms;
Until (InFight)or(TimeFromMark(MaxTime)>10000);
MarkTime(MaxTime);
Repeat
Wait(100);
FindNormalRandoms;
Until (Not InFight) or HpIsBelowX(Players[CurrentPlayer].Integers[2]) or (TimeFromMark(MaxTime)>Players[CurrentPlayer].Integers[1]*1000)
If Not LoggedIn Then Exit;
If Not InFight then Increase;


If HpIsBelowX(Players[CurrentPlayer].Integers[2]) then HealMeh;
If Not InvFull Then
FindNormalRandoms;
End;
End;


{*******************************************************************************
Procedure: SetVariables
Made by : Laurenssie0
Sets the variables to let the script run good
*******************************************************************************}

Procedure SetVariables;
var
F: Integer;

begin
for F := 0 to HowManyPlayers - 1 do
begin
Players[F].Loc := 'Middle';
Players[F].Active := True;
end;
end;

{*******************************************************************************
Procedure: SetupPlayer
Made by : Laurenssie0
Sets up the player by doing:

* Setting monk kill to 0
* Logs in
* Sets highest angle
* Makes compass good so the char won't walk to the outside
* Sets fight mode
* Walks to a random section.
*******************************************************************************}

Procedure SetUpMyPlayerz;
Begin
MonksSlain:=0;
Wait(1000);
LoginPlayer;
Wait(1000 + Random(500));
SetAngle(True);
MakeCompass('W');
wait(1000 + Random(500));
MakeCompass('N');
FindNormalRandoms;
GameTab(1);
Case LowerCase(Players[CurrentPlayer].Strings[1]) of
'attack': SetFightMode(1);
'strength':SetFightMode(2);
'spreaded':SetFightMode(3);
'defensive':SetFightMode(4);
End;
GameTab(4);
Case Random(3) of
0:ToMonasterySection('Middle');
1:ToMonasterySection('Upper Left');
2:ToMonasterySection('Lower Left');
End;

End;
{*******************************************************************************
Procedure: SetupClient
Made by : Laurenssie0
Makes the client ready to auto by setting the vars, declaring the players and activate the client.
*******************************************************************************}

Procedure SetUpMyClient;
Begin
SetVariables;
DeclarePlayers;
ActivateClient;
SetVariables;
End;
{*******************************************************************************
Function: AllFalse
Made by : Unknown...
Returns true if all players are false.
*******************************************************************************}
Function AllFalse: Boolean;
Var
I: Integer;
Begin
For I := 0 To High(Players) Do
If Players[CurrentPlayer].Active Then
Exit;
Result := True;
End;

{*******************************************************************************
Procedure: SwitchChars
Made by : laurenssie0
Switches the characters...
***********************8*******************************************************}

Procedure SwitchChars(States:Boolean);
Begin
If ALLFalse Then
Begin
Writeln('ALL Players Are False, Thanks For Using My Script!');
TerminateScript;
End;
If States Then
Begin
DetDebug('Yepee, we''ve slain enough monks to make your happy :)');
LogOut;
NextPlayer(True);
SetUpMyPlayerz;
End Else
Begin
DetDebug('Next player is false, little error here :) Fixing..')
Logout;
NextPlayer(False);
SetUpMyPlayerz;
End;
End;

{*******************************************************************************
Procedure: GlobalProggy
Made by : Laurenssie0
Makes a proggy in the debug-canvas window and in the debug below here.
*******************************************************************************}

Procedure ProgressReport;
Var
F:integer;
Begin
Writeln('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
Writeln('Monk Killer and Healer by laurenssie0');
Writeln('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
Writeln('Monks powned:= '+ IntToStr(TotMonksSlain));
Writeln('In: '+ TimeRunning);
Writeln('-=-=-Player-specific report-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
Writeln('Nickname -=- Number of Monks slain ritually');
For F:=0 To HowManyPlayers - 1 Do
Begin
Writeln(+Players[F].Name+' -=- '+IntToStr(Players[F].Integers[4]));
end;
Writeln('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
End;


{/ \}

{\ Main execution here /}
{/ \}

Procedure Execution;
begin
ClearDebug;
SetUpSRL;
ProgressReport;
SetUpMyClient;
SetUpMyPlayerz;
DeleteDebugline(1);
Repeat
SetUpMyPlayerz;
MarkTime(TimeForPlayer);
Repeat
ClearDebug;
If Not Loggedin Then Break;
KillMonk;
AntiBanMe;
ProgressReport;
Until
{No standards, to keep it all visible and clear (for me}
(Not LoggedIn)or ( MonksKilled >= (Players[Currentplayer].Integers[0]))or
(TimeFromMark(MaxPlayerTime)>Players[Currentplayer].Integers[2]*60000+Random(10000));

If (MonksKilled> (Players[Currentplayer].Integers[0]))
or (TimeFromMark(MaxPlayerTime)>Players[Currentplayer].Integers[2]*60000) Then SwitchChars(True);

If Not LoggedIn Or Not ( MonksKilled >= (Players[Currentplayer].Integers[0]))
or (TimeFromMark(MaxPlayerTime)>Players[Currentplayer].Integers[2]*60000) Then SwitchChars(False);
{End of no standards}
ProgressReport;
Until(AllFalse);

If AllFalse Then Writeln('All your chars are Falsee! Terminating,,');
If AllFalse Then TerminateScript;
End;

begin
Execution;

Writeln('Completed! Run again..');
end.

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

PvH

2008-07-29 11:04:55

Finally, you submitted it:p
I really like your application this time <3
I have nothing to say, but: YES!
I already told you all the bugs on msn, and you fixed them:)
You seem to be a good scripter, and IMO you deserve it to become a srl member this time.
You act nice on the forums, your scripting skills are good and you are a fast learner^^

Thanks for the credits and I hope you get in:D
Good luck!

PvH

Laur€ns

2008-07-29 11:05:52

Yaaaay :) Thanks PvH :)

MasterKill

2008-07-29 11:34:06

Procedure SetVariables;
var
F: Integer;

begin
for F := 0 to HowManyPlayers - 1 do
begin
Players[F].Loc := 'Middle';
Players[F].Active := True; // some people set players false to not use them this time? 0.0
end;
end;

lol if thats all you did a very good job, yes from me.

Laur€ns

2008-07-29 11:35:06

Yay thanks :)
3-0 :)

Claymore

2008-07-29 11:50:03



{*******************************************************************************
Procedure: LaurensWait
Made by : Laurenssie0
Just a modification to show I know functions :)
*******************************************************************************}
Procedure LaurensWait(Time:integer);
Begin
Wait(Time);
End;

{*******************************************************************************
Procedure: LaurensMessage
Made by : Laurenssie0
If you have set the detailed debug, it shows extended information.
*******************************************************************************}
Procedure DetDebug(TextLine:String);
Begin
If DetailDebug Then Writeln(TextLine);
End;

Whats that? That isn't necessary, if you want to show use, try doing something like


FindMonk(var mx, my : Integer; Color, Tolerance : Integer): Boolean;

Thats a good way to show things. But that doesn't matter! Your script looks amazing! Better than how i started off! I would vote a yes, but i can't yet.

EDIT: And PvH, i bet you taught him alot of this, good job! You taught well.

Twisted

2008-07-29 12:07:41

um, the wait has no randomness. s it's more detectable… Should be something like

Procedure Wait(WaitTime, Randomness :Integer);
begin
Wait(WaitTime, +Random(Randomness));
end;

But it truly unnecessary.. like death said.

EDIT: Also, there's no randomness in the clicks, but it looks good, but I'm not going to vote.

Laur€ns

2008-07-29 12:15:36

Just to show I know functions :)

Twisted

2008-07-29 12:25:18

I agree with death on you trying to show you know functions.

Scaper

2008-07-29 13:18:04

[Yes]Way better than ya last app i think you deserve it this time nice script ill be testing later :)

Laur€ns

2008-07-29 13:44:42

Thanks, Scaper!

ShowerThoughts

2008-07-29 14:52:30

Learn to credit better and, YES

Laur€ns

2008-07-29 16:34:25

Mastaraymond, why No? :o

Bam Bam

2008-07-29 16:54:19

I like the script, but it certainly could be shortened in some areas and readability/standards could be improved, but you seem to know that (the link in my signature could help you if your interested).

Yes.

Hobbit

2008-07-29 17:00:53

Yeah… there are a few somewhat useless procedures/functions you put in there at could easily be part of another one or a main loop.

1. LaurensWait <<< only thing you did was change the name from "Wait"
2. DetDebug
3.HPIsBelowX
4. Increase

But over all looks good… Yes

P1nky

2008-07-29 18:52:01

well i like it but i heard alot of people saying credit.. and such so i dont know if 90% is all yours…

so i wont vote atm
tbh
i doubt you did all you must have gotten alot of help.. from a beginner to middle intermediate… less than a month :S

richk1693

2008-07-29 19:27:39

Looks good to me. Yes.

Laur€ns

2008-07-30 03:48:50

From: Bam Bam
I like the script, but it certainly could be shortened in some areas and readability/standards could be improved, but you seem to know that (the link in my signature could help you if your interested).

Yes.

I've already seen that tutorial (Last members app I was advised to read it)

From: Hobbit
Yeah… there are a few somewhat useless procedures/functions you put in there at could easily be part of another one or a main loop.

1. LaurensWait <<< only thing you did was change the name from "Wait"
2. DetDebug
3.HPIsBelowX
4. Increase

But over all looks good… Yes

Okay, I'll improve it and eventually release it to the Juniors :)


From: P1NKY
well i like it but i heard alot of people saying credit.. and such so i dont know if 90% is all yours…

so i wont vote atm
tbh
i doubt you did all you must have gotten alot of help.. from a beginner to middle intermediate… less than a month :S

Well, as PvH told me, he was new here, learned SCAR in a week and waited two weeks for his application. And, PvH helped me indeed on MSN.. That's up there somewhere, before the actual script code. And the HandleHeal and RotateCompass is from PvH.

From: richk1693
Looks good to me. Yes.

Thanks :)

P1nky

2008-07-30 14:10:05

ah what the heck YES!

:) looks really good, keep it up!

Sumilion

2008-07-30 15:37:05

In!