• Log in or sign up for an account here: https://www.sythe.org/login

help recieving error

scottskate

Forum Addict
Joined
Jul 29, 2007
Sythe Gold
0
Messages
358
i dont get the nickname thing
myaccountname is Curseofpat

the errors im getting is

Failed when compiling
Line 432: [Hint] (10397:1): Variable 'OLDMS' never used in script C:\Program Files\SCAR 3.12\includes\SRL/SRL/Core/AntiRandoms/AntiRandoms.scar
Line 430: [Error] (12949:1): Unknown identifier 'SetScreenName' in script


someone just re write the line for me and fill in what i need or somtin..



andd this is the whole script:








//----------------------------------------------------------------------------//
//* SRL Falador North Guard Fighter *//
//* *//
//* Guardz! *//
//* *//
//* 0.26 *//
//* *//
//* by WT-Fakawi *//
//* *//
//* *//
//----------------------------------------------------------------------------//
//* NAME : SRL SRL Falador North Guard Fighter *//
//* WRITER : WT-Fakawi *//
//* CATEGORY : Fighter *//
//* DESCRIPTION : Fights Falador Guards at Falador North Gate. *//
//* USAGE : Start at Falador West Bank. *//
//* Have Food: LOBSTER, Shrimp, Anchovy, Meat, Salmon, Trout*//
//* at Upper Bank Screen. *//
//* AUTOCOLOR : Yup *//
//* BUILD : SRL 4 Rev #4. *//
//----------------------------------------------------------------------------//
program SRLGuardFighter;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Fighting.scar}
{.include SRL/SRL/misc/Bitmaps/Prayer.scar}

var
ToSquareDDTM, SquareDDTM, StartTime, EndTime, InventTime, TheFood, TheHeal,
Eat, Guards, BBones, Mark, Danger, OldG, NewG,
BonesT, ArrowsT, CoinsT, RunesT, LeftCorner, RightCorner: Integer;

NPCColors: array[0..2] of integer;

type FoodRec = record // boundary for white text
Name :String;
BMP :Integer;
Heal: Integer;
end;

var
Food: array[0..5] of FoodRec;


//----------------------------------------------------------------------------//

const PlayTime = 50; // Time for Each Player In Minutes. //
const Pickup = True; // Set to True if you want the script to pick up stuff
const GuardTimeOut = 25; // seconds before clicking on next Guard.
const RemoteMaster = ''; // RC Master.
const MySRLID = ''; // Your SRLID here.
const MySRLPassword = ''; // Your SRL Password here.
Const VersionNumber = '0.26';
//----------------------------------------------------------------------------//

Procedure DeclarePlayers;
begin

NumberOfPlayers(8);
CurrentPlayer := 0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Skill:='auto'; // valid 'attack', 'strength', 'defence' or 'auto'
Players[0].Active:=True;
Players[0].Loc := 'Bank';

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Skill:='strength';
Players[1].Active:=True;
Players[1].Loc := 'Bank';

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Skill:='defence';
Players[2].Active:=True;
Players[2].Loc := 'Bank';

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Skill:='attack';
Players[3].Active:=True;
Players[3].Loc := 'Bank';

Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Skill:='auto';
Players[4].Active:=True;
Players[4].Loc := 'Bank';

Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Skill:='auto';
Players[5].Active:=True;
Players[5].Loc := 'Bank';

Players[6].Name :='';
Players[6].Pass :='';
Players[6].Nick :='';
Players[6].Skill:='auto';
Players[6].Active:=True;
Players[6].Loc := 'Bank';

Players[7].Name :='';
Players[7].Pass :='';
Players[7].Nick :='';
Players[7].Skill:='auto';
Players[7].Active:=True;
Players[7].Loc := 'Bank';

end;

//----------------------------------------------------------------------------//

procedure PlayerStats;

var Active: string;
var i: Integer;
begin
writeln('**********************************************');
writeln('Name : '+ Players[CurrentPlayer].Name);
writeln('Number : '+inttostr(CurrentPlayer));
if Players[CurrentPlayer].Active=True then Active := 'True' else Active := 'False';
writeln('Active : '+ Active);
writeln('Location : '+ Players[CurrentPlayer].loc);
writeln('**********************************************');

