[BANANA]hey idk if this really works. cuz i am using the script Narcles Fast Fighter v.2.72 and when i dont edit the script for smart to work.. the script works fine and the form shows up. But when i edit the script so it uses smart. no form shows up and nothing happens. here is the whole script….Whats wrong.. can you fix it for me?? please . Thank you,[/BANANA]
{------------------------------Script Info-------------------------------------|
| ScriptName = Fast Fighter |
| Author = Narcle |
| Description = Fights any monster, food eating and HP regen. |
| Version = 2.72 |
| Date = 7/16/08 |
|______________________________________________________________________________|
|----------------------Instructions, Credits & Help info-----=-----------------|
| |
| Instructions: |
| Setup: 1. Select form or no form [In constants - true/false] |
| 2. Input SRL-stats ID & Password [In constants] |
| 3. Get a HP count of monster for form. |
| 4. Make sure you use the Color picker and select 3 colors |
| from monster, and copy/paste them into notepad. |
| 5. Read the "Need to knows" below. |
| 6. Push play! |
| |
| Need to knows: |
| -In the player form; (default) is next to each option, meaning |
| you can leave it blank if you want it to use default settings. |
| -Options for "Skill to train" are > strength, attack, defence, |
| even, pure, accurate, rapid or longrange < |
| Overrides:> c1, c2, c3, c4 < if range will not count ammo |
| -Options for "Run Direction" are > n, e, s, w < |
| |
| Credits: |
| -HyperSecret for posting his SecretFighter (v0.50) script |
| -Chitin & Cruel100 for Testing and Suggestions |
|______________________________________________________________________________}
{.include SRL/SRL/Misc/Smart.scar}
{.include srl/srl.scar}
{.include SRL/SRL/misc/Users.scar}
{------------------------------------------------------------------------------}
{===============================Player Setup===================================}
{------------------------------------------------------------------------------}
Const
MySRLID = '1337';//example: '9999'
MySRLPassword = 'fuckoff';//example: 'password'
UseForm = false;//Use form? [true/false] False uses DeclarePlayers;
HaveReport = false;//Puts some information in Report box
PublicChat = 'off';//Public chat on or off?
{==============================================================================}
{!!!!! If UseForm = true then DeclarePlayers does not APPLY! !!!!!}
{==============================================================================}
procedure DeclarePlayers;
begin
if not(UseForm) then
begin
HowManyPlayers := 1;//Change this accordingly
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :='1337'; //Character Name
Players[0].Pass :='fuckoff'; //Character Pass
Players[0].Nick :='bitch'; //Nickname 3 - 4 Letter's of char name
Players[0].Active:=True; //True if you want this player to be ran in the script, false if not
Players[0].Booleans[0] := false;//Eat food? true/false
Players[0].Integers[0] := ;//1st color of monster
Players[0].Integers[1] := ;//2nd color of monster
Players[0].Integers[2] := ;//3rd color of monster
Players[0].Integers[3] := ;//hitpoints
Players[0].Strings[0] := '';//monster name
Players[0].Strings[1] := 'strength'; //the skill you want to train > strength, attack, defence, pure, even, accurate, rapid or longrange <
Players[0].Strings[2] := 's';//Player run direction > n, e, s, w <
{------------------------------------------------------------------------------}
{========================Don't edit below this!===============================}
{------------------------------------------------------------------------------}
Writeln('No-form setup');
end else
begin
Writeln('Form setup');
SRLPlayerForm(True, ['Eat Food'], ['Color 1','Color 2','Color 3','Monster Hitpoints'], ['Monster Name (tack)', 'Skill to train (even)','Run Direction (s)'], []);
end;
CheckUserNicks;
SRLid:= MySRLId;
SRLpassword:= MySRLPassword;
ScriptID := '424';
If (HowManyPlayers = 1) then Writeln('Single-Player Mode') else Writeln('Multi-Player mode; '+IntToStr(HowManyPlayers)+' Players');
end;
const
Version = '2.72';
ScriptName = 'Fast Fighter';
var
CharStartTime, TKilled, Txp, Startxp, foodate, RoundTimer, FailTimer, TFoodate,
ArrowStartAmount, TArrowAmount, CurrentMonsterHP, tacktime:integer;
Hoverskillis,CurrentMonsterName,CurrentRunDir,CurrentStyle,StartTime:string;
CurrentColors: array of integer; ScriptStarted: boolean;
procedure LogoutSeq(reason:string); forward;
procedure NarcSig;
var
I,II,n:integer;
s:string;
begin
Disguise('Sig Call');
ChangeReportWidth(255);
Status('Signature call; Watch the report box!');
for I := 0 to 57 do
begin
clearreport;
for II := 0 to 5 do
Addtoreport(s+'||');
wait(30);
if I < 29 then s := s + ' ' else delete(s, Length(s), 1);
end;
for I := 1 to 29 do
begin
ClearReport;
AddtoReport(Left(' _ _ _ ', I));
AddtoReport(Left('| \ | | made by | | ', I));
AddtoReport(Left('| \| | __ _ _ __ ___| | ___ ', I));
AddtoReport(Left('| . ` |/ _` | ''__/ __| |/ _ \', I));
AddtoReport(Left('| |\ | (_| | | | (__| | __/', I));
AddtoReport(Left('|_| \_|\__,_|_| \___|_|\___|', I));
wait(50);
end;
AddtoReport(ScriptName+' v'+Version);
if (MySRLID = '') or (MySRLPassword = '') then
begin
Writeln('Please register at SRL-stats in the future');
Writeln('to remove this message and the time delay.');
Writeln(' -Regards Narcle');
n := 15;
repeat
n := n-1;
wait(999);
Disguise(inttostr(n)+' Seconds to start.');
until (n=0)
end;
Status('Start '+ScriptName);
Disguise(ScriptName+' v'+Version);
StartTime := TheTime;
AddtoReport('Start time: '+StartTime);
end;
function ActiveCount:integer;
var i:integer;
begin
for i := 0 to HowManyPlayers-1 do
begin
if Players[i].Active then
result := result+1;
end;
end;
Function FFWait(Time: Integer): Boolean;
var
T: Integer;
begin
if not(loggedin) then exit;
for T := 7 to time do
begin
if FindNormalRandoms then
begin
FindInventoryRandoms;
result := true;
end;
if FindTalk then
Result := True;
Wait(200 + Random(50));
end;
end;
function FFInFight: Boolean;
var
x, y : Integer;
begin//264, 160
Result := (FindColor(x, y, 65280, 249, 140, 279, 175) or FindColor(x, y, 255,
249, 140, 279, 175))
end;
function FightOnScreen: Boolean; //Works! already tweaked
var
x,y:integer;
B:TBox;
begin
B:=IntToBox(228, 143, 300, 190);
result := FindColorSkipBox(x, y, 65280, MSX1, MSY1, MSX2, MSY2, B) or
FindColorSkipBox(x, y, 255, MSX1, MSY1, MSX2, MSY2, B);
end;
Function MobsOnScreen: integer;//Working but needs some tweaks
var
i: integer;
Mobs : TPointArray;
begin
FindColorsTolerance(Mobs, 195836, 598, 67, 656, 105, 19);
if High(Mobs) > 0 then
begin
RAaSTPA(Mobs, 4);
for i := 0 to High(Mobs) do
If InAbstractBox(590, 60, 656, 60, 646, 102, 600, 102, Mobs[i].x, Mobs[i].y) then
begin
result := result + 1;
end;
end;
end;
procedure Stopban;
begin
if not LoggedIn then Exit;
case Random(58) of
0: wait(500+random(3000));
1: begin
RandomMovement;
SetAngle(true);
end;
2: HoverSkill(Hoverskillis ,false);
3: PickUpMouse;
end;
status('');
end;
function GetArrowCount:integer;
//creds to masquerader | Freddy1990 | Boreas | Mr. Freeweed
//for the "GetAmount" parts I used
var
amountstr: string;
begin
gametab(5);
wait(50);
amountstr := TrimOthers(GetTextAtEx(667, 249, 0, StatChars, False, False, 0, 2, -1, 5, True, tr_AlphaNumericChars));
if (Length(amountstr) > 0) then
begin
if (Pos('K', amountstr) > 0) then
begin
Delete(amountstr, Length(amountstr), Length(amountstr));
Result := StrToInt(amountstr) * 1000;
end else
if (Pos('M', amountstr) > 0) then
begin
Delete(amountstr, Length(amountstr), Length(amountstr));
Result := StrToInt(amountstr) * 1000000;
end else
Result := StrToInt(amountstr);
end else
Result := 0;
end;
procedure OptionsAre;
begin
if Players[CurrentPlayer].Strings[2] = '' then CurrentRunDir := 's'
else CurrentRunDir := lowercase(Players[CurrentPlayer].Strings[2]);
if Players[CurrentPlayer].Strings[1] = '' then CurrentStyle := 'even'
else CurrentStyle := lowercase(Players[CurrentPlayer].Strings[1]);
CurrentColors := [Players[CurrentPlayer].Integers[0],
Players[CurrentPlayer].Integers[1], Players[CurrentPlayer].Integers[2]];
if (Players[CurrentPlayer].Integers[3]<3) then CurrentMonsterHP := 3
else CurrentMonsterHP := Players[CurrentPlayer].Integers[3];
if Players[CurrentPlayer].Strings[0] = '' then CurrentMonsterName := 'tack'
else CurrentMonsterName := Players[CurrentPlayer].Strings[0];
If (CurrentPlayer > 0) and (Players[CurrentPlayer].Integers[0]=0) then
begin
CurrentColors := [Players[0].Integers[0], Players[0].Integers[1], Players[0].Integers[2]];
CurrentMonsterName := Players[0].Strings[0];
CurrentMonsterHP := Players[0].Integers[3];
end;
end;
Procedure NameColorCheck;
begin
OptionsAre;
if (CurrentColors[0] = 0) or (CurrentColors[1] = 0) or (CurrentColors[2] = 0) then
begin
Logout;
Writeln('Error: Please enter 3 monster colors for player(s).');
terminatescript;
end;
if CurrentMonsterName = '' then
begin
Logout;
Writeln('Error: Please enter monster name(s) for player(s).');
terminatescript;
end;
end;
function MyEatFood:boolean;
var
i,x,y:integer;
begin
gametab(4);
for i := 1 to 28 do
if ExistsItem(i) then
begin
MMouseItem(i);
GetMousePos(x, y);
wait(150+random(50));
if (pos('Eat', rs_GetUpText) > 0) then
begin
Mouse(x,y,0,0,false);
wait(50+random(50));
if ChooseOption('Eat') then
begin
wait(350+random(150));
result := true;
exit;
end;
end;
end;
end;
procedure FFHpCheck;//The new and improved! 3/25/08
var
c:Integer;
begin
if (not LoggedIn) or (HPPercent > 64) then exit;
if (HPPercent < 30) then
begin
Status('Running away HP% < 30...');
RunAway(CurrentRunDir, true, 1, 5000+random(5000) );
end;
if (HPPercent < 65) then
begin
Status('HP low doing HP checks...');
if (Players[CurrentPlayer].Booleans[0]) then
if not(InvEmpty) then
for c := 0 to 2 do
begin
if MyEatFood then foodate := foodate+1;
if (not(loggedin)) or (HPPercent > 64) then exit;
end;
repeat
FFWait(4);
Case random(20) of
0: RandomMovement;
end;
if FFInFight then
begin
RunAway(CurrentRunDir, true, 1, 10000+random(2000) );
if (HPPercent < 50) and FFInFight then
begin
Status('Waiting to auto-logout...');
repeat
FFwait(4);
until(not(loggedin))
LogoutSeq('');
end;
end;
if ( (Getsystemtime-CharStartTime) > (RandomRange(8, 14)*60000+random(60000)) ) then LogoutSeq('');
if not LoggedIn then exit;
until(HPPercent > 64);
SetAngle(true);
end;
end;
procedure FFOutFight;
begin
if FFInFight then
begin
repeat
if not LoggedIn then exit;
FFWait(1);
FFhpcheck;
if not FightOnScreen then exit;
until(not FFInFight)
end else
Wait(3000);
end;
procedure PReport;
Var
CurRemXP, XPpH, Tlm, CurXP, CurAU, XPn, Killed, I,H,M,S:integer;
Active:string;
begin
if not(loggedin) then loginplayer;
FFoutfight;
ConvertTime(gettimerunning, H, M, S);
GetAllLevels;
CurXP := GetXP(Hoverskillis);
if (CurXP > Startxp) and (Startxp > 0) then XPn := CurXP-Startxp else XPn := 0;
try Killed := Round((XPn/(4.0*CurrentMonsterHP))) except Killed := 0; end;
TKilled := TKilled+killed;
Txp := (Txp+XPn);
TFoodate := TFoodate + foodate;
if (HowManyPlayers = 1) then
begin
CurRemXP := XpTillNextLevel(Hoverskillis);
if (CurRemXP>0) and (Txp > 0) then Tlm := Round((CurRemXP)/(Txp/(H*60.0+m))) else Tlm := 1;
if (txp>0) then XPpH := Round((Txp*60.0)/(H*60.0+m)) else XPpH := 0;
end;
if (Players[CurrentPlayer].Booleans[0]) then
if (ArrowStartAmount > GetArrowCount) and (GetArrowCount > 0) then
CurAU := ArrowStartAmount - GetArrowCount else CurAU := 0;
if (Players[CurrentPlayer].Booleans[0]) then TArrowAmount := TArrowAmount+CurAU;
if (HowManyPlayers = 1) then
begin
Cleardebug;
Writeln('|_Single Player__Narcle''s Fast Fighter v'+Version+' by Narcle___|');
Writeln('| Ran: ' + inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S)+'s Current Time: '+TheTime+' Start Time: '+StartTime+' |');
WriteLn('| Total Kills: '+ inttostr(TKilled)+', Total XP Gained: '+ inttostr(Txp));
WriteLn('| Kills Round: '+ inttostr(Killed)+', XP Round: '+ inttostr(XPn)+' XP/hour: '+inttostr(XPpH));
try
If (Players[CurrentPlayer].Booleans[0]) then
writeln('| Ammo remaining: '+inttostr(GetArrowCount)+', Total Ammo used: '+
+inttostr(TArrowAmount)+', Ammo Used/hour: '+inttostr(Round((TArrowAmount*60.0)/(H*60.0+m)))+' |');
except end;
end;
if (HowManyPlayers > 1) then
begin
Players[currentplayer].Integers[11] := Players[currentplayer].Integers[11] + XPn;
Players[currentplayer].Integers[12] := Players[currentplayer].Integers[12] + killed;
Players[currentplayer].Integers[13] := Players[currentplayer].Integers[13] + CurAU;
Players[currentplayer].Integers[15] := Players[currentplayer].Integers[15] + foodate;
Players[currentplayer].Integers[31] := Players[currentplayer].Integers[31] + TimeFromMark(RoundTimer);
if (Players[currentplayer].Integers[11]>0) and (Players[currentplayer].Integers[31]>0) then
try Players[currentplayer].Integers[32] := Round((Players[currentplayer].Integers[11]*3600.0)/(Players[currentplayer].Integers[31]/1000.0))
except Players[currentplayer].Integers[32] := 0; end;
ClearDebug;
Writeln('|_Multi-Player__Fast Fighter v'+Version+' by Narcle___|');
Writeln('| Ran: ' + inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S)+'s Current Time: '+TheTime+' Start Time: '+StartTime+' |');
WriteLn('| Totals: XP Gained; '+ inttostr(Txp)+', Kills; '+ inttostr(TKilled)+', Food ate; '+inttostr(TFoodate)+', Ammo used; '+inttostr(TArrowAmount)+' |');
writeln(' _________________________________________________________________________');
Writeln('| # | Nick | Active | XP gained | Kills | XP/hour | Food ate | Ammo Used |');
For I := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active=True then Active := 'True' else Active := 'False';
Writeln('| '+IntToStr(I)+' | '+Players[i].Nick+' | '+Active+' | XP: '+IntToStr(Players[i].Integers[11])+' | K: '+
+IntToStr(Players[i].Integers[12])+' | XP/h: '+IntToStr(Players[i].Integers[32])+' | Ate: '+IntToStr(Players[i].Integers[15])+
+' | AU: '+IntToStr(Players[i].Integers[13])+' |');
end;
end;
begin//stat updates
ReportVars[0] := Killed;
ReportVars[1] := XPn;
ReportVars[2] := FoodAte;
SendSRLReport;
end;
foodate := 0;
Killed := 0;
end;
procedure CombatLookup;
var
x, y, i, WaitT, CP:integer;
Xarr, Yarr:array of integer;
TB: TBox;
TP: TPointArray;
begin
CP := CurrentPlayer;
Xarr := [600, 685, 600, 685];
Yarr := [275, 275, 330, 330];
GameTab(1);
for i := 0 to 3 do
begin
MMouse(Xarr[i], Yarr[i], 7, 7);
repeat
WaitT := WaitT+1;
wait(100);
if WaitT >= 30 then exit;
until findcolor(x, y, 10551295, 540, 205, 750, 465);
GetClientDimensions(TB.X2, TB.Y2);
TB.X1 := 0;
TB.Y1 := 0;
FindColorsTolerance(TP, 10551295, TB.X1, TB.Y1, TB.X2, TB.Y2, 0);
If Length(TP) = 0 Then Exit;
TB := GetTPABounds(TP);
Players[CP].Strings[i+50] := Lowercase(Between('(', ' XP',
GetTextAtEx(TB.X1+2, TB.Y1+27, 0, SmallChars, False, True, 0, 1, 0, 20, False, tr_AllChars)));
if Players[CP].Strings[i+50] = '' then
begin
Players[CP].Strings[i+50] := Lowercase(Between('(', ' XP',
GetTextAtEx(TB.X1+2, TB.Y1+14, 0, SmallChars, False, True, 0, 1, 0, 20, False, tr_AllChars)));
end;
Writeln(Players[CP].Strings[i+50]);
end;
end;
function CombatSelect(kind: string): boolean;
var
i:integer;
begin
for i := 0 to 3 do
if Lowercase(kind) = Players[currentplayer].Strings[i+50] then
begin
SetFightMode(i+1);
Hoverskillis := kind;
result := true;
exit;
end;
end;
function CombatTrain: string;
var
i:integer;
begin
for i := 0 to 3 do
begin
if 'range' = Players[currentplayer].Strings[i+50] then
begin
result := 'range';
exit;
end;
if 'magic' = Players[currentplayer].Strings[i+50] then
begin
result := 'magic';
exit;
end;
end;
result := 'melee';
end;
procedure SetupPlayer;
Var
Mode, i:integer;
begin
if (not(LoggedIn)) then Exit;
if not Players[CurrentPlayer].Booleans[3] then
begin
SetBar(4, 1, 1, 1);
Players[CurrentPlayer].Booleans[3] := true;//Graphics & Audio Set.
end;
Status('Setting up player: '+Players[CurrentPlayer].Name+'...');
MouseSpeed := RandomRange(11,16);
SetAngle(true);
GameTab(1);
Retaliate(True);
mode := 0;
if Players[currentplayer].Strings[50] = '' then
begin
CombatLookup;
Players[currentplayer].Strings[55] := CombatTrain;
end;
for i := 1 to 4 do
if CurrentStyle = 'c'+inttostr(i) then
SetFightMode(i)
else
case Players[currentplayer].Strings[55] of
'melee': begin
case CurrentStyle of
'attack': mode := 1;
'strength': mode := 2;
'defence': mode := 3;
'even': begin
if (Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[1]) and
(Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[2]) then mode := 3;
if (Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[3]) and
(Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[2]) then mode := 1;
if (Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[1]) and
(Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[3]) then mode := 2;
end;
'pure': begin
if Players[CurrentPlayer].level[2]<15 then mode := 2 else
if Players[CurrentPlayer].level[1]<30 then mode := 1 else
if Players[CurrentPlayer].level[2]<25 then mode := 2 else
if Players[CurrentPlayer].level[1]<40 then mode := 1 else mode := 2;
end;
end;
Case mode of
1: if not CombatSelect('attack') then
if not CombatSelect('strength') then
CombatSelect('defence');
2: if not CombatSelect('strength') then
if not CombatSelect('attack') then
CombatSelect('defence');
3: if not CombatSelect('defence') then
if not CombatSelect('strength') then
CombatSelect('attack');
end;
end;
'range': begin
if CurrentStyle = 'even' then
CurrentStyle := 'rapid';
case CurrentStyle of
'accurate' : SetFightMode(1);
'rapid' : Setfightmode(2);
'longrange': Setfightmode(3);
end;
Hoverskillis := 'range';
ArrowStartAmount:=GetArrowCount;
If (ArrowStartAmount <= 200) then
begin
LogoutSeq('Low ammo count! (below 200)');
exit;
end;
end;
end;
SetChat(PublicChat, 1);
SetChat('off', 2);
SetChat('off', 3);
SetChat('off', 4);
SetChat('off', 5);
GetAllLevels;
Startxp := GetXP(Hoverskillis);
SetRun(True);
CharStartTime := Getsystemtime+random(30000);
MarkTime(RoundTimer);
MarkTime(FailTimer);
If HaveReport then
begin
ClearReport;
ChangeReportWidth(284);
AddtoReport('/~~~~~~ Fast Fighter v'+Version+' ~~~~~~\');
AddtoReport('|________Made by Narcle_________|');
AddtoReport('| Active Players: '+inttostr(ActiveCount)+' False: '+inttostr(HowManyPlayers-ActiveCount)+' |');
AddtoReport('Current Player: '+Players[Currentplayer].Name);
end;
end;
procedure LogoutSeq(reason:string);
begin
if(not(loggedin))then exit;
FFoutfight;
Status('Logout sequence...');
PReport;
Stopban;
if (reason = '') then nextplayer(true) else
begin
Writeln(reason+' '+Players[Currentplayer].Name+' is now inactive.');
nextplayer(false);
end;
SetupPlayer;
end;
function FFattack(Name: string; Colors:TintegerArray; tol: integer): boolean;
var
L1, c, x, y, xx, yy: integer;
begin
result := false;
if FFInFight and FightOnScreen then Exit;
L1 := High(Colors);
for c := 0 to L1 do
begin
x:=MSCX;
y:=MSCY;
if FindColorSpiralTolerance(x, y, Colors[c], MSX1, MSY1, MSX2, MSY2, Tol) then
begin
MMouse(x, y, 3, 3);
if FindColorSpiral(xx, yy, 65280, x - 15, y - 40, x + 15, y+ 40) then continue;
wait(150+random(50));
if (pos(Name, rs_GetUpText) > 0) then
begin
Players[CurrentPlayer].Integers[15] := 0;
GetMousePos(x, y);
case Random(2) of
0: begin
Mouse(x, y, 0, 0, false);
if ChooseOption('tack') then
result := true;
end;
1: if IsUpText('tack') then
begin
Mouse(x, y, 0, 0, true);
result := true;
end;
end;
if result then
begin
MarkTime(FailTimer);
exit;
end;
end;
end;
end;
end;
function ChangeCamera: boolean;
var
i, II, PosNeg:integer;
begin
Case random(2) of
0: PosNeg := 1;
1: PosNeg := -1;
end;
i := Round(rs_GetCompassAngleDegrees/45 - 1);
if i < 0 then i := 0;
if i > 7 then i := 7;
For II := 0 to 7 do
begin
if (MobsOnScreen > 0) then
begin
result := true;
exit;
end;
i := i+PosNeg;
if i > 7 then i := 0;
if i < 0 then i := 7;
MakeCompass(inttostr(i*45));
end;
end;
//=============================================Main Execution============================================\\
begin
smartSetup('world135', False, True, False);
Wait(100);
SetTargetDC(SmartGetDC);
If Not (LoggedIn) Then
While Not (SmartGetColor(386, 249) = 65535) Do
Wait(100);
SetupSRL;
ClearDebug;
NarcSig;
DeclarePlayers;
NameColorCheck;
if not LoggedIn then LoginPlayer;
ScriptStarted := true;
SetupPlayer;
repeat
if not(loggedin) then LoginPlayer;
FFhpcheck;
if FFattack(CurrentMonsterName, CurrentColors, 3) then
begin
FFlag(0);
MarkTime(tacktime);
while not FFInFight and (TimeFromMark(tacktime) < 2000) do wait(100);
FFOutFight;
end;
if (MobsOnScreen = 0) then ChangeCamera;
FFWait(0);
Stopban;
if (TimeFromMark(FailTimer) > 240000) then
begin
Players[CurrentPlayer].Integers[15] := Players[CurrentPlayer].Integers[15]+1;
MarkTime(FailTimer);
end;
if (Players[CurrentPlayer].Integers[15]>3) then LogoutSeq('Finding mob failed');
if ( (Getsystemtime-CharStartTime) > (RandomRange(6, 12)*60000+random(60000)) ) then LogoutSeq('');
until(false);
end.
:mad: :mad: :mad: