Сообщения без ответов | Активные темы Текущее время: Пт сен 21, 2018 8:20 pm



Ответить на тему  [ Сообщений: 2 ] 
Помогите объединить 2 скрипта в один 
Автор Сообщение
Флудер

Зарегистрирован: Пт янв 02, 2015 9:07 pm
Сообщений: 139
Сообщение Помогите объединить 2 скрипта в один
uses
SysUtils, Classes;
var
BuffArray: array[0..7] of integer = (1309,1310,1007,1251,1252,1253,1308,1390); // Buff dispel ID
i:integer;
Buff: TL2Buff;

procedure buffDispel(buffID: integer);

begin
while delay(1000) do begin
for i:=0 to user.buffs.count-1 do
if User.Buffs.ByID(BuffArray[i], Buff) then
begin
print('Skill id: ' + IntToStr(Buff.ID) + ' Skill name: ' + Buff.Name);
Engine.Dispel(BuffArray[i]);
end;
end;
end;

begin
Script.NewThread(@buffDispel);
end.
+++++++++++++++++++++++++++++++
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.


Пт янв 05, 2018 2:26 pm
Профиль
Флудер

Зарегистрирован: Пт янв 02, 2015 9:07 pm
Сообщений: 139
Сообщение Re: Помогите объединить 2 скрипта в один
Помогите пожалуйста


Сб янв 06, 2018 7:29 am
Профиль
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ Сообщений: 2 ] 

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Разработано: g-yar.
Русская поддержка phpBB