for i := 0 to HowManyPlayers-1 do
begin
begin
if Players.Active=True then Active := 'True' else Active := 'False';
writeln( (inttostr(i))+' : '+Players.name + ' = '+Active
+'. - Lvl : '
+' '+inttostr(Players.Level[1])
+' '+inttostr(Players.Level[2])
+' '+inttostr(Players.Level[3])
+'. W : '+IntToStr(Players.Worked)+' mins. '
+'K : '+ IntToStr(Players.Integers[0])+' Guards. '
+'L: '+Players.loc + ' '
+'R: '+Players.Rand);
end
end
writeln('**********************************************');
end;

//----------------------------------------------------------------------------//

Procedure ProgressReport;

begin
writeln(' ');
WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
writeln('Worked for '+ TimeRunning);
writeln('Attacked '+inttostr(Guards)+' Guards.');
writeln('Buried '+inttostr(BBones)+' Bones.');
writeln('Ate '+inttostr(Eat)+' Food.');
PlayerStats;
SRLRandomsReport;
SendSRLReport;
end;

// -------------------------------------------------------------------------- //

Procedure LoadFood;

Begin
Food[5].Name := 'Anchovy';
Food[5].BMP := BitmapFromString(5, 4, 'beNozdIlInFNctRKCgiNqv' +
'P3zfQIKgcjGIVJT28bdOwOIXDzSLKyDtfUd7ZxjgeLWduFGZj76AK' +
'eTE+k=');
Food[5].Heal := 1;

Food[4].Name := 'Shrimp';
Food[4].BMP := BitmapFromString(5, 4, 'beNrT5bw6SfpqERTNDRHq8RL' +
'q9wGhQls+X03OVjc+IGp05cuy4AzS5iy15wOK51nxJRpzhgMAZmER' +
'vg==');
Food[4].Heal := 3;

Food[3].Name := 'Meat';
Food[3].BMP := BitmapFromString(12, 1, 'beNqz1e2PdEZDtb58EN' +
'QSaFviYZ4CAO00DF4=');
Food[3].Heal := 3;

Food[2].Name := 'Trout';
Food[2].BMP:= BitmapFromString(5, 5, 'beNqrKQ/3dIv28ojz9coMCymIi' +
'UwI8E0LCcyNCi9Piq/LTAEyShLjatKTm3My2gtyKlMSIYzu4vy+0k' +
'IIY0JZ0aSKkmkASugfIw==');
Food[2].Heal := 7;

Food[1].Name := 'Salmon';
Food[1].BMP:= BitmapFromString(5, 5, 'beNoLkes3FJpmLDTTVGillehW' +
'e9G5pkLLLEQ32YoecJI87SYJZOxzkjzhKnnZU/qGl/QxMOO2j/QDX' +
'+mnfiDGYz/pFwFybwLlPgIA1N0cOw==');
Food[1].Heal := 9;

Food[0].Name := 'Lobster';
Food[0].BMP:= BitmapFromString(4, 4, 'beNpLES+24d0QI7I5TuRgqni' +
'XhyCQsS1eZF+K+NwgBBsoBWTsTBDZBwCmHRH8');
Food[0].Heal := 12;

BonesT := BitmapFromString(24, 1, 'z78DA7373B33430317003' +
'931060EA626A6262EE4603714C121940D40300C5511EC7');
ArrowsT := BitmapFromString(38, 1, 'beNoLcY8Ncf8/wQGIGMAA' +
'zkYWB7IhCL8IJhsNgaQAkLstBg==');
CoinsT := BitmapFromString(35, 1, 'z78DA7373B33430317003' +
'931060EA626A62628E8B74C3A19ED6E2C8A4011240560F9105008' +
'F812CC8');
RunesT:= BitmapFromString(29, 1, 'z78DA7373B3343031700393C8C' +
'0D4C5D4C4C41C42BA61A821551C02283707009DAC24CD');
LeftCorner := BitmapFromString(4, 4, 'z78DA33753135313137C5' +
'411A600064715CEA914500CACE13F0');
RightCorner := BitmapFromString(4, 4, 'z78DA33753135313137' +
'C5200D30002E35F8C501C9C013F0');
End;

