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

Проблемы с процедурами.

Рег
5 Мар 2016
Сообщения
45
Реакции
0
Описание: Прилетаю в любую из фарм зон

procedure farm();

и не бежит фармит,как только выключу и включу скрипт тогда идет и фармит.
Поправьте мой кривой скрипт и сделайте его таким как он должен быть,если не сложно,спасибо.
Вот скрипт:

Код:
var obj: TL2NPC;
buff1: TL2Effect;
Enemy: TL2Live;
obj5:TL2Effect;
i:integer;
procedure dead();
begin
while 1<>2 do begin
delay(2000); // бесконечный цикл
if User.Dead then begin
Engine.GoHome(rtfort);
engine.facecontrol(0,false);
farm();
buff();
teleport();
end;
end;
end;
procedure Buff();
begin
delay(10000);
if not User.Buffs.Byid(1059, obj5)then begin
if not User.InRange(18496, 145552, -3120, 5000) then begin
Engine.FaceControl(0,false);
engine.gohome;
engine.entertext('/unstuck');
delay(2000);
end;
if User.InRange(18496, 145552, -3120, 5000) then begin
Engine.MoveTo(18640, 145344, -3120);
delay(1000);
engine.settarget(35587);
delay(1000);
engine.dlgopen();
delay(1000);
engine.dlgsel (2);
delay(1000);
engine.dlgsel (4);
delay(1000);
engine.dlgsel (6);
delay(1000);
engine.dlgsel (8);
delay(1000);
engine.dlgsel (12);
delay(1000);
teleport();
end;
end;
end;
procedure teleport();
begin
if User.InRange(18496, 145552, -3120, 5000)
or User.Buffs.Byid(1056, obj5) then begin
print('rrrrr');
Engine.MoveTo(18640, 145344, -3120);
engine.settarget(31095);
delay(1000);
engine.movetotarget(-20);
engine.dlgopen();
delay(1000);
engine.dlgsel(9);
delay(1000);
engine.dlgsel(1);
delay(1000);
end;
if User.InRange(15956, 187264, -2920, 1000) then begin
Engine.MoveTo(15952, 187216, -2928);
engine.settarget(31095);
delay(1000);
engine.movetotarget(-20);
engine.dlgopen();
delay(1000);
engine.dlgsel(10);
delay(1000);
engine.dlgsel(1);
delay(1000);
Engine.FaceControl(0,true);
end;
if User.InRange(5552, -23568, -3728, 1000) then begin
engine.settarget(154);
delay(1000);
engine.movetotarget(-20);
engine.dlgopen();
delay(1000);
engine.dlgsel(13);
delay(1000);
engine.dlgsel(1);
delay(1000);
Engine.FaceControl(0,true);
end;
end;
procedure farm();
begin
if User.InRange(-3852, 136712, -3491, 1000) then begin
engine.loadzone('GVEMiddleway2');
Engine.MoveTo(-3852, 136712, -3491);
Engine.MoveTo(-2528, 136352, -3536);
end;
if User.InRange(4089, 132573, -3578, 1000) then begin
engine.loadzone('GVEMiddleway');
Engine.MoveTo(4089, 132573, -3578);
Engine.MoveTo(3968, 131312, -3712);
Engine.MoveTo(3040, 129808, -3712);
Engine.MoveTo(3184, 128576, -3680);
end;
if User.InRange(-7913, 143069, -3444, 1000) then begin
engine.loadzone('GVEDespair');
Engine.MoveTo(-7913, 143069, -3444);
Engine.MoveTo(-7248, 143456, -3456);
Engine.MoveTo(-6352, 143776, -3568);
Engine.MoveTo(-5584, 144288, -3600);
end;
if User.InRange(12361, 172692, -3419, 1000) then begin
engine.loadzone('GVEFloran');
Engine.MoveTo(12361, 172692, -3419);
Engine.MoveTo(11296, 172640, -3600);
Engine.MoveTo(10349, 173890, -3648);
Engine.MoveTo(10519, 175771, -3602);
end;
if User.InRange(15922, 124137, -3721, 1000) then begin
engine.loadzone('GVECruma');
Engine.MoveTo(15922, 124137, -3721);
Engine.MoveTo(14496, 123520, -3680);
Engine.MoveTo(13328, 122512, -3712);
Engine.MoveTo(12384, 122336, -3712);
end;
if User.InRange(96370, -111123, -3331, 1000) then begin
engine.loadzone('GVELabaratory');
Engine.MoveTo(96370, -111123, -3331);
Engine.MoveTo(95712, -111888, -3200);
Engine.MoveTo(95296, -112320, -3312);
Engine.MoveTo(94832, -112352, -3360);
end;
if User.InRange(45667, 151382, -2818, 1000) then begin
engine.loadzone('GVEExecutionGrounds');
Engine.MoveTo(45667, 151382, -2818);
Engine.MoveTo(46704, 150880, -2848);
Engine.MoveTo(46192, 150064, -3208);
Engine.MoveTo(45392, 148912, -3680);
Engine.MoveTo(44592, 148672, -3680);
end;
if User.InRange(-10522, 209251, -3695, 1000) then begin
engine.loadzone('GVESourthen');
Engine.MoveTo(-10522, 209251, -3695);
Engine.MoveTo(-11968, 208496, -3664);
end;
if User.InRange(7712, 185040, -2480, 1000) then begin
engine.loadzone('WindyHill');
Engine.MoveTo(7712, 185040, -2480);
Engine.MoveTo(8432, 182960, -2688);
Engine.MoveTo(8720, 181792, -2992);
end;
if User.InRange(-62410, 131222, -2771, 1000) then begin
engine.loadzone('Lake');
Engine.MoveTo(-62410, 131222, -2771);
Engine.MoveTo(-62381, 130701, -2822);
Engine.MoveTo(-62368, 130448, -2848);
Engine.MoveTo(-62179, 128850, -3111);
end;
if User.InRange(51281, 82539, -3281, 1000) then begin
engine.loadzone('GVEiris');
Engine.MoveTo(51281, 82539, -3281);
Engine.MoveTo(52048, 82560, -3328);
Engine.MoveTo(53536, 83536, -3536);
Engine.MoveTo(55136, 83760, -3616);
end;
if User.InRange(68192, -115872, -2168, 1000) then begin
engine.loadzone('GVEdevil');
Engine.MoveTo(68192, -115872, -2168);
Engine.MoveTo(68736, -116592, -2176);
Engine.MoveTo(68992, -117728, -2392);
Engine.MoveTo(69600, -118784, -2528);
end;
if User.InRange(7172, 160610, -3547, 1000) then begin
engine.loadzone('GVEAgi');
Engine.MoveTo(7172, 160610, -3547);
Engine.MoveTo(8928, 160352, -3440);
end;
if User.InRange(-16444, 207760, -3609, 1000) then begin
engine.loadzone('GVE1');
Engine.MoveTo(-16444, 207760, -3609);
end;
if User.InRange(7168, 160592, -3552, 1000) then begin
engine.loadzone('GVE2');
Engine.MoveTo(7168, 160592, -3552);
Engine.MoveTo(7824, 162304, -3632);
end;
if User.InRange(-17535, 142877, -3925, 1000) then begin
engine.ClearZone();
engine.facecontrol(0,true);
end;
if User.InRange(51266, 82416, -3281, 1000) then begin
Engine.MoveTo(51266, 82416, -3281);
Engine.MoveTo(52081, 82947, -3353);
Engine.MoveTo(52336, 83104, -3376);
Engine.MoveTo(55200, 84576, -3568);
engine.LoadZone('GVEiris');
engine.facecontrol(0,true);
end;
if not User.InRange(-3852, 136712, -3491, 1000)
or not User.InRange(4089, 132573, -3578, 1000)
or not User.InRange(-7913, 143069, -3444, 1000)
or not User.InRange(12361, 172692, -3419, 1000)
or not User.InRange(15922, 124137, -3721, 1000)
or not User.InRange(96370, -111123, -3331, 1000)
or not User.InRange(45667, 151382, -2818, 1000)
or not User.InRange(-10522, 209251, -3695, 1000)
or not User.InRange(7712, 185040, -2480, 1000)
or not User.InRange(-62410, 131222, -2771, 1000)
or not User.InRange(51281, 82539, -3281, 1000)
or not User.InRange(68192, -115872, -2168, 1000)
or not User.InRange(7172, 160610, -3547, 1000)
or not User.InRange(-16444, 207760, -3609, 1000)
or not User.InRange(7168, 160592, -3552, 1000)
or not User.InRange(-17535, 142877, -3925, 1000) then begin
engine.facecontrol(0,true);
end;
end;
begin
Script.NewThread(@dead);
farm();
buff();
teleport();
end.
 
И в главном теле скрипта присутствует фарм, баф и тп , и в процедуре dead (которая запускается параллельно), те же самые вызовы процедур - это сильно, конечно.
По сабжу - ставь задержку после тп, дай клиенту подгрузиться в пвп локе и только потом вызывай farm().
Я на гве бегал в 1 окно + 4 бота-ассистера на кдле. Было весело.
 
Назад
Сверху