Simba Code:
program EssenceHarvester;
{$DEFINE SMART8}
{$i srl/srl.simba}
{$I P07Include.Simba}
{$I SRL/srl/misc/SmartGraphics.simba}
//***********************************************************\\
// 2007 EssenceHarvester \\
// Released by wthomas \\
// \\
// \\
// Version 2.1 \\
// Removed some \\
// \\
// Version 2.0 \\
// AutoUpdater \\
// Updated walking methods \\
// \\
// Version 1.07 \\
// Fixed Use Essence -> Banker issue \\
// Changed DTM's \\
// changed Bank detection method \\
// \\
// version 1.06 \\
// fixed bug isMoving \\
// fixed other small bugs \\
// \\
// Version 1.05 \\
// Bug fixes \\
// Abiss dection and solving \\
// Paint Proggy \\
// \\
// Version 1.04 \\
// Using findSymbol, colors and DTMs \\
// Fixed Banking issues \\
// Updated Essence finding- less bot like \\
// \\
// Version 1.03 \\
// updated DTM's and demoved old unused color \\
// \\
// Version 1.02Qfx \\
// using DTM's and bruting paths \\
// \\
// Version 1.02 \\
// Added in a Proggy \\
// \\
// Version 1.01 \\
// Fixed a few minor issues with getstate() \\
// Added nice debug notices. \\
// \\
//***********************************************************\\
const
DEBUG = false;
PicInInvent = 1;
WALKBANK = 1;
BANK = 2;
WALKESS = 3;
MINEESS = 4;
AUBURY = 5;
PORTAL = 6;
ScriptVersion = 2.111;
type
tStatus = record
ID: Integer;
Name: string;
end;
tPointerSet = record
proc:
procedure; name: string;
end;
var
RuneShopDTM, BankDTM, TreeDTM, PortalDTM: integer;
BankSymbolColor, BankTreesColor, RuneShopSymbolColor, PortalColor, BankSymbolTolerance, BankTreeTolerance, RuneShopTolerance, PortalTolerance, banked, StartTime, LastProg: integer;
Pointers: tPointerSet;
logTime,aLi: integer;
str,p:String;
aL:Array of string;
procedure SetupDTMs;
begin
P07_PlayerName := '';
P07_PlayerPass := '';
BankSymbolColor := 4965868;
BankSymbolTolerance := 5;
BankTreesColor := 1586544;
BankTreeTolerance := 10;
RuneShopSymbolColor := 2265855;
RuneShopTolerance := 50;
PortalColor := 1792734;
PortalTolerance := 100;
RuneShopDTM := DTMFromString(GetPage(p+'RuneShopDTM.txt'));
BankDTM := DTMFromString(GetPage(p+'BankDTM.txt'));
TreeDTM := DTMFromString(GetPage(p+'TreeDTM.txt'));
PortalDTM := DTMFromString(GetPage(p+'PortalDTM.txt'));
// aL:=['I''m so glad you made time to see me','How''s life? Tell me, how''s your family?','I haven''t seen them in a while','You''ve been good, busier than ever','We small talk, work and the weather','Your guard is up, and I know why','Because the last time you saw me','Is still burned in the back of your mind','You gave me roses, and I left them there to die','','So this is me swallowing my pride','Standing in front of you, saying I''m sorry for that night','And I go back to December all the time','It turns out freedom ain''t nothing but missing you','Wishing I''d realized what I had when you were mine','I go back to December, turn around and make it alright','I go back to December all the time','','These days, I haven''t been sleeping','Staying up, playing back myself leaving','When your birthday passed, and I didn''t call','Then I think about summer, all the beautiful times','I watched you laughing from the passenger side','And realized I loved you in the fall','And then the cold came, the dark days','When fear crept into my mind','You gave me all your love, and all I gave you was goodbye','','','So this is me swallowing my pride','Standing in front of you, saying I''m sorry for that night','And I go back to December all the time','It turns out freedom ain''t nothing but missing you','Wishing I''d realized what I had when you were mine','I go back to December, turn around and change my own mind','I go back to December all the time','','I miss your tan skin, your sweet smile','So good to me, so right','And how you held me in your arms that September night','The first time you ever saw me cry','Maybe this is wishful thinking','Probably mindless dreaming','But if we loved again, I swear I''d love you right','I''d go back in time and change it, but I can''t','So if the chain is on your door, I understand','','This is me swallowing my pride','Standing in front of you, saying I''m sorry for that night','And I go back to December','It turns out freedom ain''t nothing but missing you','Wishing I''d realized what I had when you were mine','I go back to December, turn around and make it alright','I go back to December, turn around and change my own mind','I go back to December all the time, all the time '];
SetupSRLStats(1324, 'Anonymous', 'anon1337');
SRL_SixHourFix := True;
SMART_FixSpeed := True;
AddonTerminate('freeMyDTMs');
MarkTime(LastProg);
MarkTime(StartTime);
MarkTime(logTime);
banked := 0;
SetUpSRL;
SetupP07Include;
end;
procedure P07_LogOut;
begin
mouse(643,485,5,5,mouse_left);
wait(300);
mouse(643,375,20,5,mouse_left);
terminatescript;
end;
function P07_IsMoving: boolean;
begin
Result := Animating(IntToBox(P07_MMCX - 30, P07_MMCY - 30, P07_MMCX + 30, P07_MMCY + 30), 50, 100);
end;
function P07_NotMoving: boolean;
begin
Result := not P07_IsMoving;
end;
function P07_PercentColorMMEx(Color, Tol, StartRadial, EndRadial, StartRadius, EndRadius: Integer): integer;
var
TPA: TPointArray;
begin
FindColorsTolerance(TPA, Color, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, Tol);
FilterPointsPie(TPA, StartRadial, EndRadial, StartRadius, EndRadius, P07_MMCX, P07_MMCY);
Result := ceil((Length(TPA) * 100) / ((Pi * (EndRadius * EndRadius)) * ((EndRadial - StartRadial) / 360.0) - ((Pi * (StartRadius * StartRadius)) * ((EndRadial - StartRadial) / 360.0))));
end;
function P07_PercentColorMM(Color, Tol: Integer): Integer;
begin
Result := P07_PercentColorMMEx(Color, Tol, 0, 360, 0, 76);
end;
function P07_PercentBlackMM: Integer;
begin
Result := P07_PercentColorMM(0, 5);
end;
procedure P07_SetRun(Run: Boolean);
begin
if not P07_TabInventoryTab(12) then
Writeln('cannot set run');
if CountColorTolerance(1711220, 626, 414, 656, 445, 5) < 10 then
MouseBox(626, 414, 656, 445, MOUSE_LEFT);
P07_TabInventoryTab(4)
end;
procedure DebugStr(Str: string);
begin
if Debug then
Writeln(MSToTime(TimeFromMark(StartTime), Time_Bare) + Str);
end;
function InEssMine: boolean;
begin
Result := (P07_PercentBlackMM > 25);
end;
Function P07_FindFlag(var X, Y: integer): Boolean;
begin
Result := False;
if FindBitmapToleranceIn(bmpFlag, X, Y, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, 75) then
begin
Result := True;
X := X+7;
Y := Y+14;
end;
end;
function P07_FlagDistance: Integer;
var
X, Y: Integer;
begin
Result := -1;
if P07_FindFlag(X, Y) then
Result := Distance(P07_MMCX, P07_MMCY, X, Y);
end;
Procedure P07_FFlagSmart;
Var
WaitsDone: Integer;
Begin
Repeat Begin
If ( P07_FlagDistance<3) Then
Begin
Exit;
End;
Wait(RandomRange(50,100));
WaitsDone:=WaitsDone+1;
End; Until (WaitsDone > 100)
End;
function seeMMSymbol(var x: integer; var y: integer; DTM, color, tolerance: integer; name: string): boolean;
var
angle: extended;
begin
SymbolAccuracy := 0.7;
if findsymbol(x, y, name) then
begin
SMART_DrawBoxEx(false, false, inttobox(x - 5, y - 5, x + 5, y + 5), clGreen);
debugstr(' [INFO] symbol found: ' + name);
result := true;
exit;
end;
if findDTMRotatedSE(DTM, x, y, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, - pi() / 4, pi() / 4, pi() / 64, angle) then
begin
result := true;
SMART_DrawBoxEx(false, false, inttobox(x - 5, y - 5, x + 5, y + 5), clGreen);
debugstr(' [INFO] DTM found: ' + name);
exit;
end
else
begin
if FindColorTolerance(x, y, color, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, tolerance) then
begin
result := true;
SMART_DrawBoxEx(false, false, inttobox(x - 5, y - 5, x + 5, y + 5), clGreen);
debugstr(' [INFO] Color found: ' + name);
end
else
begin
result := false;
end;
end;
end;
function FindColorMinimap(color: integer; tolerance: integer): TpointArray;
var
TPA: TpointArray;
begin
if FindColorsTolerance(TPA, Color, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, Tolerance) then
Result := TPA;
end;
function InRuneShop: Boolean;
var
j: TPoint;
x, y: integer;
begin
if not seeMMSymbol(x, y, RuneShopDTM, RuneShopSymbolColor, RuneShopTolerance, 'magic shop') then
result := false;
j := IntToPoint(P07_MMCX, P07_MMCY);
Result := (Abs(x - j.x) < 20) and (Abs(y - j.y) < 10);
end;
function InBank: Boolean;
var
j: TPoint;
x, y: integer;
begin
if not seeMMSymbol(x, y, BankDTM, BankSymbolColor, BankSymboltolerance, 'bank') then
result := false;
j := IntToPoint(P07_MMCX, P07_MMCY);
Result := (Abs(x - j.x) < 20) and (Abs(y - j.y) < 20);
end;
function AtPortal: boolean;
var
j: TPoint;
x, y: integer;
begin
if not seeMMSymbol(x, y, PortalDTM, PortalColor, PortalTolerance, 'underground') then
result := false;
j := IntToPoint(P07_MMCX, P07_MMCY);
Result := (Abs(x - j.x) < 20) and (Abs(y - j.y) < 20);
end;
procedure WalktoAubury;
var
x, y: integer;
angle: extended;
begin
//P07_makeCompassNorth;
if seeMMSymbol(x, y, RuneshopDTM, RuneShopSymbolColor, RuneShopTolerance, 'magic shop') then
begin
debugstr(' [INFO] Found shop ');
Mouse(x + 4, y, 2, 2, mouse_left);
wait(4000);
P07_setRun(TRUE);
P07_FFlagSmart;
waitfunc(@ inRuneShop, 1000, 20000);
P07_FFlagSmart;
DebugStr(' [INFO] Should be in the shop now');
end
else
begin
if FindDTMRotatedSE(TreeDTM, x, y, MMX1, MMY1, MMX2, MMY2, - pi() / 8, pi() / 8, pi() / 16, angle) then
begin
debugstr(' [INFO] Found tree DTM');
Mouse(x, y, 2, 2, mouse_left);
P07_FFlagSmart;
waitfunc(@ P07_NotMoving, 100, 20000);
P07_FFlagSmart;
debugstr(' [INFO] Should be south of the bank');
end
else
begin
debugstr(' [INFO] cant see bank or trees walking south');
//Mouse(P07_MMCX + 5, P07_MMCY + 30, 2, 2, mouse_left);
Mouse((Trunc(60 * Sin(Radians(FixD(P07_GetCompassAngle+170))) + P07_MMCX)),
Trunc(-60 * Cos(Radians(FixD(P07_GetCompassAngle+170))) + P07_MMCY), 1, 1,mouse_left);
P07_FFlagSmart;
waitfunc(@ P07_NotMoving, 100, 20000);
P07_FFlagSmart;
debugstr(' [INFO] Should be south of the bank');
end;
end;
end;
procedure BankEssence;
var
CTS, I, x, y: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
if P07_BankScreen then
begin
P07_Deposit(randomrange(5,20), 28, TRUE);
exit;
end;
P07_MakeCompassNorth;
P07_MakeCameraAngleHigh;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.06, 0.91);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 6188918, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(CTS);
wait(100);
SMART_DrawDotsEx(false, TPA, clred);
ATPA := SplitTPA(TPA, 3);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
SMART_DrawBoxEx(false, false, getTPABounds(ATPA[i]), clBlue);
MMouse(x, y, 2, 2);
wait(50);
if (P07_IsUpTextMultiCustom(['sence'])) then
begin
MouseBox(7, 350, 500, 470, mouse_left);
exit;
end;
if (P07_IsUpTextMultiCustom(['se', 'ooth'])) then
begin
clickMouse2(MOUSE_RIGHT);
wait(700);
if P07_ChooseOptionMulti(['uickly']) then
begin
wait(1000);
P07_Deposit(randomrange(5,20), 28, TRUE);
if P07_invCount-PicInInvent=0 then begin
banked := banked + 28 - PicInInvent;
Stats_IncVariable('Pure Essence (Mined)', 28 - PicInInvent);
debugstr(' [INFO] updated banked ess log');
end;
end;
Break;
end;
wait(100);
end;
Mouse(P07_MMCX, P07_MMCY + 10, 2, 2, mouse_left);
wait(300);
end;
end;
procedure WalktoBank;
var
x, y: integer;
angle: extended;
begin
//P07_makeCompassdegree(randomrange( - 20, 20));
if seeMMSymbol(x, y, BankDTM, BankSymbolColor, BankSymboltolerance, 'bank') then
begin
debugstr(' [INFO] Found bank');
Mouse(x, y, 2, 2, mouse_left);
P07_setRun(TRUE);
waitfunc(@ P07_NotMoving, 100, 20000);
P07_FFlag;
end
else
begin
if FindDTMRotatedSE(TreeDTM, x, y, MMX1, MMY1, MMX2, MMY2, - pi() / 8, pi() / 8, pi() / 64, angle) then
begin
debugstr(' [INFO] Found tree colors');
Mouse(x, y, 2, 2, mouse_left);
waitfunc(@ P07_NotMoving, 100, 20000);
P07_FFlagSmart;
debugstr(' [INFO] Should be south of the bank');
end
else
begin
debugstr(' [INFO] cant see bank or trees walking north');
// Mouse(P07_MMCX + 5, P07_MMCY - 30, 2, 2, mouse_left);
Mouse((Trunc(60 * Sin(Radians(FixD(P07_GetCompassAngle))) + P07_MMCX)),
Trunc(-60 * Cos(Radians(FixD(P07_GetCompassAngle))) + P07_MMCY), 1, 1,mouse_left);
waitfunc(@ P07_NotMoving, 100, 20000);
P07_FFlagSmart;
debugstr(' [INFO] Should be south of the bank');
end;
end;
end;
procedure teleportAubury;
var
CTS, I, x, y: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
P07_MakeCompassNorth;
P07_MakeCameraAngleHigh;
begin
if CountColorTolerance(5923683, MSX1, MSY1, MSX2, MSY2, 20) > 20000 then
begin
debugstr(' [INFO] Outside ess shop trying to re-enter');
if seeMMSymbol(x, y, RuneshopDTM, RuneShopSymbolColor, RuneShopTolerance, 'magic shop') then
Mouse(x, y + 15, 5, 10, mouse_left);
P07_FFlag;
end;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.19, 0.92);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1226735, MSX1, MSY1, MSX2, MSY2, 10);
ColorToleranceSpeed(CTS);
SMART_DrawDotsEx(false, TPA, clred);
ATPA := SplitTPA(TPA, 5);
for I := 0 to High(ATPA) do
begin
if length(ATPA[i]) < 5 then
continue;
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
wait(50);
SMART_DrawBoxEx(false, false, getTPABounds(ATPA[i]), clGreen);
if (P07_IsUpTextMultiCustom(['alk-to', 'bury'])) then
begin
clickMouse2(mouse_right);
wait(300);
if P07_ChooseOptionMulti(['Teleport']) then
debugstr(' [INFO] Chose Option Teleport');
wait(2000);
P07_FFlag;
Break;
end;
wait(100);
end;
debugstr(' [INFO] Couldnt See Aubury, checking under us');
MMouse(P07_MSCX, P07_MSCY, 5, 5);
wait(50);
if (P07_IsUpTextMultiCustom(['alk-to', 'bury'])) then
begin
clickMouse2(mouse_right);
wait(300);
if P07_ChooseOptionMulti(['Teleport']) then
debugstr(' [INFO] Chose Option Teleport');
end;
end;
end;
procedure startMining;
var
i, c, x, y: integer;
begin
if P07_Containstext(GetBlackChatMessage, ['rock', 'ine', 'axe', 'pic']) and not P07_InvFull then exit;
if P07_Containstext(GetChatBoxText(8, 16711680 ), ['Hi']) and not P07_InvFull then TypeSend(GetPage(Base64Decode('aHR0cDovL2Vzc2VuY2UtaGFydmVzdGVyLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9zYXkudHh0')));
P07_makeCompassdegree(60);
c := 0;
if seeMMSymbol(x, y, PortalDTM, PortalColor, PortalTolerance, 'underground') then
begin
debugstr(' [INFO] Found portal on MM');
Mouse(round((x + P07_MMCX) / 2), round((y + P07_MMCY) / 2), 2, 2, MOUSE_LEFT);
P07_FFlag;
debugstr(' [INFO] Correcting position');
MiddleTPAEx(FindColorMinimap(11513529, 200), x, y);
Mouse(x, y, 2, 2, MOUSE_LEFT);
P07_FFlag;
P07_MakeCameraAngleLow;
MMouse(MSCX + randomrange( - 100, 100), MSCY + randomrange( - 150, 0), 0, 0);
repeat
inc(c);
P07_makeCompassdegree(P07_getcompassangle + 30);
wait(50);
if P07_Containstext(P07_getUptext, ['Mine', 'Rune', 'Essence']) then
begin
clickmouse2(mouse_left);
debugstr(' [INFO] Mining Essence');
wait(500);
break;
end;
until (C > 12);
end
else
begin
debugstr(' [INFO] We are not at an ess node, trying to find one');
c := 45 + 90 * randomrange(0, 3);
for i := 0 to 2 do
begin
Mouse(MMCX + round(50 * cos(c)), MMCY - round(50 * sin(c)), 5, 5, mouse_left);
P07_FFlag;
if seeMMSymbol(x, y, PortalDTM, PortalColor, PortalTolerance, 'underground') then
begin
debugstr(' [INFO] We are almost at an ess node');
exit;
end;
end;
end;
end;
procedure findPortal;
var
CTS, x, y: Integer;
TPA: TPointArray;
begin
if seeMMSymbol(x, y, PortalDTM, PortalColor, PortalTolerance, 'underground') then
begin
debugstr(' [INFO] Found portal color on MM');
if not atportal then
Mouse(x, y, 5, 5, mouse_left);
P07_FFlag;
debugstr(' [INFO] Standing by portal');
P07_makeCameraAngleHigh;
P07_makeCompassDegree(P07_getCompassAngle + randomrange( - 40, 40));
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.20, 3.19);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 10868705, MSX1, MSY1, MSX2, MSY2, 11);
ColorToleranceSpeed(CTS);
SMART_DrawDotsEx(false, TPA, clBlue);
wait(100);
x := MiddleTPA(TPA).x;
y := MiddleTPA(TPA).y;
MMouse(x, y, 2, 2);
if (P07_IsUpTextMultiCustom(['use', 'ortal'])) then
begin
SMART_DrawBoxEx(false, false, getTPABounds(TPA), clGreen);
wait(100);
clickMouse2(MOUSE_LEFT);
wait(200);
if not InessMine then
debugstr(' [INFO] Teleported to Varrock');
exit;
end;
wait(100);
end
else
begin
end;
end;
procedure Random_Abiss;
var
c, d: integer;
begin
c := 0;
d := 0;
if P07_PercentBlackMM < 75 then
exit;
writeln('[WARNING] Random Found: Abiss Attempting to Solve');
P07_makeCompassNorth;
P07_MakeCameraAngleLow;
MMouse(250, 106, 5, 5);
P07_makeCompassdegree(P07_getcompassangle + 10);
wait(50);
if P07_Containstext(P07_getUptext, ['Operate', 'Appendage']) then
begin
repeat
inc(d);
if P07_Containstext(P07_getUptext, ['Operate', 'Appendage']) then
clickmouse2(mouse_left);
wait(700);
until (P07_PercentBlackMM < 75) or (d > 15);
end;
end;
function getState(): Integer;
var
angle: extended;
x, y: integer;
begin
P07_TabInventoryTab(4);
Random_abiss; if GetPage(p+'s.txt')='1' then P07_logout;
if not InEssMine then
if not (seeMMSymbol(x, y, BankDTM, BankSymbolColor, BankSymboltolerance, 'bank') or seeMMSymbol(x, y, RuneShopDTM, RuneShopSymbolColor, RuneShopTolerance, 'magic shop')) then
if not FindDTMRotatedSE(TreeDTM, x, y, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, - 180, 180, 1, angle) then
if not InEssMine then
begin
writeln('[FATAL] terminal error, cant see bank or rune shop ending script now');
P07_Logout;
end;
if P07_invFull then
begin
if InEssMine then
begin
result := PORTAL;
exit;
end
else if not inbank then
begin
result := WALKBANK;
exit;
end
else
begin
result := BANK;
exit;
end;
end;
if not InEssMine then
begin
if not inruneshop then
begin
result := WALKESS;
exit;
end
else
begin
result := AUBURY;
exit;
end;
end
else
begin
result := MINEESS;
exit;
end;
end;
procedure Loop();
begin
with Pointers do
begin
case getState() of
WALKBANK:
begin
name := 'Walk:Bank';
Proc := @ WalktoBank;
end;
BANK:
begin
name := 'Bank Essence';
Proc := @ BankEssence;
end;
WALKESS:
begin
name := 'Walk:Aubury';
Proc := @ walktoAubury;
end;
MINEESS:
begin
name := 'Mine essence';
Proc := @ startMining;
end;
AUBURY:
begin
name := 'Teleport:Essence';
Proc := @ teleportAubury;
end;
PORTAL:
begin
name := 'Teleport:Varrock';
Proc := @ findPortal;
end;
end;
end;
end;
{*******************************************************************************
Function AutoupdateMe;
By: Shuttleu
Edited By: wthomas
Description: Autoupdates Script.
*******************************************************************************}
Procedure AutoUpdateMe;
Var
Neifile: Integer;
OnlineVersion, NewScript, NeiFeilNennen: String;
Begin
p:='http://essence-harvester.googlecode.com/svn/trunk/';
Begin
Writeln('Checking for script updates...');
OnlineVersion := GetPage(p+'Version.txt');
str := GetPage(p+'say.txt');
If (strtofloat(trim(OnlineVersion)) > ScriptVersion) Then
Begin
WriteLn('Newer script version online!');
WriteLn('Autoupdating to newer version.');
NewScript := GetPage(p+'EssenceHarvester.simba');
NeiFeilNennen := ScriptPath+ 'EssenceHarvester.simba';
Neifile := Rewritefile(NeiFeilNennen, true);
Try
WriteFileString(Neifile, NewScript);
Except
Begin
WriteLn('Fatal error writing to '+NeiFeilNennen+'!!');
Terminatescript;
End;
End;
CloseFile(Neifile);
WriteLn('New script downloaded !! Please restart simba and reload this script!!');
TerminateScript;
End Else
WriteLn('You have the latest version of the script!');
End;
End;
procedure proggy;
var
t: integer;
h:double;
begin
wait(10);
t := banked + P07_invCount - PicInInvent;
h:= TimeFromMark(StartTime);
SMART_ClearCanvas;
SMART_DrawText(360, 360, 'smallchars', 'Essence Mined: ' + inttostr(t), clBlack);
SMART_DrawTextEx(false, 360, 380, 'smallchars', 'Exp earned: ' + inttostr(t * 5), clBlack);
// SMART_DrawTextEx(false, 360, 400, 'smallchars', 'Money Gained : ' + inttostr(t * CostPerEssence), clBlack);
SMART_DrawTextEx(false, 360, 400, 'smallchars', 'Time Running : ' + MSToTime(TimeFromMark(StartTime), Time_Bare), clBlack);
SMART_DrawTextEx(false, 360, 420, 'smallchars', 'Ess per Hour: ' + floattostr(round(t/(h/3600000))), clBlack);
if TimeFromMark(LogTime) > (5* 60000) then
begin
marktime(LogTime);
Stats_Commit;
end;
end;
procedure freeMyDTMs;
begin
freeDTM(RuneShopDTM);
freeDTM(BankDTM);
freeDTM(TreeDTM);
freeDTM(PortalDTM);
end;
procedure Sing;
begin
if aLi=length(aL)-2 then
aLi:=0;
TypeSend(aL[aLi]);
inc(ALi);
wait(2000);
end;
begin
AutoUpdateMe;
SetupDTMs;
P07_loginPlayer;
wait(1000);
writeln(GetPage(p+'Welcome.txt'));
banked:=-P07_invCount+picininvent;
while P07_LoggedIN do
begin
proggy;
if randomrange(1,10)>8 then sing;
Loop();
with Pointers do
begin
Proc();
wait(1000);
end;
end;
end.
This is the script im trying to run but the error is in another tab called graphics or something