//----------------------------------------------------------------------------//

procedure SetupColors;
begin

NPCColors[0] := 1122717;
NPCColors[1] := 1121943;
NPCColors[2] := 1121939;
end;

//----------------------------------------------------------------------------//

function FaladorSquare: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 645;
dtmMainPoint.y := 74;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6913156;
dtmMainPoint.Tolerance := 255;

dtmSubPoints[0].x := 645;
dtmSubPoints[0].y := 15;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := RoadColor;
dtmSubPoints[0].Tolerance := 1;

dtmSubPoints[1].x := 645;
dtmSubPoints[1].y := 130;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := RoadColor;
dtmSubPoints[1].Tolerance := 1;

dtmSubPoints[2].x := 616;
dtmSubPoints[2].y := 75;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := RoadColor;
dtmSubPoints[2].Tolerance := 1;

dtmSubPoints[3].x := 660;
dtmSubPoints[3].y := 85;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := RoadColor;
dtmSubPoints[3].Tolerance := 1;

dtmSubPoints[4].x := 672;
dtmSubPoints[4].y := 45;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := RoadColor;
dtmSubPoints[4].Tolerance := 1;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

//----------------------------------------------------------------------------//

function ToFaladorSquare: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 641;
dtmMainPoint.y := 131;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6913156;
dtmMainPoint.Tolerance := 255;

dtmSubPoints[0].x := 621;
dtmSubPoints[0].y := 133;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := RoadColor;
dtmSubPoints[0].Tolerance := 1;

dtmSubPoints[1].x := 651;
dtmSubPoints[1].y := 133;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := RoadColor;
dtmSubPoints[1].Tolerance := 1;

dtmSubPoints[2].x := 641;
dtmSubPoints[2].y := 110;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := RoadColor;
dtmSubPoints[2].Tolerance := 1;

dtmSubPoints[3].x := 642;
dtmSubPoints[3].y := 56;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := RoadColor;
dtmSubPoints[3].Tolerance := 1;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

//----------------------------------------------------------------------------//
// -- Performs FlagWait and FindTalk....
//----------------------------------------------------------------------------//

function FlagFTWait:Boolean;
var FlagMark: Integer;
begin
MarkTime(FlagMark);
if not FlagPresent then
begin
Result:=False;
Exit;
end
else
begin
repeat
FindNonInventoryRandoms;
Wait(100);
if not(Loggedin) then break;
until ( (not FlagPresent) or (TimeFromMark(FlagMark) > 6000) ); // waits until flag is gone or 6 seconds.
Result:=True;
Wait(250);
end;
end;

//----------------------------------------------------------------------------//
// Set Fighting Parameters //
//----------------------------------------------------------------------------//

Procedure SFP;
var Ci, HL1, HL2, HL:Integer;
Begin
GetAllLevels;

if Players[CurrentPlayer].Skill = 'auto' then
begin
HL := 100;
for Ci := 1 to 2 do
begin
HL1 := Players[CurrentPlayer].level[Ci];
HL2 := Players[CurrentPlayer].level[Ci+1];
if HL2 > HL1 then
begin
if HL > HL1 then HL := HL1;
end
else
begin
if HL > HL2 then HL := HL2;
end;
end;

for CI := 1 to 3 do // method can be adapted to 3 choice armour (2Handed)
begin
if Players[CurrentPlayer].level[Ci] = HL then
begin
if CI = 3 then CI := CI + 1;
SetFightMode(CI);
Exit;
end;
End;
end
else
begin
if(Players[CurrentPlayer].Skill='attack') then
SetFightMode(1);

if(Players[CurrentPlayer].Skill='strength') then
SetFightMode(2);

if(Players[CurrentPlayer].Skill='defence') then
SetFightMode(4);
end
End;

