Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Бег вокруг перса при атаке

SARCAZM

Это что за покемон?
Команда форума
Рег
5 Июн 2015
Сообщения
1,446
Реакции
1
Trovo
SARCAZM
uses SysUtils;

var CenterX,CenterY,CenterZ,NowRadius,NowAngle: integer;
GuardName:string;
DisableBot:boolean;
Obj:Tl2Live;

procedure GoToPoint(X,Y,Z,Radius,Angle:integer); //Расчёт конечной точки с учетом угла
begin
Engine.MoveTo(X+trunc(Radius*sin(Angle)),Y+trunc(Radius*cos(Angle)),Z+20); //Z чуть добавляем, иначе будет тупить на неровной поверхности и пытаться "закопаться" - спорный момент, можно не добавлять.
end;

function MobAggrToMe:boolean; //Проверка на атакующих меня мобов
var num:integer;
begin
result:=false; //"не пойман-не вор!" (с)
for num:=0 to NpcList.Count - 1 do //Если я хоть у одного из окружающих живых мобов в таргете - пора бежать
if (NpcList.Items(num).Target=User) and not(NpcList.Items(num).Dead) then begin
result:=true; //пора бежать!
exit;
end;
end;

begin
GuardName:='СуперДД'; //Имя защитника (вокруг кого бегать)
NowRadius:=150; //Радиус, по которому бегать вокруг Защитника
NowAngle:=0; //Начальный угол (можно не трогать)
DisableBot:=true; //Отключать остальные функции бота пока бегаем от мобов (хил, бафф и т.п.)

while true do begin //Бесконечный цикл
CharList.ByName(GuardName,Obj); //В каждом цикле обновляем координаты защитника
CenterX:=Obj.X; //X
CenterY:=Obj.Y; //Y
CenterZ:=Obj.Z; //Z
if MobAggrToMe then begin
if DisableBot then Engine.FaceControl(0,false);
GoToPoint(CenterX,CenterY,CenterZ,NowRadius,NowAngle); //Двигаемся вокруг защитника с изменяющимся углом
NowAngle:=NowAngle+20; //Шаг угла
if NowAngle>=340 then NowAngle:=0; //Если перевалило за 340 градусов, обнуляем (360 лучше не ставить)
end
else if DisableBot then Engine.FaceControl(0,true);
end;

end.
Взято с TopHope
 
А как настроить чтобы бегал вокруг самона?
 
SARCAZM написал(а):
Engine.MoveTo(X+trunc(Radius*sin(Angle)),Y+trunc(Radius*cos(Angle)),Z+20);
Говорила мне училка в школе, учи геометрию... теперь мне 24... и я жалею, что не учил :pandaredlol:
 
а есть вариант взять в таргет рандомного близнаходящегося игрока?
 
при фарме рб вокруг танка бегать? :)
 
А можна сделать чтобы мой персонаж начал бегать по кругу, если его бьют в пвп? Тоесть фармлю я мобов, пробегавшие подумали что я бот и решили слить, а я такой круги наматывать))
 
Ох ребят как вы его не доцениваете . Вот дойдете до момента когда по 1му мобу долго и не камельфо , пойдете парики водить а там ваш биш или бард будет падать по КД от стана от сала , хотя вы же умный человек у вас с собой есть танк =) Уж ну очень полезный скрипт для фарма париков.
 
function MobAggrToMe:boolean; //Проверка на атакующих меня мобов
var num:integer;
begin
result:=false; //"не пойман-не вор!" (с)
for num:=0 to NpcList.Count - 1 do //Если я хоть у одного из окружающих живых мобов в таргете - пора бежать
if (NpcList.Items(num).Target=User) and not(NpcList.Items(num).Dead) then begin
result:=true; //пора бежать!
exit;
end;
end;

Помогите Эта функция мне говорит что меня никто не взял в таргет, хотя в этот момент меня мочит парик мобов... Как быть?
 
Назад
Сверху