-
can someone help
Can someone post (or pm me) pictures of how they got the scar file i downloaded (but can't work) working...
Code:
program SumPowerMiner;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Mining.scar}
//********Player Settings********\\
const
MinutesPerPlayer = 15; // Time in minutes per player
MaxSecRock = 10; // Maximum seconds to wait for a rock
StartPlayer = 0; // With what player do you want to start ?
UseBenMouse = True; // Use BenMouse? (Some people say its good for anti-ban)
RunDir = 'N'; // Direction to run to when in fight
RunFar = True; // Run far when in fight ?
//********Additional Settings********\\
SRLStatsID = ''; // Your SRL ID for the stats (Leave blanc to set it to default, from SetupSRL.scar)
SRLStatsPW = ''; // Your Password for the stats (Leave blanc to set it to default, from SetupSRL.scar)
VersionNumber = '0.82'; // No need to change this
BoxSize = 15; // No need to change this
RemoteMaster = 'umil'; // For advanved users only.
MiningInDwarvenMine = False; // Are you mining in the dwarven mines ?
MineNewRocks = True; // Mine the new type of rocks ?
NewRockDirtColor = 939904; // The general color of all (new) rocks
HueTolerance = 0.4; // Only change if you know what your doing.
SaturationTolerance = 0.4; // Only change if you know what your doing.
LuminenceTolerance = 3; // Only change if you know what your doing.
ColorTolerance = 10; // Only change if you know what your doing.
procedure DeclarePlayers;
begin
HowManyPlayers := 6;//MAKE SURE THIS ONE IS CORRECT!
CurrentPlayer := StartPlayer;
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='ski11s'; // 3-4 letters from your name, NO CAPITALS (that includes the first character)
Players[0].String1 :='Iron'; //Will be mined most (unless RandomlyChooseRock is set)
Players[0].String2 :='v';//Will be mined less, unless ^
Players[0].String3 :='Iron'; //Will be mined even less, unless ^
Players[0].Active:= True;
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='ski11s';
Players[1].String1 :='Iron';
Players[1].String2 :='Iron';
Players[1].String3 :='Iron';
Players[1].Active:= True;
Players[2].Name :=v;
Players[2].Pass :='';
Players[2].Nick :='ski11s';
Players[2].String1 :='Iron';
Players[2].String2 :='Iron';
Players[2].String3 :='Iron';
Players[2].Active:= True;
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='ski11s';
Players[3].String1 :='Iron';
Players[3].String2 :='Iron';
Players[3].String3 :='Iron';
Players[3].Active:= True;
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='ski11s';
Players[4].String1 :='Iron';
Players[4].String2 :='Iron';
Players[4].String3 :='Iron';
Players[4].Active:= True;
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='ski11s';
Players[5].String1 :='Iron';
Players[5].String2 :='Iron';
Players[5].String3 :='Iron';
Players[5].Active:= True;
end;
const
CopperColor = 5014742;
TinColor = 8026755;
ClayColor = 4553880;
IronColor = 2899043;
SilverColor = 12434885;
CoalColor = 2834753;
GoldColor = 1952246;
MithrilColor = 7359564;
AdamantColor = 6322272;
RuniteColor = 0;
var
GasAvoided, bmpOreMask, bmpClayMask, RunTime, MinCount, a,
TotalLoads, OresMined: Integer;
dtmPaxes: array[1..6] of Integer;
PlayerStatus: Boolean;
//-----------------------------------------------------------------\\
{ ProgressReport - Sets up the player array ||
\\-----------------------------------------------------------------//}
procedure ProgressReport;//Made by Fakawi, i think, edited by me
var
PActive, Spaces: string;
I, K, SpaceNumber: Integer;
begin
SRLRandomsReport;
if Players[CurrentPlayer].Active then
PActive:='True'
else
PActive:='False';
Writeln(' ');
Writeln('<========== SumPowerMiner ============>');
Writeln('<======= -'+VersionNumber+'- Progress Report ========>');
Writeln('/=======================================\');
Writeln(' Worked for '+ TimeRunning);
Writeln(' Banked '+IntToStr(TotalLoads)+' loads[s].');
Writeln(' Mined '+inttostr(OresMined)+(' ores.'));
if(GasAvoided > 0)then
Writeln(' Avoided gas '+IntToStr(GasAvoided)+(' time[s].'));
Writeln('\=======================================/');
Writeln(' Name : '+Players[CurrentPlayer].Name);
Writeln(' Mining Lvl : '+IntToStr(Players[CurrentPlayer].Level[15]));
Writeln(' Worked for : '+IntToStr(Players[CurrentPlayer].Worked)+' minutes.');
Writeln(' Banked : '+IntToStr(Players[CurrentPlayer].Banked)+' time[s].');
Writeln(' Active : '+PActive);
Writeln(' Location : '+Players[CurrentPlayer].Loc);
Writeln('\\-------------------------------------//');
for I := 0 to HowManyPlayers-1 do
begin
if Players[I].Active then
PActive:='True'
else
PActive:='False';
SpaceNumber := 12 - Length(Players[I].Name);
for K := 0 to SpaceNumber do
Spaces := Spaces + ' ';
Writeln(IntToStr(I)+': '+Players[I].Name + Spaces +
'= ' + PActive + ', ' + IntToStr(Players[I].Banked) + ' Bank[s]' +
', Worked ' + IntToStr(Players[I].Worked) + ' minutes, ' +
'Loc: ' + Players[I].Loc);
Spaces := '';
end
Writeln('<==========================================>');
end;
procedure LoadImages;
begin
bmpOreMask := BitmapFromString(9, 8, 'z78DA333040076E6080C9C60' +
'F064A17F17A71E9C2AFD70D03E09725DE4CF2DC0F00DCD05C59');
bmpClayMask := BitmapFromString(9, 6, 'z78DA33302016B88101F' +
'12A4905B86CC1AF9E3CB7E1329F787F218B03004FC54795');
dtmPaxes[1] := DTMFromString('78DA637463646008664001068A0C0C5C401A2' +
'8C3F01F0818C381AC40543536FE11703520C0E80B6479A0AAF149' +
'2D405103000A07084F'); //Rune
dtmPaxes[2] := DTMFromString('78DA631463646008634001068A0C0C5C401A2' +
'8C3F01F08183580AC405435561E56703520C028076479A0AAF188' +
'F142510300D923076A'); //Addy
dtmPaxes[3] := DTMFromString('78DA637CCEC0C010C680020C141918B880342' +
'310FF0702C69F404620AA1A73F300B81A10607C0F243C50D5B8BA' +
'A7A3A8010086BD09E1'); //Mith
dtmPaxes[4] := DTMFromString('78DA63DCC9C0C010CC80020C141918B880342' +
'310FF0702C653404620AA9ACCA424B81A10603C00243C50D5B4D6' +
'D4A0A801007D560A4B'); //Steel
dtmPaxes[5] := DTMFromString('78DA63EC62606008654001068A0C0C5C409A1' +
'188FF0301E36C202310558DBB93135C0D08304E04121EA86AA242' +
'4250D400003C4908E3'); //Iron
dtmPaxes[6] := DTMFromString('78DA638C62606008634001068A0C0C5C409A1' +
'188FF0301630E901188AAC6D1480EAE0604189380843BAA1A3B2D' +
'0614350000CD0781'); //Bronze
end;
procedure KeepUpStats;
begin
ProgressReport;
OresMined := OresMined + CountItemBmpMaskTol(bmpOreMask, 5, 5) + CountItemBmpMaskTol(bmpClayMask, 5, 5);
ReportVars[0] := ReportVars[0] + CountItemBmpMaskTol(bmpOreMask, 5, 5) + CountItemBmpMaskTol(bmpClayMask, 5, 5);
TotalLoads := TotalLoads + 1;
ReportVars[1] := ReportVars[1] + 1;
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
end;
procedure SetOreColor;
begin
case LowerCase(Players[CurrentPlayer].String1) of
'copper' : OreColor1 := CopperColor;
'tin' : OreColor1 := TinColor;
'clay' : OreColor1 := ClayColor;
'iron' : OreColor1 := IronColor;
'silver' : OreColor1 := SilverColor;
'coal' : OreColor1 := CoalColor;
'gold' : OreColor1 := GoldColor;
'mithril' : OreColor1 := MithrilColor;
'adamant' : OreColor1 := AdamantColor;
'runite' : OreColor1 := RuniteColor;
end;
case Lowercase(Players[CurrentPlayer].String2) of
'copper' : OreColor2 := CopperColor;
'tin' : OreColor2 := TinColor;
'clay' : OreColor2 := ClayColor;
'iron' : OreColor2 := IronColor;
'silver' : OreColor2 := SilverColor;
'coal' : OreColor2 := CoalColor;
'gold' : OreColor2 := GoldColor;
'mithril' : OreColor2 := MithrilColor;
'adamant' : OreColor2 := AdamantColor;
'runite' : OreColor2 := RuniteColor;
end;
case Lowercase(Players[CurrentPlayer].String3) of
'copper' : OreColor3 := CopperColor;
'tin' : OreColor3 := TinColor;
'clay' : OreColor3 := ClayColor;
'iron' : OreColor3 := IronColor;
'silver' : OreColor3 := SilverColor;
'coal' : OreColor3 := CoalColor;
'gold' : OreColor3 := GoldColor;
'mithril' : OreColor3 := MithrilColor;
'adamant' : OreColor3 := AdamantColor;
'runite' : OreColor3 := RuniteColor;
end;
if(OreColor1 = 0)then
Writeln('String1 is NOT set properly or color is 0...');
if(OreColor2 = 0)then
Writeln('String2 is NOT set properly or color is 0...');
if(OreColor3 = 0)then
Writeln('String3 is NOT set properly or color is 0...');
end;
procedure DropOres;
var
i, Dx, Dy: Integer;
begin
Dx := x;
Dy := y;
GameTab(4);
while(FindBitmapMaskTolerance(bmpOreMask, x, y, MIX1, MIY1, MIX2, MIY2, 10, 5))or
(FindBitmapMaskTolerance(bmpClayMask, x, y, MIX1, MIY1, MIX2, MIY2, 10, 5))and
(i < 5)do
begin
ClickAllItemsBmpMaskTolWait('Drop', bmpOreMask, 5, 5, 300);
ClickAllItemsBmpMaskTolWait('Drop', bmpClayMask, 5, 5, 300);
if(FindColor(x, y, 16777215, MIX1, MIY1, MIX2, MIY2))then
Mouse(x, y, 5, 5, false);
ChooseOption(x, y, 'cel');
i := i + 1;
end;
if(FindColor(x, y, 16777215, MIX1, MIY1, MIX2, MIY2))then
Mouse(x, y, 5, 5, false);
ChooseOption(x, y, 'cel');
end;
function FindFastRandoms: Boolean; // By WT-Fakawi.
var
i: Integer;
begin
for I := 1 to 11 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if not MiningInDwarvenMine then
begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
end;
9 : if RC then
Result := True;
10 : if FindFight then
begin
Result := True;
RunTo(RunDir, RunFar);
end;
11: if FindTalk then
Result := True;
end;
Wait(1);
end;
end;
function SumFindPickHeadColor: Boolean;
var
InvPAxe, WieldPAxe, Ix, Iy, Wx, Wy: integer;
begin
GameTab(4);
for InvPAxe := 1 to 7 do
begin
if(InvPAxe = 7)then
Break;
if(FindDtm(dtmPaxes[InvPAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
GameTab(5);
Wait(500);
for WieldPAxe := 1 to 7 do
begin
if(WieldPAxe = 7)then
Break;
if(FindDtm(dtmPaxes[WieldPAxe], Wx, Wy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
if(InvPAxe = 7)and(WieldPAxe = 7)then
begin
Result := False;
Exit;
end;
if((InvPAxe-WieldPAxe) < 0)then
EquipPick := False
else
EquipPick := True;
Result := true;
if(EquipPick)then
begin
GameTab(5);
hc1 := GetColor(585, 295);
hc2 := GetColor(597, 297);
hc3 := GetColor(594, 296);
hc4 := GetColor(588, 295);
hc5 := GetColor(582, 294);
end else
begin
GameTab(4);
if(Ix > 592)and(Iy > 238)then
Drag(Ix, Iy, 5, 5, 579, 227, 5, 5, true);
FindDtm(dtmPaxes[InvPAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2);
hc1 := GetColor(587, 216);
hc2 := GetColor(587, 219);
hc3 := GetColor(592, 222);
hc4 := GetColor(584, 216);
hc5 := GetColor(577, 219);
end;
WriteLn('Pick head colors... ' + IntToStr(hc1) + ' ' + IntToStr(hc2) + ' ' +
IntToStr(hc3) + ' ' + IntToStr(hc4) + ' ' + IntToStr(hc5));
end;
function SumCheckGas(rx, ry: Integer): Boolean;
var
TempMouseSpeed, GasTime: Integer;
begin
Result := FindGas(rx, ry - 20);
if(Result)then
begin
Writeln('Gas found!');
TempMouseSpeed := MouseSpeed;
MouseSpeed := 5;
MouseFindNoFlag(MMCX, MMCY + 4, 1, 1);
MarkTime(GasTime);
MouseSpeed := TempMouseSpeed;
while(TimeFromMark(GasTime) < 35000)do
if(Random(20) > 15)then
IdleTime(500, 500, 0.4)
else
Wait(500 + Random(500));
GasAvoided := GasAvoided + 1;
end;
end;
//-----------------------------------------------------------------\\
{ IsOre - Did we found an ore or a rock ? ||
\\-----------------------------------------------------------------//}
function IsOre(rx, ry: Integer): Boolean;
begin
Result := FindColorSpiralTolerance(x, y, 4481401, rx - 5, ry - 5, rx + 5, ry + 5, 5);
end;
//-----------------------------------------------------------------\\
{ FindRockCenter - Finds the rock center ||
\\-----------------------------------------------------------------//}
function FindRockCenter(var RockPoint: TPoint; RockColor, BoxSize, RockMinimum: Integer): Boolean;
var
c, MaxTime, SurroundingRockColor: Integer;
arRoughRockPoints, arRockPoints: TPointArray;
begin
FindColorsSpiralTolerance(MSCX, MSCY, arRoughRockPoints, RockColor, MSX1, MSY1, MSX2, MSY2, ColorTolerance);
if(MineNewRocks)then
SurroundingRockColor := NewRockDirtColor
else
SurroundingRockColor := RockColor;
if(GetArrayLength(arRoughRockPoints) < 1)then
Exit;
MarkTime(MaxTime);
for c := 0 to GetArrayLength(arRoughRockPoints) - 1 do
begin
if not(IsOre(arRoughRockPoints[c].x, arRoughRockPoints[c].y))then
begin
RockPoint.x := 0;
RockPoint.y := 0;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(HueTolerance, SaturationTolerance);
FindColorsTolerance(arRockPoints, SurroundingRockColor, arRoughRockPoints[c].x - BoxSize, arRoughRockPoints[c].y - BoxSize, arRoughRockPoints[c].x + BoxSize, arRoughRockPoints[c].y + BoxSize, LuminenceTolerance);
for a := 0 to GetArrayLength(arRockPoints) - 1 do
begin
RockPoint.x := RockPoint.x + arRockPoints[a].x;
RockPoint.y := RockPoint.y + arRockPoints[a].y;
end;
if(GetArrayLength(arRockPoints) <> 0)and
(RockPoint.x <> 0)and(RockPoint.y <> 0)then
begin
RockPoint.x := RockPoint.x / GetArrayLength(arRockPoints);
RockPoint.y := RockPoint.y / GetArrayLength(arRockPoints);
MMouse(RockPoint.x, RockPoint.y, 5, 5);
ColorToleranceSpeed(1);
Result := (GetArrayLength(arRockPoints) > RockMinimum)and
(IsUpText('Mine'));
end;
if(Result)or(TimeFromMark(MaxTime) > 5000)then
Break;
Wait(100);
end;
end;
end;
//-----------------------------------------------------------------\\
{ FindRockCenterBetter - Gets the center using a coordinate ||
\\-----------------------------------------------------------------//}
function FindRockCenterBetter(var RockPoint: TPoint; rx, ry, RockColor, BoxSize, RockMinimum: Integer): Boolean;
var
fx, fy, SurroundingRockColor: Integer;
arRockPoints: TPointArray;
begin
if(MineNewRocks)then
begin
if not(FindColorSpiralTolerance(fx, fy, NewRockDirtColor, rx - 5, ry - 5, rx + 5, ry + 5, ColorTolerance))then
begin
fx := rx;
fy := ry;
end else
end else
if not(FindColorSpiralTolerance(fx, fy, RockColor, rx - 10, ry - 10, rx + 10, ry + 10, ColorTolerance))then
begin
fx := rx;
fy := ry;
end;
if(MineNewRocks)then
SurroundingRockColor := NewRockDirtColor
else
SurroundingRockColor := RockColor;
RockPoint.x := 0;
RockPoint.y := 0;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(HueTolerance, SaturationTolerance);
FindColorsTolerance(arRockPoints, SurroundingRockColor, fx - BoxSize, fy - BoxSize, fx + BoxSize, fy + BoxSize, LuminenceTolerance);
for a := 0 to GetArrayLength(arRockPoints) - 1 do
begin
RockPoint.x := RockPoint.x + arRockPoints[a].x;
RockPoint.y := RockPoint.y + arRockPoints[a].y;
end;
if(GetArrayLength(arRockPoints) <> 0)and
(RockPoint.x <> 0)and(RockPoint.y <> 0)then
begin
RockPoint.x := RockPoint.x / GetArrayLength(arRockPoints);
RockPoint.y := RockPoint.y / GetArrayLength(arRockPoints);
Result := GetArrayLength(arRockPoints) > RockMinimum;
end;
ColorToleranceSpeed(1);
end;
//-----------------------------------------------------------------\\
{ RockGone - Did we lost the rock ? ||
\\-----------------------------------------------------------------//}
function RockGone(rx, ry: Integer): Boolean;
begin
Result := not FindColorSpiralTolerance(rx, ry, OreColor, rx - 10, ry - 10, rx + 10, ry + 10, ColorTolerance);
end;
//-----------------------------------------------------------------\\
{ WorkUntilMined - Loops until we're done mining ||
\\-----------------------------------------------------------------//}
procedure WorkUntilMined(wx, wy, InvSpot: Integer);
var
i, MineTime: Integer;
begin
MarkTime(MineTime);
while(LoggedIn)do
begin
for i := 0 to 6 do
begin
case i of
0 : if not(FindPick)then
begin
Writeln('We lost our pick axe.');
Break;
end;
1 : if(FindFastRandoms)then
Break;
2 : if(SumCheckGas(wx, wy))then
Break;
3 : if(ExistsItem(InvSpot))then
Exit;
4 : if(RockGone(wx, wy))then
Exit;
5 : if(TimeFromMark(MineTime) > MaxSecRock * 1000)then
Exit;
6 : if(NoPick)then
LogOut;
end;
Wait(1);
end;
if(Random(100) > 90)then
IdleTime(500, 500, 0.4);
end;
PlaySound('C:\WINDOWS\Media\winAquariumCritStop.wav');
end;
//-----------------------------------------------------------------\\
{ UpdateRockCoord - Updates the coord of the rock ||
\\-----------------------------------------------------------------//}
function UpdateRockCoord(var ux, uy: Integer; UColor: Integer): Boolean;
var
FailSafeTime, i: Integer;
RockPoint: TPoint;
begin
if not(FlagPresent)then
begin
Result := True;
Exit;
end;
MarkTime(FailSafeTime);
while(FindColorSpiralTolerance(ux, uy, UColor, ux - 20, uy - 20, ux + 20, uy + 20, 10))and
(TimeFromMark(FailSafeTime) < 20000)and
(FlagPresent)do
begin
Result := FindRockCenterBetter(RockPoint, ux, uy, UColor, BoxSize, MinCount);
Wait(16);
ux := RockPoint.x;
uy := RockPoint.y;
end;
for i := 0 to 62 do
begin
Result := FindRockCenterBetter(RockPoint, ux, uy, UColor, BoxSize, MinCount);
Wait(8);
ux := RockPoint.x;
uy := RockPoint.y;
end;
end;
//-----------------------------------------------------------------\\
{ SumMine - Mines the rock ||
\\-----------------------------------------------------------------//}
function SumMine: Boolean;
var
rx, ry, InvSpot, SendColor, ColorNumber: Integer;
RockPoint: TPoint;
begin
for ColorNumber := 0 to 2 do
begin
case ColorNumber of
0: OreColor := OreColor1;
1: OreColor := OreColor2;
2: OreColor := OreColor3;
end;
Result := FindRockCenter(RockPoint, OreColor, BoxSize, MinCount);
if(Result)then
begin
if(SumCheckGas(RockPoint.x, RockPoint.y))then
Exit;
for InvSpot := 1 to 28 do
if not(ExistsItem(InvSpot))then
Break;
GetMousePos(rx, ry);
if Random (20) < 19 then
Mouse(rx, ry, 0, 0, True)
else begin
Mouse(rx, ry, 0, 0, False);
ChooseOption(x, y, 'Mine');
end;
if(MineNewRocks)then
SendColor := NewRockDirtColor
else
SendColor := GetColor(RockPoint.x, RockPoint.y);
if not(UpdateRockCoord(RockPoint.x, RockPoint.y, SendColor))then
Exit;
WorkUntilMined(RockPoint.x, RockPoint.y, InvSpot);
Break;
end;
end;
end;
function TimeToSwitchPlayers: boolean;
begin
if(TimeFromMark(RunTime) / 60 / 1000 > MinutesPerPlayer)then
begin
Result := True;
WriteLn('Time is up');
end else
Result := False;
end;
procedure Signature;
begin
Writeln(' _______ __ __ __');
Writeln(' / _____/__ __ _____ |__| |__| ___ ____');
Writeln(' \___ \| | \/ \| | | |/ _ \/ \');
Writeln(' / \ | / Y Y \ | | ( <_> ) | \');
Writeln('/_____ /____/|__|_| /__|__|__|\___/|__| /');
Writeln(' \/ \/ \/');
Writeln('Scripts Brings You:');
Writeln(' Sumilions PowerMiner');
end;
procedure SetupScript;
begin
SetupSRL;
SetupSRLMining;
ScriptID := '12';
RCMaster := RemoteMaster;
if(SRLStatsID <> '')then
SRLID := SRLStatsID;
if(SRLStatsPW <> '')then
SRLPassword := SRLStatsPW;
LoadImages;
DeclarePlayers;
if(MineNewRocks)then
MinCount := 5
else
MinCount := 20;
BenMouse := UseBenMouse;
CurrentPlayer := StartPlayer;
ClearDebug;
Signature;
CheckUserNicks;
Wait(500);
ActivateClient;
Wait(500);
end;
procedure SetupUser;
begin
if not(LoggedIn)then
LoginPlayer;
MakeCompass('N');
HighestAngle;
if not(SumFindPickHeadColor)then
begin
Writeln('No PickAxe found...');
Writeln('Make sure your at V-Bright');
LogOut;
end;
GameTab(2);
Players[CurrentPlayer].Level[15] := GetSkillLevel('mining');
SetOreColor;
SetRun(True);
GameTab(4);
MarkTime(RunTime);
end;
begin
SetupScript;
repeat;
SetupUser;
repeat;
while(LoggedIn)and
(not(InvFull))and
(not(TimeToSwitchPlayers))do
begin
if not(SumMine)then
if(Random(100) > 85)then
IdleTime(500, 500, 0.4);
Wait(16);
FindNormalRandoms;
Wait(16);
end;
GameTab(4);
KeepUpStats;
DropOres;
PlayerStatus := LoggedIn;
if(TimeToSwitchPlayers)then
LogOut;
until not(LoggedIn);
NextPlayer(PlayerStatus);
until not(Players[CurrentPlayer].Active);
Writeln('All players are false.');
end.
PS: I change my colours each time I log on.
-
This isn't updated for SRL 4, it wont work..