// -------------------------------------------------------------------------- //

Function HaveFood(var WhereX,WhereY:integer):boolean;
begin
Result := FindBitmapToleranceIn(TheFood,WhereX,WhereY,MIX1,MIY1,MIX2,MIY2,10)
end;

//----------------------------------------------------------------------------//

Procedure SetUp;
var dx, dy, i:integer;
begin
SetupSRL;
SRLID := MySRLID;
SRLPassword := MySRLPassword;
DeclarePlayers;
DeclarePrayerBitmaps;
SetupColors;
LoadFood;
MouseSpeed:=40;
LoginPlayer;
SetScreenName(Players[CurrentPlayer].Nick); // in case we where already logged in.
for I := 0 to 19 do
ReportVars := 0;
ReportVars[12] := 1; // Sets Total times Run One Time each setup
ScriptID := '294'; // Lets get stats!
RCMaster:=RemoteMaster;
ClearDebug;
ClearReport;
Danger := 0;
SymbolAccuracy := 0.7;
RoadColor := FindFallyRoadColor;
WaterColor := FindWaterColor;
BankColor := GetSymbolColor(dx, dy, 'bank')
Writeln('BankColor := ' +IntToStr(BankColor));
if (BankColor = 0) or (RoadColor = 0) then
begin
Writeln('ERROR: Couldnt find colors. Exiting...');
Terminatescript;
end;

SquareDDTM := FaladorSquare;
ToSquareDDTM := ToFaladorSquare;
end;

// -------------------------------------------------------------------------- //

Function Bank(Mode:String):Boolean;

Var
i, x, y: Integer;
Begin
FindInventoryRandoms;
// if not OpenBankQuiet('fwb') then Wizz beat me to it :)
if not OpenBankFast('fwb') then
begin
Logout;
Result := False;
Exit;
end;
FixBank;
Deposit(1, 28, 2);
Wait(2000);
If Mode = 'all' then
begin
For i := 0 To 4 Do
begin
If FindBitmapToleranceIn(Food.BMP, x, y, MSX1, MSY1, MSX2, MSY2, 10) Then
Begin
Mouse(x, y, 3, 3, False);
ChooseOption('10');
TheFood := Food.BMP;
TheHeal := Food.Heal;
CloseBank;
Inc(Players[CurrentPlayer].Banked);
Inc(Banks);
writeln('Using ' + Food.name);
Result := True;
Exit;
End
end
writeln('No Food');
CloseBank;
Result := False;
Logout;
end;
CloseBank;
End;

//----------------------------------------------------------------------------//

Function ClickDTMRotated(TheDTM:Integer):Boolean;
var WhichAngle: Extended;
var FBx, FBy: Integer;
begin
if FindDtmRotated(TheDTM, FBx, FBy, MMX1, MMY1, MMX2, MMY2,
Radians(-35), Radians(35), 0.05,
WhichAngle) then
begin
if rs_onMiniMap(FBx, FBy) then
begin
writeln('CLICK!');
Mouse(FBx, FBy, 0, 0, True);
FFlag(0);
FTWait(4);
Result := True;
end
end else writeln('not found');
end;

//----------------------------------------------------------------------------//

Function ClickColorSpiral(CenterX, CenterY, Color, Xoff, Yoff, Pause:Integer):Boolean;
begin
if FindColorSpiral(CenterX, CenterY, Color, MMX1, MMY1, MMX2, MMY2) Then
begin
MFF(CenterX + Xoff, CenterY + Yoff, 1, -1);
Wait(Pause);
FFlag(0);
FindNormalRandoms;
Result:=True;
end;
end;

// -------------------------------------------------------------------------- //

Function FindFWB: Boolean;
var
CALX, CALy, FWB:Integer;
WhichAngle: Extended;

begin
FWB:= DTMFromString('78DA63EC606260086540015BB7AC62F80FA41' +
'981F83F10303603D544A3AAF9F38789810BAA060418BB8950D34E' +
'849A7EC26A00340113A0');

