Eak I Wasn't Quick Enuf…
Here…
For Teh Leachers, Or Who Wants It Done :p
When WorldSwitch.scar Opens, Replace With This, If You Deleted A Line, You BETTER Replace With This…
//-----------------------------------------------------------------//
//-- Scar Standard Resource Library --//
//-- ยป WorldSwitch routines --//
//-----------------------------------------------------------------//
//
// * Function WorldScreen: Boolean; // by Wizzup and WT-Fakawi.
// * Function WorldSwitchButton: Boolean; // by Wizzup and WT-Fakawi.
// * Function FindWorld(Var x, y: integer; WorldNum: Integer): Boolean; // by Wizzup and WT-Fakawi.
// * Function WorldPlayers(x, y: integer): String; // by Wizzup and WT-Fakawi.
// * Function SelectWorld(WorldNumber: Integer): Boolean; // by Wizzup and WT-Fakawi.
Function WorldScreen: Boolean;
Begin
Result := SimilarColors(GetColor(65, 17), 1340055, 14);
End;
Function WorldSwitchButton: Boolean;
Var
t: LongInt;
Begin
If SimilarColors(GetColor(58, 481), 4997697, 14) Then
Begin
t := GetSystemTime;
Result := True;
Mouse(58, 481, 5, 10, True);
Repeat
Wait(16);
If WorldScreen Then
Break;
Until GetSystemTime - t > 10000;
If GetSystemTime - t > 10000 Then
Result := False;
Wait(1000);
End
Else
Result := False;
End;
Function FindWorld(Var x, y: integer; WorldNum: Integer): Boolean;
Var
bmp, i: integer;
Begin
x := 750;
If WorldNum < 21 Then
Begin
x := 140;
End;
bmp := CreateBitmapMaskFromText(IntToStr(WorldNum), UpChars);
For I := 0 To 6 Do
If (FindBitmapMaskTolerance(bmp, x, y, 55 + (i * 93), 30, 147 + (i * 93), 491, 15, 15)) Then
Begin
Result := True;
Break;
End;
FreeBitmap(bmp);
End;
Function WorldPlayers(x, y: integer): String;
Begin
FindColor(x, y, 16777215, x, y, x + 100, y + 20);
Result := Trim(GetTextAtEx(x - 2, y - 1, 20, StatChars, True, True, 0, 2, 16777215, 10,
False, tr_Allchars));
If TrimLetters(Result) = '' Then
Result := 'FULL';
// If (Result = 'LL') Or (Result = '') Or (Result = 'OFF') Then Result := 'FULL';
End;
Function SelectWorld(WorldNumber: Integer): Boolean;
Var
x, y: Integer;
n: string;
Begin
If Not WorldSwitchButton Then
If Not WorldScreen Then
Begin
Exit;
WriteLn('No World Screen');
End;
FindWorld(x, y, WorldNumber);
n := WorldPlayers(x, y);
WriteLn('Searching for world ' + IntToStr(WorldNumber));
If N <> 'FULL' Then
Begin
Mouse(x, y, 5, 5, True);
Result := True;
WriteLn('Going to world ' + IntToStr(WorldNumber) +
' and has ' + n + ' players.');
End
Else
WriteLn('World is either Full or does not exist.');
End;
And The Working VEM…
{*****************************************]
||Players[x].Integers[0] = irons mined ||
||Players[x].Integers[1] = loads bankd ||
||Players[x].Integers[2] = gas avoided ||
||Players[x].Booleans[0] = spare picks ||
[*****************************************
Credits for ChatsBlueText to Wizzy, only changed the color for GetTextAtEx...
Credits for SelectWorld2 to Wizzy, I did just a slight modification...
--- INSTRUCTIONS ---
Place your players in Varrock East Bank, pickaxe's unequipped.
Make sure you are running RuneScape on highest brightness.
Start the script logged out.
Note: Do not use accounts with bank pins, I didn't put a pinner in \laziness
IF you use spare pickaxes, have them on top of your bank.
Fill in the form that pops up, and have fun! :}
Program New;
{.include SRL/SRL.scar}
{.include SRL/SRL/Misc/Users.scar}
{.include SRL/SRL/Skill/Mining.scar}
{.include SRL/SRL/Misc/WorldSwitcher.scar}
{.include SRL/SRL/Skill/Fighting.scar}
Const
RTimeOut = 5500;
// Max time to mine a rock? Will have a random value added.
SRLStatsID = '';
SRLStatsPW = '';
// SRL Stats Info
Hopper = 4;
// If there are over this amount of players, switches world.
WPlayers = 1200;
// If switching a world, give amount of players you want it switch to UNDER.
PlayerLoads = 4;
// Keep it low, this way you'll have good chance of avoiding
// usolvable randoms like EvilBob etc. It gets a random amount added.
// NOTE: Player does not stop autoing after 4 loads, it just switches
// to another player to keep the script running longer.
DebugWay = 1;
// 1: Print how the current player is doing
// 2: Print all players at a time
// 3: No special player(s), just overall.
AutoRespond = True;
// Do you wish to respond to people asking mining lvl?
// Set to False if you already have an auto responder.
Var
dtmOre, dtmPick, Pl, FN, WPLR: Integer;
// -------------------------------------------------------------------------- //
Function GetPlayers: Integer;
Var
TPAA: Array of TPointArray;
TPA: TPointArray;
I, CTS: Integer;
Begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsTolerance(TPA, 16777215, MMCX - 35, MMCY - 35, MMCX + 35, MMCY + 35, 8);
TPAA := TPAToATPAEx(TPA, 4, 4);
For I := 0 To High(TPAA) Do
If GetArraylength(TPAA[i]) >= 10 Then
Result := Result + 1;
ColorToleranceSpeed(CTS);
End;
// -------------------------------------------------------------------------- //
Function SelectWorld2(WorldNumber: Integer): Boolean;
Var
x, y: Integer;
n: string;
Begin
If Not WorldSwitchButton Then
If Not WorldScreen Then
Begin
Exit;
End;
FindWorld(x, y, WorldNumber);
n := WorldPlayers(x, y);
WriteLn('Searching for world ' + IntToStr(WorldNumber));
If N <> 'FULL' Then
Begin
If StrToInt(N) <= WPLR Then
Begin
Mouse(x, y, 5, 5, True);
Result := True;
WriteLn('Going to world ' + IntToStr(WorldNumber) +
' and has ' + n + ' players.');
End;
End;
End;
// -------------------------------------------------------------------------- //
Procedure Hop;
Var
W: TIntegerArray;
I: Integer;
Begin
W := [1, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 25,
29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 43, 47, 50, 51, 52, 55,
57, 61, 62, 63, 67, 68, 72, 75, 75, 80, 81, 85, 86, 87, 90, 93,
94, 95, 96, 101, 102, 105, 106, 107, 108, 109, 113, 117, 118, 119,
123, 125, 126, 127, 128, 133, 134, 136, 141, 142, 149, 152, 153,
154, 155];
While Not SelectWorld2(W[Random(GetArrayLength(W))]) Do
Begin
Wait(200 + Random(300));
I := I +1;
If I >= 50 Then Break;
End;
If WorldScreen Then
Mouse(729, 13, 2, 2, True);
LoginPlayer;
End;
// -------------------------------------------------------------------------- //
Procedure LoadDTMs;
Begin
dtmOre := DTMFromString('78DA632C60626078C48006189148205D45849' +
'A2CA09A9704D4A401D57C24A0A614A8E60D0135E540352F08A829' +
'02AAB98F5F0D00397C098D');
dtmPick := DTMFromString('78DA63F4606260B8CF800618914820ED06547' +
'383801A73A09A9B04D49801D5DC21A0C607A8E62E01357684DD03' +
'003C9306C5');
End;
// -------------------------------------------------------------------------- //
Procedure PlayerReport(i: Integer);
Begin
Writeln('-||------------------------------------------------||-');
Writeln('-||-------------- Player report: '+IntToStr(i)+' -----------------||-');
Writeln('-|| Irons mined: '+IntToStr(Players[i].Integers[0])+';');
Writeln('-|| Gas Avoided: '+IntToStr(Players[i].Integers[2])+';');
Writeln('-|| Loads banked: '+IntToStr(Players[i].Integers[1])+';');
Writeln('-|| Loc: '+Players[i].Loc+';');
Writeln('-|| Active: '+BoolToStr(Players[i].Active)+';');
Writeln('-||------------------------------------------------||-');
End;
// -------------------------------------------------------------------------- //
Procedure AllReport;
Var
I: Integer;
Begin
For I := 0 To High(Players) Do
PlayerReport(i);
Writeln('-||------------------------------------------------||-');
Writeln('-|| Time Ran: '+IntToStr(Round(GetTimeRunning / 60000)) +' min.');
Writeln('-||------------------------------------------------||-');
End;
// -------------------------------------------------------------------------- //
Procedure FullReport;
Var
X, Y, Z, I: Integer;
Begin
For I := 0 To High(Players) Do
Begin
X := X + Players[i].Integers[0];
Y := Y + Players[i].Integers[2];
Z := Z + Players[i].Integers[1];
End;
Writeln('-||------ Reppie ------- ||-');
Writeln('-|| Irons mined: '+IntToStr(X)+';');
Writeln('-|| Gas Avoided: '+IntToStr(Y)+';');
Writeln('-|| Loads banked: '+IntToStr(Z)+';');
Writeln('-||------------------------------------------------||-');
Writeln('-|| Time Ran: '+IntToStr(Round(GetTimeRunning / 60000)) +' min.');
Writeln('-||------------------------------------------------||-');
End;
// -------------------------------------------------------------------------- //
Function RadialTPAWalk(Color: Integer; MinPix, SR, ER, MinD, MaxD, M: Integer): Boolean;
Var
TPAA: Array of TPointArray;
X, Y, Z, I, S, E: Integer;
TPA: TPointArray;
Begin
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, 0);
FilterPointsPie(TPA, 0, 359, MinD, MaxD, MMCX, MMCY);
TPAA := TPAToATPA(TPA, Round(Sqrt(MinPix)));
S := SR + Round(Rs_GetCompassAngleDegrees);
E := ER + Round(Rs_GetCompassAngleDegrees);
{ Z := E - S shr 1;
X := MMCX + Round(MaxD * Cos(Z - 90));
Y := MMCY + Round(MaxD * Sin(Z - 90));
SortATPAFrom(TPAA, Point(X, Y)); }
If S > 360 Then S := S - 315;
If E > 360 Then E := E - 315;
For I := High(TPAA) DownTo 0 Do
Begin
MiddleTPAEx(TPAA[i], X, Y);
If M <> 1 Then
Begin
Z := Round(Degrees(ArcTan2(MMCY - Y, MMCX - X))) - 90;
If Z < 0 Then
Z := Z + 360;
End Else
Z := Round(Degrees(ArcTan2(MMCY - Y, MMCX - X))) - 90;
If Z > SR Then
If Z < ER Then
Begin
MouseFindFlag(X, Y, 1, 1);
Flag;
Result := True;
Exit;
End;
End;
End;
// -------------------------------------------------------------------------- //
Function ToMineMiddle: Boolean;
Var
TPA: TPointArray;
X, Y: Integer;
Begin
FindColorsSpiralTolerance(MSCX, MSCY, TPA, FindStoneColor, MMX1, MMY1, MMX2, MMY2, 5);
Result := MiddleTPAEx(TPA, X, Y);
If Result Then
Begin
MouseFindFlag(X, Y, 1, 1);
Flag;
End;
End;
// -------------------------------------------------------------------------- //
Function ToMineUpRight: Boolean;
Var
TPA: TPointArray;
Begin
FindColorsSpiralTolerance(MSCX, MSCY, TPA, FindStoneColor, MMX1, MMY1, MMX2, MMY2, 5);
If GetArraylength(TPA) > 13 Then
Result := True;
SortTPAFrom(TPA, Point(MMX2, MMY1));
MouseFindFlag(TPA[0].X, TPA[0].Y, 1, 1);
Flag;
End;
// -------------------------------------------------------------------------- //
Procedure ChessMate;
Var
X, Y, Z, R, A: Integer;
Begin
Z := Round(Rs_GetCompassAngleDegrees);
A := 205 + Random(11) + Z;
R := 30 + Random(10);
X := MMCX + Round(R * Cos(Radians(A - 90)));
Y := MMCY + Round(R * Sin(Radians(A - 90)));
MouseFindFlag(X, Y, 1, 1);
Flag;
End;
// -------------------------------------------------------------------------- //
Function ToMine: Boolean;
Var
SR, ER: TIntegerArray;
I, X, Y, Z: Integer;
B: Boolean;
Begin
If Not LoggedIn Then Exit;
SetRun(True);
SR := [0, 84, 130, 105, 145, 140];
ER := [90, 115, 185, 185, 195, 190];
For I := 0 To High(SR) Do
If FindSymbol(X, Y, 'mining spot') Then
Begin
Z := Round(Degrees(ArcTan2(MMCY - Y, MMCX - X))) - 90;
Z := Z + Round(Rs_GetCompassAngleDegrees);
If InRange(Z, 0, 90) Then
Begin
B := True;
Writeln('mmo');
Break;
End;
End Else
// If Not ToMineMiddle Then
If Not RadialTPAWalk(FindVarrockRoadColor, 70, SR[i], ER[i], 25, 68, 2) Then
Exit;
If Not B Then
ChessMate;
If Not ToMineMiddle Then
If FindSymbol(X, Y, 'mining spot') Then
Begin
MouseFindFlag(X, Y, 1, 1);
Flag;
End;
Result := True;
End;
// -------------------------------------------------------------------------- //
Function ToBank: Boolean;
Var
TPAA: Array of TPointArray;
SR, ER: TIntegerArray;
TPA: TPointArray;
I, X, Y, M, Sx, Sy, R: Integer;
Begin
If Not LoggedIn Then Exit;
SetRun(True);
// If Not ToMineUpRight Then
// MouseFlag(MMCX + 10, MMCY - 10, 1, 1);
I := Round(Rs_GetCompassAngleDegrees);
X := MMCX + Round(12 * Cos(Radians(45 - 90 + i)));
Y := MMCY + Round(12 * Sin(Radians(45 - 90 + i)));
MouseFindFlag(X - 3 + Random(7), Y - 3 + Random(7), 1, 1);
Flag;
SR := [0, -25, 300, 300, 255, 255];
ER := [30, 20, 359, 340, 280, 280];
For I := 0 To High(SR) Do
Begin
If I = 1 Then
M := 1
Else
M := 2;
If I = 4 Then
R := 75
Else
If I = 5 Then
R := 38 + Random(8)
Else
R := 64;
If Not RadialTPAWalk(FindVarrockRoadColor, 73, SR[i], ER[i], 30, R, M) Then
Exit;
End;
Result := FindSymbol(X, Y, 'bank');
MouseFindFlag(X, Y, 1, 1);
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, TPA, 195836, MMX1, MMCY, MMCX + 20, MMY2, 5);
If Not Result Then
Result := GetArrayLength(TPA) > 6;
TPAA := SplitTPA(TPA, 4);
SortATPASize(TPAA, True);
TPA := TPAA[0];
MiddleTPAEx(TPA, X, Y);
FindSymbol(Sx, Sy, 'training dummy');
TPA := [Point(X, Y - 10), Point(X, Y + 10)];
SortTPAFrom(TPA, Point(Sx, Sy));
MouseFindFlag(TPA[0].x, TPA[0].y, 1, 1);
Flag;
End;
// -------------------------------------------------------------------------- //
Function FindIrons: TPointArray;
Var
TPAA: Array of TPointArray;
TPA: TPointArray;
CTS, I: Integer;
Begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.22, 0.23);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2964577, 20, 20, MSX2 - 20, MSY2 - 20, 3);
TPAA := TPAToATPAEx(TPA, 20, 19);
For I := 0 To High(TPAA) Do
If GetArrayLength(TPAA[i]) > 7 Then
Begin
SetArrayLength(Result, GetArrayLength(Result) + 1);
Result[High(Result)] := MiddleTPA(TPAA[i]);
End;
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(2);
End;
// -------------------------------------------------------------------------- //
Function FindIron(Var Ix, Iy: Integer): Boolean;
Var
TPA: TPointArray;
I: Integer;
Begin
TPA := FindIrons;
For I := 0 To High(TPA) Do
If Not GasFound(TPA[i].x, TPA[i].y) Then
Begin
Ix := TPA[i].x;
Iy := TPA[i].y;
Result := True;
Exit;
End;
End;
// -------------------------------------------------------------------------- //
Function ChatsBlueText: Array of String;
Var
I: Byte;
tpa: TPointArray;
Begin
SetArrayLength(tpa, 9);
For I := 1 To 8 Do
tpa[i] := TextCoords(i);
SetArrayLength(Result, 9);
For I := 1 To 8 Do
Result[I] := Trim(GetTextAtEx(tpa[i].x - 2, tpa[i].y - 2, 0, SmallChars, False,
False, 0, 1, 16711680, 80, False, tr_AllChars));
End;
// -------------------------------------------------------------------------- //
Procedure LevelRespond;
Var
Sa, Qu: Array of String;
C, I, Z: Integer;
Begin
Sa := ChatsBlueText;
Qu := ['mining lvl', 'mining lwl', 'mining lev'];
For I := 6 To 7 Do
For C := 0 To 2 Do
If Pos(Qu[c], LowerCase(Sa[i])) > 0 Then
Begin
Z := GetSkillInfo('mining', False);
If I = 6 Then
If Pos(IntToStr(z), LowerCase(Sa[7])) > 0 Then
Exit;
GameTab(4);
Case Random(4) Of
0: TypeSend('Me '+IntToStr(z));
1: TypeSend(IntToStr(z)+' here');
2: TypeSend(IntToStr(z));
3: TypeSend(IntToStr(z)+'...');
End;
Exit;
End;
End;
// -------------------------------------------------------------------------- //
Function MineRock: Boolean;
Var
X, Y, I, II, M, R: Integer;
B: Boolean;
Begin
If Not LoggedIn Then Exit;
If FindIron(X, Y) Then
Begin
Mouse(X, Y, 2, 2, False);
If Not ChooseOption('ine') Then
Exit;
Repeat
FindColorSpiralTolerance(X, Y, 2503506, X - 20, Y - 20, X + 20, Y + 20, 10);
Wait(10);
I := I + 1;
If Not FlagPresent Then
Begin
Repeat
FindColorSpiralTolerance(X, Y, 2503506, X - 20, Y - 20, X + 20, Y + 20, 10);
Wait(10);
II := II + 1;
If II Mod 10 = 0 Then
If FindTalk Then
Exit;
If II > 200 Then Exit;
If InChat('currently available') Then
Exit
Else
If InChat('swing') Then
Begin
B := True;
Break;
End;
Until(II > 200);
End;
If B Then Break;
Until(Not(FlagPresent)) Or (I > 500);
M := GetSystemTime;
R := RTimeOut + Random(750);
Repeat
If FindNormalRandoms Then
If Not LoggedIn Then
Exit;
Wait(150 + Random(50));
If Random(3) = 1 Then
If Random(3) = 1 Then
If Random(3) = 1 Then
MMouse(MSX1, MSY1, MIX2, MIY2);
If InChat('manage to') Then
Begin
Result := True;
Break;
End;
If GetSystemTime - M >= R Then
Break;
If GasFound(X, Y) Then
Begin
Inc(Players[CurrentPlayer].Integers[2]);
Inc(ReportVars[2]);
MouseFindFlag(MMCX + 2, MMCY + 2, 1, 1);
Flag;
Wait(18000 + Random(4000));
Exit;
End;
If Not FindColorSpiralTolerance(X, Y, 2503506, X - 15, Y - 15, X + 15, Y + 15, 10) Then
Break;
If FindFight Then
Begin
RunTo('e', True);
Exit;
End;
If AutoRespond Then
LevelRespond;
Until (Not(LoggedIn));
End;
End;
// -------------------------------------------------------------------------- //
Procedure MineRocks;
Var
X, Y: Integer;
Begin
If Not LoggedIn Then Exit;
SetRun(True);
Repeat
If MineRock Then
Wait(150 + Random(100));
Wait(50 + Random(100));
If FindNormalRandoms Then
If Not LoggedIn Then
Exit;
GameTab(4);
If Not FindDTM(dtmPick, x, y, MIX1, MIY1, MIX2, MIY2) Then
Begin
If Not FindPick Then
Begin
Players[CurrentPlayer].Loc := 'No pick';
If Not Players[CurrentPlayer].Booleans[0] Then
Logout;
End;
Exit;
End;
If Random(3) = 1 Then
If Random(3) = 1 Then
If Random(3) = 1 Then
MMouse(MSX1, MSY1, MSX2, MSY2);
Until(InvFull) Or (Not(LoggedIn));
End;
// -------------------------------------------------------------------------- //
Function OpenVEB: Boolean;
Var
TPAA: Array of TPointArray;
CTS, I, X, Y: Integer;
TPA: TPointArray;
Begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2955553, MSX1, MSY1, MSX2, MSY2, 10);
TPAA := TPAToATPAEx(TPA, 15, 20);
For I := 0 To High(TPAA) Do
If GetArrayLength(TPAA[i]) > 80 Then
Begin
MiddleTPAEx(TPAA[i], X, Y);
Mouse(X, Y, 3, 3, False);
Result := ChooseOption('ank B');
If Result Then
Begin
Flag;
Break;
End;
End;
ColorToleranceSpeed(CTS);
End;
// -------------------------------------------------------------------------- //
Procedure DropToPosition(From, tTo: Integer);
Var
I: Integer;
Begin
If Not LoggedIn Then Exit;
For I := From To tTo Do
If ExistsItem(i) Then
DropItem(i);
End;
// -------------------------------------------------------------------------- //
Procedure Bank;
Var
X, Y, Z: Integer;
Begin
If Not LoggedIn Then Exit;
If Not BankScreen Then
Begin
Logout;
Exit;
End;
Z := CountItems(dtmOre, 'dtm', []);
IncEx(Players[CurrentPlayer].Integers[0], Z);
ReportVars[0] := Z;
If FindDTM(dtmOre, x, y, mix1, miy1, mix2, miy2) Then
Begin
Mouse(X, Y, 2, 2, False);
ChooseOption('ll');
End Else
Deposit(2, 28, 2);
If Players[CurrentPlayer].Booleans[0] Then
If FN = 1 Then
If FindDTM(dtmPick, X, Y, MSX1, MSY1, MSX2, MSY2) Then
Begin
FixBank;
Mouse(X, Y, 2, 2, True);
Wait(500 + Random(100));
FN := 0;
End;
CloseBank;
FindNormalRandoms;
DropToPosition(2, 28);
If FN = 1 Then
Begin
FN := 0;
Logout;
End;
End;
// -------------------------------------------------------------------------- //
Procedure ScripTerminate;
Begin
FreeDTM(dtmPick);
FreeDTM(dtmOre);
End;
// -------------------------------------------------------------------------- //
begin
SetupSRL;
SetupMining;
ScriptID := '604';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPW;
WPLR := WPlayers;
LoadDTMs;
SRLPlayerForm(True, ['Spare picks?'], [], [], []);
Repeat
LoginPlayer;
Pl := 0;
SetChat('on', 1);
SetChat('off', 2);
SetChat('off', 3);
SetAngle(True);
MakeCompass('n');
Retaliate(False);
Repeat
If Not ToMine Then
Begin
TerminateScript;
Players[CurrentPlayer].Loc := 'Lost';
Break;
End Else
Players[CurrentPlayer].Loc := 'Mine';
If GetPlayers > Hopper Then
Begin
Logout;
Hop;
SetAngle(True);
MakeCompass('n');
End;
MineRocks;
If Not LoggedIn Then Break;
If Players[CurrentPlayer].Loc = 'No pick' Then
FN := 1;
If Not ToBank Then
Begin
TerminateScript;
Players[CurrentPlayer].Loc := 'Lost';
Break;
End Else
Players[CurrentPlayer].Loc := 'Bank';
If FN = 1 Then
DropItem(1);
If Not OpenBankQuiet('veb') Then
Begin
Players[CurrentPlayer].Loc := 'Bank problems';
Logout;
Break;
End;
Bank;
ReportVars[1] := ReportVars[1] + 1;
SRLRandomsReport;
If Not LoggedIn Then Break;
Inc(Players[CurrentPlayer].Integers[1]);
Pl := Pl + 1;
Case DebugWay Of
1: PlayerReport(CurrentPlayer);
2: AllReport;
3: FullReport;
End;
Until(Pl > PlayerLoads + Random(3)) Or (Not(LoggedIn));
Case DebugWay Of
1: PlayerReport(CurrentPlayer);
2: AllReport;
3: FullReport;
End;
SRLRandomsReport;
NextPlayer(LoggedIn);
Until(False);
End.
-Enjoy!-
Timer