SRL Archive - Help and Support

Another infight function?


Ashur2Good

2008-03-14 08:51:42

Well, with my script the MonkBSER, even if someone else is attacking that monk it still attacks it! And yeah, i'm using infight… and all that. It might be a silly mistake, or a big one :S Idk, that's why i'm askin. But here's some of the script:




/////////////////////////////FindMonk///////////////////////////////////////////
function FindMonk: Boolean;
begin
for Monks := 1 to 4 do
begin
if (FindObj(x, y,'onk', MonkColors[Monks],MTolerance)) then
begin
Writeln('Found Monk');
Boom:= True;
Break;
end else
begin
MonkSafety;
FTWait(1) ;
end;
Boom:= False;
end;
end;
/////////////////////////////FindMonk///////////////////////////////////////////

//////////////////////////////RClicking/////////////////////////////////////////

procedure MonkKilla;
begin
if (not (InFight) or not (IsFightAt(x, y))) then
begin
Mouse(x, y, 0, 0 + random(3), False);
Monks := Monks + 1;
ClickOption('ttac', 1);
Writeln('Right clicked on the monk and attacked it');
FTWait(1);
Monks := Monks + 1;
end else
begin
ClickOption('ancel',1);
RandomGameTab;
MMouse(500+random (300),200+ random (200),0+Random(50),0 + random(100));
FTwait(1+random(2));
end;
end;
{//case Random(4) of
0:
begin
Writeln(' Found a free monk or not already killing one, proceding to kill');
Mouse(x, y, 0, 0 + random(3), True);
Writeln('Left clicked on the monk');
FTWait(1);
end;

//1,2,3:}
//////////////////////////////RClicking/////////////////////////////////////////

/////////////////////////////KillMonk///////////////////////////////////////////

function KillMonk: Boolean;
begin
x := MSCX;
y := MSCY;
for Monks := 1 to 4 do
begin
FindObj(x, y, 'onk', MonkColors[Monks], 2);
if (not (InFight) or not (IsFightAt(x, y))) then
begin
Writeln('Found Monk and about to BS it :o');
FTWait(1) ;
Monks := Monks + 1;
MonkKilla;
RandomGameTab;
MMouse(500+random (300),200+ random (200),0+Random(50),0 + random(100));
Boom := True;
end
else
begin
MonkSafety;
FTWait((6) + Random(4));
end;
Boom := False;
end;
end;
/////////////////////////////KillMonk///////////////////////////////////////////

//////////////////////////////Healing///////////////////////////////////////////
procedure Healing;
begin
GameTab(2);
if (HpPercent < HpAmount) then
begin
Writeln('You have low HP :( Time to heal ;D');
Wait(500+Random(100));
Writeln('Looking for a Monk to BS Muwhahaha');
if FindMonk then
begin
FTWait((6)+Random(4));
Mouse(x,y,0,0,False);
ChooseOption('lk-');
FTWait((6)+Random(4));
ClickToContinue;
FTWait((6)+Random(4));
ChooseOption('heal');
TalkToRand;
FTWait((6)+Random(4));
DoAntiRandoms;
HealTime:= HealTime + 1;
end;
end;
end;
//////////////////////////////Healing///////////////////////////////////////////

//////////////////////////Blue Hit, Red Hit/////////////////////////////////////
procedure HitHeal; //Kinda taken from WT-Fawaki :)
begin
if (FindMSColour(x, y, 192)) then
begin
Hits := Hits + 1;
if Hits >= 2 + random(2) then
begin
FTWait((6) + Random(4));
Healing;
Hits := 0;
end;
end;
end;
//////////////////////////Blue Hit, Red Hit/////////////////////////////////////

//////////////////////////////Heal Checker//////////////////////////////////////
procedure HealChecker;
begin
if (HpPercent < HpAmount) then
begin
Healing;
end;
end;
//////////////////////////////Heal Checker//////////////////////////////////////

///////////////////////////////OutFight/////////////////////////////////////////
{*****************************************************************************
function Outfight;
By: Ashur2Good
Description: Waits until out of fight.
*****************************************************************************}
procedure outfight;
begin
repeat
FTWait(3);
until (InFight = False);
end;
///////////////////////////////OutFight/////////////////////////////////////////

////////////////////////////////Killa///////////////////////////////////////////
procedure AttackingMonkz;
begin
if (HpPercent > HpAmount) then
begin
if Magices = True then
begin
CastSpell(Nuber);
end;
if Magices = False then
begin
if (InFight = True) then exit;
KillMonk;
HitHeal;
RandomGametab;
repeat
FTWait((3) + Random(2));
until (InFight = False);
end;
DoAntiRandoms;
Monks := Monks + 1;
HitHeal;
end
else
Writeln('Did not find monk, Going to new area to search :)');
FindSymbol(x, y, 'water');
Mouse(x,y,0,0,0,0, True);
if (not (Loggedin)) then NextPlayer(false);
end;
////////////////////////////////Killa///////////////////////////////////////////




If anyone could help, it would be GREATLY appreciated :D


-Ashur:stirthepot:

n3ss3s

2008-03-14 09:42:36

Because InFight checks if YOU are in a fight, not a monk :p How do you suppose it even knows where the to-be-checked monster is since you don't give any params for InFight :rolleyes:

Anyway, it's easy, just do a FindColor for the colors 65280 and 255 around the monster coords, 255 = red, 65280 = green. Gl.

Wizzup?

2008-03-14 10:43:39

InFightAt should work, but the first thing you should do is get rid of global variables. ;)

JuKKa

2008-03-14 10:49:14

Wtf … and u got scripters cup?

you should just learn TPAS the solution to… EVERYTHING!

BobboHobbo

2008-03-14 19:36:41

From: JuKKa
Wtf … and u got scripters cup?

you should just learn TPAS the solution to… EVERYTHING!


Lol it is kind of simple but i dont know TPA's :) just theres no tut that 100% explains what each thing does so i cant learn ;)

Or ethier prove me wrong and LINK me :)