if FindDtmRotated(FWB, CALx, CALy, MMX1, MMY1, MMX2, MMY2, -pi/4, pi/4, 0.05,
WhichAngle) then
begin
if rs_OnMiniMap(CALx, CALy) then
begin
MFF(CALx, CALy, 1, 1);
FlagFTWait;
FTWait(4);
Result := True;
FreeDTM(FWB);
Exit;
end
end
FreeDTM(FWB);
end;

//----------------------------------------------------------------------------//

procedure BuryBones;
var
x, y, i: Integer;
TB: TBox;
begin
GameTab(4);
Wait((100)+ Random(50));
for i := 1 to 28 do
begin
TB := InvBox(i);
if ExistsItem(i) then
begin
if FindBitmapSpiralTolerance(Bone, x, y, TB.x1, TB.y1, TB.x2, TB.y2, 50) then
begin
MouseItem(i, False);
ChooseOption('Bury');
Inc(BBones);
Inc(ReportVars[1]);
Wait((250) + Random(150));
end;
end;
FindTalk;
end;
end;

// -------------------------------------------------------------------------- //

procedure WalkToGuards;
begin
ClickColorSpiral(690, 39, RoadColor, -1, 1, 7000);
if ClickDTMRotated(SquareDDTM) then
LinearRoadWalk(RoadColor,0,60,0,1)
else
ClickColorSpiral(672, 38, RoadColor, -1, 1, 6000);
end;

// -------------------------------------------------------------------------- //

Function ClickBank:Boolean;
var
CalX, CalY: Integer;
begin
If FindColor(CALx,CALy,BankColor,MMX1, MMY1, MMX2, MMY2) then
begin
if rs_OnMiniMap(CALx, CALy) then
begin
MFF(CALx,CALy,1,1);
FFlag(0);
FindTalk;
Result:= True;
end;
end;
end;

// -------------------------------------------------------------------------- //

procedure WalkToBank;
var
x, y, i:Integer;
begin
BuryBones;
repeat
LinearRoadWalk(RoadColor, 180, 40, 0, -1);
FindInventoryRandoms;
Inc(i);
if i > 20 then
begin
Logout;
Exit
end;
Until ClickDTMRotated(ToSquareDDTM) or FindColor(x, y, WaterColor, MMx1, MMy1, MMx2, MMy2);

ClickDTMRotated(SquareDDTM);

LinearRoadWalk(RoadColor, 260, 65, 0, -1);
FindInventoryRandoms;

if not ClickBank then
begin
LinearRoadWalk(RoadColor, 200, 60, 0, -1);
FindInventoryRandoms;
if not ClickBank then
begin
LinearRoadWalk(RoadColor, 200, 60, 0, -1);
FindInventoryRandoms;
ClickBank;
end
end

FindFWB;
FFlag(0);
FTWait(4);
if not Bank('deposit') then
begin
Logout;
Exit;
end;
end;

//----------------------------------------------------------------------------//

procedure Callibrate;

begin
if OldG = NewG then
begin
Inc(Danger);
Writeln('DangerLevel ' + IntToStr(Danger));
if Danger > 4 then
begin
Logout;
Players[CurrentPlayer].loc:='Danger Level 5';
Danger := 0;
Exit;
end;
end else Danger := 0;
OldG := Guards;
GetAllLevels;
GameTab(4);
FindInventoryRandoms;
if InvCount > 23 then BuryBones;
ProgressReport;
MakeCompass('N');
end;

//----------------------------------------------------------------------------//

Function CheckAndRestoreHealth:Boolean;
var Lx, Ly:Integer;
begin
GameTab(2);
Result := True;

if Damage > 20 then
Result := False;

if Damage >= TheHeal then
begin
GameTab(4);
FTWait(2);
if HaveFood(Lx, Ly) then
begin
Mouse(Lx, Ly, 4, 4, True);
FTWait(4);
Inc(Eat);
Inc(ReportVars[2]);
Result := True;
end
else
begin
Result := False;
end;
end
end;

