Показать сообщение отдельно
Старый 25.03.2009, 12:01   #51
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

Исправил две нехорошие ошибки в боте:
тут, бот брал не ближайшего моба, а первого попавшегося.
Код:
function GetMinDistID : integer;     // функция поиска ближайшего моба в БД
 var
  i, Dist, MinDist : integer;
 begin
  result:= 0;
  if MobsLastIndex = 0 then exit;
  MinDist:=RastoyanieToMe(MobsXYZ[1,OX], MobsXYZ[1,OY]);
  for i:=1 to MobsLastIndex do if (MobsDist[i] <= Radius) and (MobsIsAttackable[i]) then
   begin
    Dist:= RastoyanieToMe(MobsXYZ[i,OX], MobsXYZ[i,OY]);
    if Dist <= MinDist then
     begin
      MinDist:= Dist;
      result:= i;
     end;                     // если нашли хоть одного моба или несколько, товозращаем индекс ближайшего
   end;
 end;
А тут, если вы качаетесь не один, то бот бегал и пытался убить уже убитых не вами мобов.
Код:
procedure Die06;
var
  i: integer;
begin
  i:= TestPovtor(ReadD(2));
  if i > 0 then begin
    MobsIsAttackable[i]:= false;
    MobsAgression[i]:= false;
    if MobsObjID[i] = TargetID then
    begin
      TimerCombat.enabled:= false;
      if Spoil and Spoiled then
       if ReadD(22) = 1 then RequestMagicSkillUse(42);
      LastKilledMobObjID:=TargetID;
      inc (MobsKilled);               // подводим статистику
      Spoiled:= false;
      TargetID:= 0;
      TimerCombat.enabled:= true;
    end;
  end;
end;
Делал раньше еще какие то доработки, уже не помню.

Добавлено через 3 минуты
Раньше бот тупил ппц из за этого, и сразу было видно. А теперь точно не отличишь от человека

Добавлено через 9 минут
Еще вспомнил одну фишку, я играю на хеллбоунде может с этим связано, а может это ошибка, но в процедуре InventoryCreate начальное смещение у меня почему то не 76 а 76-4, вот так:
Код:
offset:= 76-4;

Последний раз редактировалось lexayar, 25.03.2009 в 12:01. Причина: Добавлено сообщение
lexayar вне форума   Ответить с цитированием
За это сообщение lexayar нажился 5 спасибками от: