Перейти к содержимому

Фотография
- - - - -

масс подбор ( не собирает)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1
Adelka

Adelka

Всем привет. Столкнулся с такой проблемой на сервере (эпилог, стоит смарт 2.0) у гнома включен скрипт скрипт на масс подбор спойла без выкл интерфейса, т.е. интерфейс всегда включен

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

Пробовал менять делей, но все равно не помогает, использовал 3 разных скрипта 

 

var
  i: Integer;
begin
  while engine.status = lsOnline do begin
 
    for i := 0 to NpcList.Count - 1 do begin
      if (NpcList.Items(i).Dead) and (NpcList.Items(i).Sweepable) then begin
        Engine.FaceControl(0,true);
        Engine.CancelTarget;
        Engine.SetTarget(NpcList.Items(i));
        delay(100);
        Engine.UseSkill(42);
        delay(500);
      end;
    end;
  end;
end.
 
 
procedure SweepThread(dist: integer); var sweep: TL2Skill; mob: TL2Npc; point: TXYZ; begin while Delay(500) do begin // запускаем бесконечный цикл if (Engine.Status = lsOnline) // если мы онлайн and SkillList.ByID(42, sweep) then begin // и у нас есть умение Sweep [id: 42], то mob:= GetNearestSweepableMob(dist); // ищем ближайшего моба которого можно свипать if (mob <> nil) then begin // если моба найден, то if Engine.SetTarget(mob) then Delay(99); // берем в таргет моба if (User.DistTo(mob) > 100) then begin // если дистацния до моба > 100, то point:= CalcXYZ(User, mob, -20); // вычисляем координаты точки, чтобы подойти на дистацию свипа if Engine.MoveTo(point.X, point.Y, point.Z) then Delay(500); // подходим в найденную точку end; if Engine.UseSkill(sweep) then // если мы успешно использовали свип, то while (sweep.EndTime <> 0) do Delay(99); // ждем пока он не откатится end; end; end; end; function GetNearestSweepableMob(dist: integer): TL2Npc; // возвращает ближайшего моба, которого можно свипать var i: integer; begin Result:= nil; for i:= 0 to NpcList.Count-1 do begin // пробегаем по списку NPC вокруг нас if (NpcList(i).Valid) // если моб валиден and (User.DistTo(NpcList(i)) < dist) // и дистанция до него меньше максимально допустимой and (NpcList(i).Dead) // и этот моб мертв and (NpcList(i).Sweepable) then begin // и с него можно собрать спойл Result:= NpcList(i); // то запоминаем его в результат dist:= User.DistTo(NpcList(i)); // обновляем значение максимально допустимой дистанции end; end; end; begin Script.NewThread(@SweepThread, Pointer(300)); // вторым агрументом указываем макс дистанцию для свипа // code... Delay(-1); end.

  • 0

#2
vvfrc33

vvfrc33
  • 104
    25
    Горит!
    • Lvl 40
    • Пользователь
    Skype
    teodor2475
    Город
    СПБ

  Engine.FaceControl(0,true);
??
  • 0

Пишу скрипты на заказ 

Discord neowhite#3259


#3
Adelka

Adelka

vvfrc33,

мне такой скрипт подогнали, сам я не очень в них шарю, но на других сервах он нормально собирал с этим скриптом 


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Rawr.pro - Сделано с для игроков.