Tniffoc
2008-10-03 23:35:27
<!– BEGIN TEMPLATE: formanswers –>
tniffoc - SRL Member Application Form
tniffoc
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Java, PHP, a little C++, HTML, some CSS
Other Communitys
none
How Long have You Played Runescape
A few years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
A few years back, I started learning Java, which I used to build GUI applications and even some client-server applications. After that, I went on to build a few websites using Apache, MySQL, PHP, and HTML. Included in one of the sites was CSS. Because of my interest in MMORPGs, I found SRL and quickly got interested.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
tniffoc - SRL Member Application Form
tniffoc
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Java, PHP, a little C++, HTML, some CSS
Other Communitys
none
How Long have You Played Runescape
A few years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
A few years back, I started learning Java, which I used to build GUI applications and even some client-server applications. After that, I went on to build a few websites using Apache, MySQL, PHP, and HTML. Included in one of the sites was CSS. Because of my interest in MMORPGs, I found SRL and quickly got interested.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
//----------------------------------------------------------------------------\\
{Tniffoc's WillowOnAPillow
DESCRIPTION: This script cuts willows in Draynor. It will drop or bank depending on the option you chose.
INSTRUCTIONS: Fill out the DeclarePlayers section. Then place you players in the
area of the Draynor Willows. Press run.
NOTES: This is not a REFLECTION script. I want to keep it old-school.
Munk, you inspired me to do this with your "forefeathers". If you want to borrow a
function/procedure, you can, but only if you credit me! If you don't understand
why or how that function/procedure works, just pm me.
WORLD SETUP NOTICE:
Autoresponding and talking to others will not work on the default quickchat world.
I am working to add that in 3.2
CREDITS: sirlaughsalot -- You helped me alot!
NiCbaZ -- You gave me constructive feedback on my previouse scripts!
MasterKill -- You brought the NumberOfActive function!
Munk -- Forefeathers showed my short scripts were possible!
Nielsie95 -- You were patient with all my requests of you Admin powers.
Zytex! -- You helped at every corner!
All others -- You all helped in one way or another.
If I forgot you, Please pm me and I'll add ya!
\\----------------------------------------------------------------------------//
}
program TniffocsWillowOnAPillow;
{.include SRL/SRL/misc/Smart.scar}
{.include SRL/srl.scar}
{.include SRL/SRL/skill/Woodcutting.scar}
const
//Customize Anti-Ban
AutoRespond = true; // Do you want to AutoRespond?
TalkToOthers = false; // Do you want to talk to others?
//SRL STATS
YourID = 'id'; // Your stats id here
YourPW = 'pw'; //Your stats pw here
var
x,y,loads: Integer;
CurrentTolerance: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers:= 1; // How many players are you using? VERY IMPORTANT!!!!!
NumberOfPlayers(HowManyPlayers);
Players[0].Name:= 'username'; // Your character's username.
Players[0].Pass:= 'password'; // Your character's password
Players[0].Nick:= 'nic'; // 3-4 letters out of you character's username.
Players[0].Active:= true; // Are you going to use this player?
Players[0].Loc:= 'Draynor Willows'; //Leave this alone!!!!
Players[0].Integers[0]:= 5; // Loads to do with this player
Players[0].Integers[1]:= 5; // Sleeping time, in mins. Doesn't apply if not sleeping
Players[0].Booleans[0]:= true; //Sleep?
Players[0].Booleans[1]:= true; // True for banking false for powercutting
Players[0].Booleans[2]:= false; // Run to bank
Players[0].Booleans[3]:= false; // Run while at the trees.
{
Players[1].Name:= 'username'; // Your character's username.
Players[1].Pass:= 'password'; // Your character's password
Players[1].Nick:= 'nic'; // 3-4 letters out of you character's username.
Players[1].Active:= True; // Are you going to use this player?
Players[1].Loc:= 'Draynor Willows'; //Leave this alone!!!!
Players[1].Integers[0]:= 2; // Loads to do with this player
Players[1].Integers[1]:= 5; // Sleeping time, in mins. Doesn't apply if not sleeping
Players[1].Booleans[0]:= true; //Sleep?
Players[1].Booleans[1]:= true; // True for banking false for powercutting
Players[1].Booleans[2]:= false; // Run to bank
Players[1].Booleans[3]:= false; // Run while at the trees.
Players[2].Name:= 'username'; // Your character's username.
Players[2].Pass:= 'password'; // Your character's password
Players[2].Nick:= 'nic'; // 3-4 letters out of you character's username.
Players[2].Active:= True; // Are you going to use this player?
Players[2].Loc:= 'Draynor Bank'; //Leave this alone!!!!
Players[2].Integers[0]:= 5; // Loads to do with this player
Players[2].Integers[1]:= 30; // Sleeping time, in mins. Doesn't apply if not sleeping
Players[2].Booleans[0]:= true; //Sleep?
Players[2].Booleans[1]:= true; // True for banking false for powercutting
Players[2].Booleans[2]:= false; // Run to bank
Players[2].Booleans[3]:= false; // Run while at the trees.
}
end;
procedure AntiBan;
var
antiBanInteger: Integer;
text: string;
begin
if(AutoRespond)then
begin
if(not GetLastChatText(text))then
begin
// Writeln('Error while getting chat text. Will contine working.');
end else
begin
//Writeln('Chat text: ' + text);
if(InChat('bot') and InChat(Players[CurrentPlayer].Nick))then
begin
antiBanInteger:= random(4);
case antiBanInteger of
0: TypeSend('No bot here!');
1: TypeSend('I''m not a bot!');
2: TypeSend('Not a bot!');
end;
end;
if(text = 'woodcut lvls?') or (text = 'wc lvls?') or (text = 'wc lvls') or (text = 'woocutting lvls?')then
begin
SayCurrentLevels('woodcutting');
end;
end;
end;
antiBanInteger:= random(20);
case antiBanInteger of
0: RandomRClick;
1: if(TalkToOthers)then
TypeSend('Woodcut lvls?');
2: PickUpMouse;
end;
end;
procedure Randoms;
var
hpstring: string;
hpint,BADTM: Integer;
begin
if(not LoggedIn)then
Exit;
FindNormalRandoms;
FTWait(4);
FindTalk;
FindEnt(MSCX,MSCY,true);
if(FindFight)then
begin
Writeln('Avoiding a fighting random!');
RunAway('E',true,1,15000 + random(2000));
Writeln('Successfully avoided the fight!');
end;
GetMMLevels('hp',hpstring);
if(hpstring = 'Red')then
begin
RunAway('E',true,2,1000);
repeat
if(FindFight)then
begin
Writeln('Player ' + Players[CurrentPlayer].Name + ' is in a fight that ' +
'just won''t go away!');
Writeln('We are going to die.');
Writeln('If any of you SRL people know a fix to this... Please post ' +
'in my thread. Thanks!');
end;
FTWait(4);
FindNormalRandoms;
wait(4000);
GetMMLevels('hp',hpstring);
hpint:= random(3);
case hpint of
0: RandomRClick;
1: MakeCompass(IntToStr(360));
2: MMouse(MSCX,MSCY,100,100);
end;
until(not (hpstring = 'Red'));
FindTalk;
MakeCompass('N');
RunAway('E',true,3,1000);
end;
AntiBan;
BADTM:= DTMFromString('78DA63BCCFC4C0B09991011530229140FA115' +
'0CD4A026AEE00D51C22A0E61D11E6BC01AA594B40CD7BA09A0D04D4B' +
'C20C22E90BFB6E3570300FF450CE5');
if(FindDTM(BADTM,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Writeln('We broke and axe!');
NextPlayer(false)
end;
FreeDTM(BADTM);
end;
function SetWillowWalkDDTM: Integer; forward;
function FindWillowWalkDDTM: Boolean; forward;
function SetWillowTreeWalkDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 758;
dtmMainPoint.y := 301;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 15673;
dtmMainPoint.Tolerance := CurrentTolerance;
dtmSubPoints[0].x := 758;
dtmSubPoints[0].y := 301;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 15673;
dtmSubPoints[0].Tolerance := CurrentTolerance;
dtmSubPoints[1].x := 755;
dtmSubPoints[1].y := 298;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 475929;
dtmSubPoints[1].Tolerance := CurrentTolerance;
dtmSubPoints[2].x := 758;
dtmSubPoints[2].y := 304;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 142647;
dtmSubPoints[2].Tolerance := CurrentTolerance;
dtmSubPoints[3].x := 759;
dtmSubPoints[3].y := 300;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 1074992;
dtmSubPoints[3].Tolerance := CurrentTolerance;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function FindWillowTreeWalkDDTM: Boolean;
var
theDDTM: Integer;
begin
CurrentTolerance:= 20;
repeat
theDDTM:= SetWillowTreeWalkDDTM;
CurrentTolerance:= CurrentTolerance+2;
until(CurrentTolerance > 61) or (FindDTM(theDDTM,x,y,MMX1,MMY1,MMX2,MMY2));
if(CurrentTolerance > 61)then
begin
Result:= false;
end else
begin
Result:= true;
end;
FreeDTM(theDDTM);
end;
procedure WalkToWillowSpot;
var
foundTheSymbol: boolean;
willowWalkDDTM: Integer;
begin
Players[CurrentPlayer].Loc:= 'Waling to Willows';
foundTheSymbol:= FindSymbol(x,y,'fishing spot');
if(foundTheSymbol)then
begin
Writeln('Found the trees with symbol!');
Mouse(x,y,2,2,true);
end else begin
Writeln('Symbol failed... Crud.');
if(not WaterWalk(180,205,65,0,1,1,1,0))then
begin
willowWalkDDTM:= SetWillowWalkDDTM;
if(FindWillowWalkDDTM)then
begin
wait(500+random(500));
Mouse(x,y,2,2,true);
Writeln('OMGOSH, I found the willows with a DDTM, thank goodness!');
end else
begin
willowWalkDDTM:= SetWillowTreeWalkDDTM;
if(FindWillowTreeWalkDDTM)then
begin
wait(500+random(500));
Mouse(x,y,2,2,true);
FFlag(0);
Writeln('OMGOSH, I found the willows with a DDTM 2, thank goodness!');
end else
begin
Writeln('Player ' + Players[CurrentPlayer].Name + ' couldn''t find the willows again!');
NextPlayer(false);
end;
end;
FreeDTM(willowWalkDDTM);
end else begin
Writeln('Found the trees with WaterWalk!');
end;
end;
FFlag(0);
end;
{*******************************************************************************
function FindWillow: boolean;
By: Tniffoc
Description: Attempts to find a willow tree.
*******************************************************************************}
function FindWillow: boolean;
var
CTS,tpaHigh,i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
midPoint: TPoint;
begin
CTS:= GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.35,0.69);
FindColorsSpiralTolerance(MSCX,MSCY,TPA,4287583,MSX1,MSY1,MSX2,MSY2,14);
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2,0.2);
if(Length(TPA) > 0)then
begin
ATPA:= SplitTPAEx(TPA,25,25);
tpaHigh:= High(ATPA);
for i:=0 to tpaHigh do
begin
if(Length(ATPA[i]) > 0)then
begin
midPoint:= MiddleTPA(ATPA[i]);
x:= midPoint.x;
y:= midPoint.y;
MMouse(x,y,2,2);
if(IsUpText('illow'))then
begin
GetMousePos(x,y);
if(FindEnt(x,y,true))then
begin
Writeln('Avoided an Ent!');
Exit;
end else
begin
Mouse(x,y,2,2,true);
Result:= true;
Exit;
end;
end;
end;
end;
end;
Result:= false;
end;
function FindWillowEx(count: Integer): boolean;
var
foundTree: Boolean;
findCount: Integer;
begin
findCount:= 0;
repeat
foundTree:= FindWillow;
findCount:= findCount+1;
until(foundTree) or (findCount > count);
Result:= foundTree;
end;
procedure FindWillowSure;
var
hasFoundWillow: boolean;
trys: Integer;
begin
Players[CurrentPlayer].Loc:= 'Draynor Willows';
repeat
hasFoundWillow:= FindWillowEx(5);
if(hasFoundWillow)then
Exit;
Randoms;
wait(1000 + random(500));
Randoms;
wait(1000 + random(500));
hasFoundWillow:= FindWillowEx(5);
if(hasFoundWillow)then
Exit;
trys:= trys+1;
WalkToWillowSpot;
until(hasFoundWillow) or (trys > 10);
if(not (hasFoundWillow))then
begin
Writeln('Player ' + Players[CurrentPlayer].Name + ' couldn''t find the willow!');
NextPlayer(false);
end;
end;
procedure GetFullInv;
var
i: Integer;
begin
if(Players[CurrentPlayer].Booleans[3])then
SetRun(true);
KeyDown(VK_DOWN);
wait(2000 + random(1000));
KeyUp(VK_DOWN);
repeat
if(not LoggedIn)then
LoginPlayer;
Randoms;
FindWillowSure;
i:= 0;
repeat
Randoms;
i:= i+1;
until(i = 10);
until(InvFull);
if(Players[CurrentPlayer].Booleans[3])then
SetRun(false);
end;
procedure Proggify;
var
countint: Integer;
begin
Writeln('Tniffoc''s WillowOnAPillow');
Writeln('------------------------------------------------------------------');
Writeln('Currently using: ' + Players[CurrentPlayer].Name);
Writeln('Has done ' + IntToStr(loads) + ' loads');
Writeln('Has been running for: ' + TimeRunning);
Writeln('Players:');
for countint:=0 to High(Players) do
begin
Writeln(' ' + Players[countint].Nick + ': ' + Players[countint].Loc + ' : Active: ' + BoolToStr(Players[countint].Active));
end;
Writeln('If you don''t use SRL STATS, please begin to do so.');
Writeln('It takes only a few minutes and makes scripting/autoing a ton better!');
Writeln('------------------------------------------------------------------');
SRLRandomsReport;
end;
function AutoColorDB: Integer;
var
DbColor: Integer;
begin
DbColor:= 4473929;
if(FindColorSpiralTolerance(x,y,DbColor,642,29,673,61,60))then
begin
Writeln('Found the draynor bank color!');
Result:= GetColor(x,y);
Writeln(IntToStr(Result));
end else begin
Writeln('DB Auto Color FAILED!');
end;
end;
function SetWillowWalkDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 708;
dtmMainPoint.y := 304;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 2848370;
dtmMainPoint.Tolerance := CurrentTolerance;
dtmSubPoints[0].x := 708;
dtmSubPoints[0].y := 304;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 2848370;
dtmSubPoints[0].Tolerance := CurrentTolerance;
dtmSubPoints[1].x := 737;
dtmSubPoints[1].y := 297;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRockColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 694;
dtmSubPoints[2].y := 303;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWaterColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 717;
dtmSubPoints[3].y := 264;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6382184;
dtmSubPoints[3].Tolerance := CurrentTolerance;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function FindWillowWalkDDTM: Boolean;
var
WillowWalkDDTMWalker: Integer;
begin
CurrentTolerance:= 20;
repeat
WillowWalkDDTMWalker:= SetWillowWalkDDTM;
CurrentTolerance:= CurrentTolerance+2;
until(CurrentTolerance > 60) or (FindDTM(WillowWalkDDTMWalker,x,y,MMX1,MMY1,MMX2,MMY2));
if(CurrentTolerance > 60)then
begin
Result:= false;
end else
begin
Result:= true;
end;
FreeDTM(WillowWalkDDTMWalker);
end;
function SetBankWalkDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 742;
dtmMainPoint.y := 201;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 3552827;
dtmMainPoint.Tolerance := CurrentTolerance;
dtmSubPoints[0].x := 742;
dtmSubPoints[0].y := 201;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 3552827;
dtmSubPoints[0].Tolerance := CurrentTolerance;
dtmSubPoints[1].x := 728;
dtmSubPoints[1].y := 208;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 5789791;
dtmSubPoints[1].Tolerance := CurrentTolerance;
dtmSubPoints[2].x := 745;
dtmSubPoints[2].y := 204;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3552827;
dtmSubPoints[2].Tolerance := CurrentTolerance;
dtmSubPoints[3].x := 741;
dtmSubPoints[3].y := 198;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3552827;
dtmSubPoints[3].Tolerance := CurrentTolerance;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function FindBankWalkDDTM: Boolean;
var
theDDTM: Integer;
begin
CurrentTolerance:= 20;
repeat
theDDTM:= SetBankWalkDDTM;
CurrentTolerance:= CurrentTolerance+2;
until(CurrentTolerance > 61) or (FindDTM(theDDTM,x,y,MMX1,MMY1,MMX2,MMY2));
if(CurrentTolerance > 61)then
begin
Result:= false;
end else
begin
Result:= true;
end;
FreeDTM(theDDTM);
end;
procedure DealWithStuffBank;
var
i,bankWalkDDTM: Integer;
begin
Players[CurrentPlayer].Loc:= 'Banking Willows';
if(FindSymbol(x,y,'bank'))then
begin
Mouse(x,y,2,2,true);
FFlag(0);
KeyDown(VK_UP);
wait(2000 + random(1000));
KeyUp(VK_UP);
OpenBankQuiet('db');
wait(1000);
i:= 0;
while(not BankScreen) and (not (i > 3)) do
begin
OpenBankQuiet('db');
wait(1000 + random(500));
i:=i+1;
end;
if(not (BankScreen))then
begin
i:= 0;
while(not BankScreen) and (not (i > 3)) do
begin
OpenBank('db',false,false);
wait(1000+random(500));
Inc(i);
end;
Writeln('Player ' + Players[CurrentPlayer].Name + ' couldn''t open the bank!');
NextPlayer(false);
end;
end else begin
bankWalkDDTM:= SetBankWAlkDDTM;
if(FindBankWalkDDTM)then
begin
Mouse(x,y,2,2,true);
wait(1000+random(500));
Writeln('OMGOSH, A DDTM Worked for the bank!');
FFlag(0);
i:= 0;
while(not BankScreen) and (not (i > 3)) do
begin
OpenBankQuiet('db');
wait(1000 + random(500));
i:=i+1;
end;
if(not (BankScreen))then
begin
i:= 0;
while(not BankScreen) and (not (i > 3)) do
begin
OpenBank('db',false,false);
wait(1000+random(500));
Inc(i);
end;
Writeln('Player ' + Players[CurrentPlayer].Name + ' couldn''t open the bank!');
NextPlayer(false);
end;
end else
begin
Writeln('Couldn''t find the bank using a DDTM either!');
NextPlayer(false);
end;
FreeDTM(bankWalkDDTM);
end;
Deposit(2,28,true);
CloseBank;
wait(1000+random(500));
WalkToWillowSpot;
FFlag(0);
end;
{*******************************************************************************
procedure DropTo(arg0, arg1: Integer)
By: tniffoc
Description: It will drop items from inventory from
position # arg0 to arg1
*******************************************************************************}
procedure DropTo(arg0, arg1: Integer);
begin
repeat
DropItem(arg0);
arg0:= arg0 + 1;
until(arg0 = (arg1 + 1))
end;
procedure Dropem;
begin
Writeln('Dropping');
DropTo(2,28);
Writeln('Dropped');
end;
procedure DealWithStuff;
begin
Players[CurrentPlayer].Loc:= 'Dropping Willows';
Writeln('We have finished a load!');
if(Players[CurrentPlayer].Booleans[1])then
DealWithStuffBank;
if(not (Players[CurrentPlayer].Booleans[1]))then
Dropem;
Writeln('Finished processing stuff!');
end;
// By: MasterKill
// -- Taken From Mine and Banker.
Function NumberOfActive(WriteLin: boolean): Integer;
var
R: Integer;
begin
Result := 0;
for R := 0 To HowManyPlayers - 1 do
if (Players[R].active = True) then
Result := Result + 1;
If WriteLin Then
If (Result = 0) Then WriteLn('No More Players Active.')
Else WriteLn('Still ' + IntToStr(Result) + ' players of the ' + IntToStr(howManyPlayers) + ' players are active.');
end;
begin
ActivateClient;
SetupSRL;
SetupWoodcutting;
DeclarePlayers;
ReportVars[0]:= 0;
loads:= 0;
ScriptID:= '1022'; //DONT TOUCH THIS!!!!!!!!!!!!!!!!!!!!!!!!!!!!! =D
SRLID:= yourID;
SRLPassword:= yourPW;
SmartSetup('world161',true,false,false);
SetTargetDC(SmartGetDC);
wait(10000);
repeat
Players[CurrentPlayer].Integers[2]:= 0;
repeat
Disguise('Loads with CurrentPlayer: ' + IntToStr(Players[CurrentPlayer].Integers[2]));
if(not LoggedIn) and (not LoggedIn) and (not LoggedIn)then
LoginPlayer;
GetFullInv;
Players[CurrentPlayer].Integers[2]:= Players[CurrentPlayer].Integers[2]+1;
ReportVars[0]:= 1;
loads:= loads+1;
Proggify;
DealWithStuff;
until(Players[CurrentPlayer].Integers[0] <= Players[CurrentPlayer].Integers[2]);
Writeln('Finished with loads for player: ' + Players[CurrentPlayer].Name);
if(Players[CurrentPlayer].Booleans[0])then
begin
Logout;
Writeln('Sleepz0r!');
wait((Players[CurrentPlayer].Integers[1]*60*1000) + (random(5)*60*1000));
Writeln('End of Sleepz0r');
end;
NextPlayer(true);
until(NumberOfActive(false) = 0);
end.
——————————————————
<!– END TEMPLATE: formanswers –>