{*******************************************************************************
function ChooseOption3: Boolean;
By: Stupid3ooo modded by WT-Fakawi
Description: Finds Popup menu, then clicks on Meat, Coins, Runes and Bones in that order!!!
*******************************************************************************}

Function ChooseOptionText:Boolean;
var
x, y, x1, y1, x2, y2, Fx, Fy, BitMap, I: Integer;
begin
if (FindBitmap(LeftCorner, x1, y1)) and (FindBitmap(RightCorner, x2, y2)) then
begin
for I := 1 to 4 do
begin
case I of
1: BitMap := CoinsT; // Works like a charm
2: BitMap := RunesT;
3: BitMap := ArrowsT;
4: BitMap := BonesT;
end;

If FindBitMap(BitMap, Fx, Fy) then
begin
Mouse(Fx, Fy, 20, 4, True);
Result := True;
FlagFTWait;
Inc(ReportVars[I + 2]);
Exit;
end;
end;
if (FindText(Fx, Fy, 'Cancel', upchars, x1, y1, x2, 502)) then
begin
repeat
GetMousePos(x,y);
MMouse(x,y,(MSx2 - Random(MSx2)), (MSy2 - Random(MSy2)));
Wait(50);
until not FindBitmap(LeftCorner, x1, y1);
end;
end;
end;

//----------------------------------------------------------------------------//

Function PickupStuff: Boolean;
var Gx, Gy, Dumx, Dumy:Integer;
begin
if Pickup then
begin
Gx := MSCx;
Gy := MSCy;
if FindColorSpiralTolerance(Gx, Gy, 1347504, MSX1, MSY1, MSX2, MSY2, 4) or
FindColorSpiralTolerance(Gx, Gy, 11842750, MSX1, MSY1, MSX2, MSY2, 2)
then
begin
MMouse(Gx, Gy, 0, 0);
Wait(100);
FindNonInventoryRandoms;
if FindColorTolerance(Dumx, Dumy, 4293337, 42, 8, 120, 21, 50) then // Brown
begin
Mouse(Gx, Gy, 0, 0, False); // pick it up!
RunControl(True);
ChooseOptionText;
RunControl(False);
Result:=True;
end;
end;
end;
end;

//----------------------------------------------------------------------------//

function MyInFight: Boolean;
var
x, y:Integer;
begin
Result := ( FindColor(x, y, 65280, 230, 130, 280, 180)
or FindColor(x, y, 255, 230, 130, 280, 180) )
end;

//----------------------------------------------------------------------------//

function IsFullHitBar:Boolean;
var
FullHitBar, Dx, Dy:integer;
begin
FullHitBar := BitmapFromString(30, 1, 'z78DA7373330002B7214' +
'50200CCCB26E9');
Dx := MSCx;
Dy := MSCy;
if FindColor(Dx, Dy, 192, MSCx-50, MSCy-50, MSCx + 50, MSCy + 50) then
Result := FindBitmapIn(FullHitBar, Dx, Dy, MSCx - 100, MSCy - 60, MSCx + 100, MSCy + 60);
FreeBitmap(FullHitBar);
end;

//----------------------------------------------------------------------------//

Function ClickGuard: Boolean;
var CBx,CBy,GCIndex, Dumx, Dumy, i: Integer;
begin
for GCIndex := 0 to 1 do
begin
CBx := MSCx;
CBy := MSCy;
if FindColorSpiralTolerance(CBx, CBy, NPCColors[GCIndex], MSX1, MSy1, MSX2, MSY2, 3) then
begin
MMouse(CBx, CBy, 0, 15);
Wait(10);
if FindColorTolerance(Dumx, Dumy, 318168, 42, 8, 120, 21, 50) then // Yellow
begin
if IsTextInAreaEx(7, 7, 71, 20, Dumx, Dumy, 'G', 100, upchars, True,
True, 0, 2, -1) then
begin
RunControl(True);
GetMousePos(CBx, CBy);
Mouse(CBx, CBy, 0, 0, True);
inc(Guards);
Inc(ReportVars[0]);
Inc(Players[CurrentPlayer].Integers[0]);
NewG := Guards;
for i := 0 to 10 do
begin
if FindColor(Dumx, Dumy, 255, CBx - 8, CBy - 8, CBx + 8, CBy + 8) then
begin
Break;
end
if FindColor(Dumx, Dumy, 65535, CBx - 8, CBy - 8, CBx + 8, CBy + 8) then
begin
RunControl(False);
Exit;
end;
Wait(10);
end;
FFlag(0);
Result := True;
RunControl(False);
Exit;
end
else
begin
Result := False;
RunControl(False);
Exit;
end;
end;
end;
end;
RunControl(False);
end;

