Page 1 of 1

Помогите...

Posted: 17.03.2010 14:04
by pr0Zak
написать нормальную процедуру ( суть процедуры- если реснулся моб чар срывается и бежит к нему убивать)

Пробовал так но сильно тупит и бежит только раз по указанным точкам, а моб зачастую отбегает в сторону и он его не убивает, потому на да чтобы именно догонял моба, убивал и только потом заканчивалась процедура.

Мой пример:

Code: Select all

procedure CheckMob; 
var
  mob: Cardinal;
  mobx: integer;
  moby: integer;
begin
  if FindType($0018, ground) > 0 then 
  begin 
    AddToSystemJournal('Обнаружен: '+GetName(finditem)); 
    SetGlobal('stealth', 'mobname', 'lich'); 
   mob := finditem;
   if (GetName(mob) = 'lich') or (GetName(mob) = 'Mutant lich') then     begin
   mobx:=GetX(mob);
   moby:=GetY(mob);
   Attack(mob); 
   MoveXY(mobx, moby, true, 0, true)
   CheckHeal;
  end;
  end;
end;

Posted: 17.03.2010 16:22
by Vizit0r
я бы перед
mobx:=GetX(mob)

всунул бы цикл типа while (abs (GetX(Self) - GetX(mob)) > 2) or (abs (GetY(Self) - GetY(mob)) > 2) do
begin
и твой кусок.

тогда он будет каждый раз брать изменившиеся координаты, и бежать по ним, пока не станет рядом с мобом. а там уже и атаковать.