BigFate
2012-09-20 18:49:00
How Long have You Played Runescape?
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
No
What is your general programming knowledge?
C++
Are you a member of any other communities?
Sythe
Tell us about yourself…
Please show us one (or multiple) of your scripts.
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
No
What is your general programming knowledge?
C++
Are you a member of any other communities?
Sythe
Tell us about yourself…
From: BigFate
My name is Joe I am 17 and I am currently studying computing (C++ language) maths and chemistry here in the UK. I like to play basketball in my spare time along with going to the gym. If I have nothing else to do, I can't resist watching some prank videos on youtube (especially Japanese pranks).
I realise that the scripts I have released to the public so far are money making scripts but this is because that was the only thing I was interested in at the time. I think everyone starts like that..only wanting to make scripts for themselves to benefit from and not thinking about the community. I found it really tough to make a script for something I didn't feel enthusiastic about or something that a script has already been made for/isn't challenging. I am not interested in making scripts like these any more and I am moving on to creating scripts for the community to enjoy.
I am not a frequent poster but I am active and I do go on the website for a couple hours everyday. I try not to post something that is a waste of time to read and I try to reply to threads in the help section as much as I can (there is a lot of competition from people trying to help lol).
Sorry for the long winded block of text but I thought it would be good to explain some things. I understand if I don't become a member, it is just a case of taking the feedback and working on it. Regardless, I am thankful of what this community has taught me so far :)
Please show us one (or multiple) of your scripts.
{Sorry it's another money maker :S but I think it best displays what I've learnt
and what techniques I am able to use in my scripts now.
What it does: Collects zammy wines at chaos temple
Where to start: Start on tile in front of wine respawn}
program ZammyWineScript;
{$DEFINE SMART}
{$i srl/srl.simba}
{$I SRL/SRL/Misc/Online.simba}
{$i srl/srl/skill/magic.simba}
{$I SRL/SRL/MISC/SMARTGRAPHICS.SIMBA}
var
X,Y,Z,TimeGone,Wines,WinesPerHour,ProfitPerHour,Wine_Price,ChooseWorld: Integer;
BreakTime,Break_Counter,WorldHop_Counter,Reset_Counter,WinesMissed: Integer;
WorldHop: Array of Integer;
Recalibrate: Boolean;
v,t : Integer;
aFound: Extended;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ''; // Character Name
Pass := ''; // Character Pass
Pin := ''; // Character Pin
Nick := ''; // Character Nickname
Active := True; // Use player in script?
Member := False; // Member?
Booleans[0] := False; // Take breaks? (True means yes, take breaks / False means no, do not take breaks)
Integers[0] := 120; // Minimum time to play before breaking (in minutes)
Integers[1] := 180; // Maximum time to play before breaking (in minutes)
end;
ChooseWorld:= 80; //select the world you want the script to run on
WorldHop := [10, 11, 13, 14]; //select the worlds you want the script to hop to if a low amount of wines are collected
end;
//by Narcle
Function Loc(Location: string): Boolean;
begin
Result := Players[CurrentPlayer].Loc = Lowercase(Location);
end;
//by Narcle
Procedure SetLoc(Location: string);
begin
Players[CurrentPlayer].Loc := Lowercase(Location);
end;
//by freezyp
procedure BreakText;
begin
SMART_DrawText(100,200,UpCharsEx,'Just Taking A Human-Like Break,script still running',clAqua);
end;
//by Inception
procedure ResetBreakTimer;
begin
BreakTime := GetSystemTime + RandomRange(Players[CurrentPlayer].Integers[0] * 60000, Players[CurrentPlayer].Integers[1] * 60000);
end;
//by Flight
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;
procedure SetupLogin;
begin
ClearDebug;
WriteLn('SMART & SRL Loading...');
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 10;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
{SRL_SixHourFix := True;}
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}
SetupSRL;
MouseSpeed:= 25;
DeclarePlayers;
SetupRandomTool(100000, 5, '');
If not LoggedIn Then
Begin
Wait(1000);
LoginPlayerToLob;
SelectWorld(ChooseWorld);
LoginPlayer;
End;
Wine_Price := GetGEPrice(245);
Wines:= 0;
Players[CurrentPlayer].Loc := 'take the wine';
ActivateClient;
ResetBreakTimer;
Recalibrate:= False;
ClickNorth(0);
end;
Procedure Antiban;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
Case Random(50) Of
0: Begin WriteLn('Performing Antiban') GameTab(tab_Stats); Wait(3000 + Random(500)); GameTab(tab_Inv) End;
1: Begin WriteLn('Performing Antiban') PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: Begin WriteLn('Performing Antiban') IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2) End;
3: Begin WriteLn('Performing Antiban') GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
4: Begin WriteLn('Performing Antiban') SleepAndMoveMouse(6000 + Random(1500)) End;
end;
end;
Procedure Proggy;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
TimeGone:= (GetTimeRunning/1000);
WinesPerHour := (3600*(Wines))/((TimeGone));
ProfitPerHour := ((WinesPerHour)*(Wine_Price));
ClearDebug;
WriteLn('====================================================');
WriteLn(' ZammyWines ');
WriteLn('====================================================');
WriteLn('Running for: '+MsToTime(GetTimeRunning, Time_Formal)+'');
WriteLn('# of wines collected: '+IntToStr(Wines)+'');
WriteLn('Rate: ' +IntToStr(WinesPerHour)+ ' wines per hour');
WriteLn('Wines missed: ' +IntToStr(WinesMissed)+ '');
WriteLn('Profit: ' +IntToStr(ProfitPerHour)+ ' coins per hour');
WriteLn('Breaks Taken: ' +IntToStr(Break_Counter)+ '');
WriteLn('Worlds hopped: ' +IntToStr(WorldHop_Counter)+ '');
WriteLn('Resets: ' +IntToStr(Reset_Counter)+ '');
WriteLn('====================================================');
end;
Procedure HopWorld;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
WriteLn('Low amount of wines collected...switching worlds.');
ExitToLobby;
SelectWorld(WorldHop[Z]);
LoginPlayer;
inc(WorldHop_Counter);
inc(Z);
if Z > High(WorldHop) then
Z := 0
end;
function WineFinder: Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(1.19, 3.10);
FindColorsSpiralTolerance(MSCX-36,MSCY-9, TPA, 5465533, MSCX-43, MSCY-19, MSCX-25, MSCY+1, 20)
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 0, 0);
Wait(10+Random(10));
ClickMouse2(0);
Wait(400);
If(OptionsExist(['ke W','ine','f zam','orak'],False)) then
begin
GetMousePos(x,y);
Result := True;
end;
end;
end;
function TempleColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(25.00, 1.29);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 6645088, MMX1, MMY1, MMX2, MMY2, 5);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToRGB(arC[i], R, G, B);
if (R >= 96) and (R <= 107) and (G >= 92) and (G <= 103) and (B >= 92) and (B <= 103) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 10.98) and (X <= 12.66) and (Y >= 11.50) and (Y <= 13.13) and (Z >= 11.98) and (Z <= 14.47) then
begin
Result := arC[i];
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function TempleDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 1301;
dtmMainPoint.y := 305;
dtmMainPoint.AreaSize := 4;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := TempleColor;
dtmMainPoint.Tolerance := 5;
dtmSubPoints[0].x := 1301;
dtmSubPoints[0].y := 305;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := TempleColor;
dtmSubPoints[0].Tolerance := 5;
dtmSubPoints[1].x := 1315;
dtmSubPoints[1].y := 299;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := TempleColor;
dtmSubPoints[1].Tolerance := 5;
dtmSubPoints[2].x := 1297;
dtmSubPoints[2].y := 297;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := TempleColor;
dtmSubPoints[2].Tolerance := 5;
dtmSubPoints[3].x := 1295;
dtmSubPoints[3].y := 307;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := TempleColor;
dtmSubPoints[3].Tolerance := 5;
dtmSubPoints[4].x := 1308;
dtmSubPoints[4].y := 309;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := TempleColor;
dtmSubPoints[4].Tolerance := 5;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
//by jakeyboy29
function BankFinder(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.21, 0.47);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4269871, MSX1, MSY1, MSX2, MSY2, 12) // Banker colour
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);
SortATPAFromFirstPoint(ATPA,Point(MSCX,MSCY));
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
Wait(50+Random(50));
If(IsUpTextMultiCustom(['to B','o Ban','anke','nker'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
function LodestoneTeleportEx(Where: String): Boolean;
var
TPA: TPointArray;
TSA: TStringArray;
CTS, I: Integer;
begin
If not LoggedIn then Exit;
If not LodestoneScreen then Exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
TSA := ['Lunar Isle', 'Yanille', 'Ardougne', 'Seers Village', 'Catherby', 'Taverley',
'Burthorpe', 'Edgeville', 'Falador', 'Port Sarim', 'Draynor Village', 'Lumbridge',
'Varrock', 'Al Kharid', 'Bandit Camp'];
TPA := [Point(45, 78), Point(160, 262), Point(167, 211), Point(192, 158), Point(223, 181),
Point(253, 180), Point(251, 145), Point(293, 160), Point(278, 206), Point(276, 249), Point(308, 211),
Point(327, 243), Point(345, 182), Point(362, 229), Point(326, 297)];
for I := 0 to 14 do
if Capitalize(Where) = TSA[I] then
begin
MMouse(TPA[I].X, TPA[I].Y, 2, 2);
{if (WaitUptextMulti(['Teleport', 'ele', 'ort', 'lepo', 'epor'], 400)) then
begin
ClickMouse2(Mouse_Left);
Result := true;
end;}
Result := True;
end;
ColorToleranceSpeed(CTS);
end;
function TeleportEdgeville: Boolean;
Var
b: TBox;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
if not(GameTab(tab_Magic)) then
begin
FTab(tab_Magic);
end;
if (SpellAvailable(b, 'lumbridge home teleport')) then
begin
mouseBox(b.x1, b.y1, b.x2, b.y2, mouse_left);
Writeln('teleporting to Edgeville');
Wait(600+random(100));
end else
begin
Writeln('could not find Home teleport...terminating');
TerminateScript;
end;
wait(600+random(100));
If LodestoneScreen then
begin
LodestoneTeleportEx('Edgeville');
ClickMouse2(Mouse_Left);
Result:= True;
end else
begin
SetLoc('tele to edgeville');
Result:= False;
exit;
end;
FTab(tab_Inv);
Sleep(17000+random(1000));
end;
function TeleportFalador: Boolean;
Var
b: TBox;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
if not(GameTab(tab_Magic)) then
begin
FTab(tab_Magic);
end;
if (SpellAvailable(b, 'lumbridge home teleport')) then
begin
mouseBox(b.x1, b.y1, b.x2, b.y2, mouse_left);
Writeln('teleporting to Falador');
Wait(600+random(100));
end else
begin
Writeln('could not find Home teleport..terminating');
TerminateScript;
end;
wait(600+random(200));
If LodestoneScreen then
begin
LodestoneTeleportEx('Falador');
ClickMouse2(Mouse_Left);
Result:= True;
end else
begin
SetLoc('tele to Falador');
Result:= False;
exit;
end;
FTab(tab_Inv);
Sleep(17000+random(1000));
end;
Function WalkToWine: Boolean;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
WriteLn('walking to temple');
MMouse(MMCX-42,MMCY-57,0,0);
ClickMouse2(1);
wait(1000);
repeat
Wait(400);
until not (IsMoving);
MMouse(MMCX-33,MMCY-64,0,0);
ClickMouse2(1);
wait(1000);
repeat
Wait(400);
until not (IsMoving);
MMouse(MMCX-4,MMCY-72,0,0);
ClickMouse2(1);
wait(5000);
repeat
Wait(600);
until not (IsMoving);
MMouse(MMCX+23,MMCY-54,0,0);
ClickMouse2(1);
wait(1000);
repeat
Wait(600);
until not (IsMoving);
If FindDTMRotated(TempleDTM,X,Y,MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x+3, y+6, 1, 1, True);
wait(400);
repeat
Wait(200);
until not (IsMoving);
Result:= True;
end else
begin
WriteLn('could not find temple..resetting');
SetLoc('tele to falador');
Result:= False;
end;
FreeDTM(TempleDTM);
end;
Function WalkToBank: Boolean;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
WriteLn('walking to Edgeville bank..');
MMouse(MMCX+73,MMCY+5,1,0);
ClickMouse2(1);
wait(1000);
repeat
Wait(400);
until not (IsMoving);
if LinearWalkTolerance(4938338,126,49,1,1,300) then
begin
repeat
Wait(50);
until not (IsMoving);
Result:= True;
end else
begin
SetLoc('tele to edgeville');
Result:= False;
exit;
end;
end;
Function BankWines: boolean;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
WriteLn('banking wines..');
If BankFinder(x,y) then
begin
ClickMouse2(0);
WaitOptionMulti(['nk B', 'k Ban'], 500);
Wait(1500+random(500));
if WaitFunc(@BankScreen, RandomRange(50, 100), 3000) then
begin
Deposit(2, 28, True);
Wait(500 + Random(500));
CloseBank;
Wait(400+random(200));
Result:=True;
end else
begin
WriteLn('could not find bank..trying again');
SetLoc('tele to edgeville');
Result:= False;
exit;
end;
end;
end;
Function InPosition: Boolean;
var
CTS: Integer;
TPA: TPointArray;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.54);
if FindColorsSpiralTolerance(MSCX,MSCY, TPA, 793897, MSX1, MSY1, MSX2, MSY2, 3) then
begin
SortTPAFrom(TPA,Point(MSX1+600,MSY2));
x:= TPA[0].x;
y:= TPA[0].y;
MMouse(x, y, 1, 1);
Wait(30);
If WaitUptextMulti(['ttack'],300) then
begin
ClickMouse2(Mouse_Right);
WaitOptionMulti([ 'alk', 'ere'], 500);
end else
ClickMouse2(Mouse_Left);
wait(400);
repeat
wait(200);
until not IsMoving;
if FindColorsSpiralTolerance(MSCX,MSCY, TPA, 793897, MSX1, MSY1, MSX2, MSY2, 3) then
begin
SortTPAFrom(TPA,Point(MSX1+600,MSY2));
x:= TPA[0].x;
y:= TPA[0].y;
MMouse(x, y, 1, 1);
Wait(30);
If WaitUptextMulti(['ttack'],300) then
begin
ClickMouse2(Mouse_Right);
WaitOptionMulti([ 'alk', 'ere'], 500);
end else
ClickMouse2(Mouse_Left);
end else
begin
WriteLn('could not get into position..resetting');
SetLoc('tele to falador');
ColorToleranceSpeed(CTS);
Result:= False;
exit;
end;
end else
begin
WriteLn('could not get into position..resetting');
SetLoc('tele to falador');
ColorToleranceSpeed(CTS);
Result:= False;
exit;
end;
Result:= True;
ColorToleranceSpeed(CTS);
end;
Procedure CastSpell;
Var
b: TBox;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
if not(GameTab(tab_Magic)) then
begin
FTab(tab_Magic);
end;
Wait(1000+random(500));
if (SpellAvailable(b, 'telekinetic grab')) then
begin
mouseBox(b.x1, b.y1, b.x2, b.y2, mouse_left);
WriteLn('telekinetic grab selected');
FTab(tab_Inv);
end else
begin
WriteLn('Out of runes..ending script');
LogOut;
TerminateScript;
end;
MMouse(x,y,2,2);
Wait(1000+random(500));
end;
Function TakeWine: Boolean;
var
timer,PlusOne,NoWineCount: Integer;
BreakOut: Boolean;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
MarkTime(timer);
repeat
if WineFinder then
break;
if TimeFromMark(timer) > 60000 then
begin
BreakOut:= True;
break;
end;
wait(100);
until FindNormalRandoms or not LoggedIn;
if BreakOut then
begin
WriteLn('could not find wine..resetting');
SetLoc('lost');
Result:= False;
exit;
end;
MMouse(x,y,2,2);
WriteLn('wine position found.');
NoWineCount:= 0;
Wait(1000+random(500));
repeat
PlusOne:= InvCount + 1;
CastSpell;
repeat
Wait(2);
Until FindColorTolerance(v,t,2039,MMCX-8, MMCY-4, MMCX-3, MMCY,40);
//ClickMouse(x,y,mouse_Left);
ClickMouse2(1);
Wait(7000+random(500));
If InvCount=PlusOne Then
begin
WriteLn('Got the wine.');
NoWineCount:= 0;
inc(Wines);
end else
begin
WriteLn('crap, too slow');
inc(WinesMissed);
inc(NoWineCount);
end;
If NoWineCount >= 2 then
begin
HopWorld;
SetLoc('take the wine');
NoWineCount:= 0;
Result:= False;
exit;
end;
If InvCount >= 18 then
begin
if not Recalibrate then
begin
SetLoc('take the wine');
Result:= False;
WriteLn('Recalibrating wine position.');
Recalibrate:= True;
exit;
end;
end;
Wait(5000+random(500));
Proggy;
until InvFull or not LoggedIn
Result:= True;
Recalibrate:= False;
end;
procedure Restart;
begin
ClearDebug;
WriteLn('RESTARTING SMART');
smartkillclient(Smart_CurrentClient);
Smart_FixSpeed := True;
SetupSmart(true);
ActivateClient;
LoginPlayerToLob;
SelectWorld(ChooseWorld);
LoginPlayer;
ClickNorth(SRL_ANGLE_HIGH);
FindNormalRandoms;
SetLoc('lost');
end;
function Reset: Boolean;
begin
if FindNormalRandoms then
begin
SetLoc('lost');
exit;
end;
if not LoggedIn then
Restart;
WriteLn('something went wrong, resetting..')
Inc(Reset_Counter);
if InvFull then
begin
SetLoc('tele to edgeville');
Result:= True;
exit;
end;
SetLoc('tele to varrock');
Result:= True;
end;
//by Inception from his tut: [url]http://villavu.com/forum/showthread.php?t=75053[/url]
procedure TakeBreak;
var
H, M, S, T, BreakFor: Integer;
begin
if FindNormalRandoms then
exit;
if not LoggedIn then
begin
SetLoc('lost');
exit;
end;
if (GetSystemTime >= BreakTime) and Players[CurrentPlayer].Booleans[0] then
begin
Logout;
BreakFor := RandomRange(10 * 60000, 15 * 60000); // Between 10-15 minutes
ConvertTime(BreakFor, H, M, S);
Writeln('Break for: ' + IntToStr(M)+ 'm:' + IntToStr(S)+ 's');
BreakText;
MarkTime(T);
Repeat
Sleep(5000);
until (BreakFor < TimeFromMark(T))
LogInPlayer;
ResetBreakTimer;
Wait(4000);
SMART_ClearCanvasArea(IntToBox(2, 3, 515, 335));
FindNormalRandoms;
Inc(Break_Counter);
end;
end;
begin
SetupLogin;
repeat
Case Players[CurrentPlayer].Loc of
'lost':
if not Reset then
begin
WriteLn('could not reset');
Logout;
TerminateScript;
end;
'take the wine':
if TakeWine then
SetLoc('tele to edgeville');
'tele to edgeville':
if TeleportEdgeville then
SetLoc('walk to bank');
'walk to bank':
if WalkToBank then
SetLoc('bank the wines');
'bank the wines':
if BankWines then
SetLoc('tele to falador');
'tele to falador':
if TeleportFalador then
SetLoc('walk to wine');
'walk to wine':
if WalkToWine then
SetLoc('get in position');
'get in position':
if InPosition then
SetLoc('checks');
'checks':
begin
Antiban;
Proggy;
TakeBreak;
SetLoc('take the wine');
end;
end;
until (false);
end.