//----------------------------------------------------------------------------//

Function Moving:Boolean;
var
c: array[0..7] of Integer;
i: Integer;
begin
if Not LoggedIn then
begin
Result := False;
Exit;
end;
for i := 0 to 1 do
begin
c[((i * 4) + 0)] := GetColor(MSCx - 40, MSCy - 40);
c[((i * 4) + 1)] := GetColor(MSCx + 40, MSCy + 40);
c[((i * 4) + 0)] := GetColor(MSCx - 40, MSCy - 40);
c[((i * 4) + 1)] := GetColor(MSCx + 40, MSCy + 40);
Wait(100);
end;
if ( c[0] = c[4] ) and ( c[1] = c[5] ) and ( c[2] = c[6] ) and ( c[3] = c[7] )
then
Result := False
else
Result:= True;
end;

//----------------------------------------------------------------------------//

Procedure WaitFight;
var Mark5, FlagMark:Integer;
begin

FlagFTWait;
While Moving do Wait(100);

MarkTime(FlagMark);
repeat
FTWait(1);
if IsFullHitBar then Exit;
until ( (not FlagPresent) or (TimeFromMark(FlagMark) > 3000) );

MarkTime(Mark5);
repeat
FTWait(1);
if IsFullHitBar then Exit;
until ( MyInFight or (TimeFromMark(Mark5) > 1500) );

MarkTime(Mark5);
repeat
if not CheckAndRestoreHealth then Exit;
FTWait(1);
if IsFullHitBar then Exit;
PickupStuff;
until not MyInFight or ( (GetSystemTime - Mark5) > 30000 );

FlagFTWait;
FTWait(4);
end;

//----------------------------------------------------------------------------//

procedure SPP;
begin
SetChat('on', 1);
SetChat('friends', 2);
SetChat('off', 3);
FixChat;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('off', 3);
if Players[CurrentPlayer].Booleans[0] = False then
begin
Retaliate(True);
Players[CurrentPlayer].Booleans[0]:=True;
end;
SFP;
GetAllLevels;
GameTab(2);
RoadColor := FindFallyRoadColor;
FreeDTM(SquareDDTM);
FreeDTM(ToSquareDDTM);
SquareDDTM := FaladorSquare;
ToSquareDDTM := ToFaladorSquare;

end;

//----------------------------------------------------------------------------//
//
// Main EventLoop
//
//----------------------------------------------------------------------------//

begin
Setup;

repeat
StartTime := GetSystemTime;
InventTime := GetSystemTime;

if LoggedIn then
begin
SPP;
Bank('all');
WalkToGuards;
Repeat
EndTime := GetSystemTime;
if not Loggedin then Break;
if ClickGuard then WaitFight;
FTWait(2);
FindNonInventoryRandoms;
if not CheckAndRestoreHealth then Break;
if (GetSystemTime - InventTime) > 30000 then
begin
InventTime := GetSystemTime;
Callibrate;
end;
until ( EndTime - StartTime > (PlayTime * 60000) ) or not Loggedin;
end;

if LoggedIn then
begin
WalkToBank;
MarkTime(Mark);
repeat
Wait(250);
FindNormalRandoms;
if(TimeFromMark(Mark) > 12000) then begin Logout; Break; end;
until not LoggedIn;
NextPlayer(True);
end;

if (not(Loggedin)) then NextPlayer(False);

until(False);

end.
 
Runescape Gamblingrunescape gambling
Back
Top