PDA

Просмотр полной версии : [Скрипт] убить прицепившихся за собой мобов


qCooper
08.12.2015, 09:45
Всем доброго времени суток! Собсна сабж... Запускаем скрипт, бежим на спот, по пути хватаем целую кучу мобов и как приходим на место фарма (конец скрипта) "включаемся"
Engine.FaceControl(0,true); нас убивают те самые мобы, которые прицепились за нами. Помогите пожалуйста с тем, чтобы эти мобы убивались например на середине пути. А вот собственно и сам скрипт.


// Из руны в Valley of saints

var
obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;


Begin

while true do begin

if User.Dead then
begin
delay (500);
Engine.FaceControl(0,false);
Engine.gohome;
delay(7000);
end;



if user.InRange(43436, -51101, -792,2500,2500) then begin //vnizy
Engine.MoveTo(43867, -49010, -822);
Engine.MoveTo(43596, -47806, -792);
Engine.SetTarget(32327); //newbie guide
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(1);
delay(3000);
Engine.SetTarget(31320); //GK
Engine.MoveTo(43708, -47703, -822);
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(10);
delay(7000);
end;

if user.InRange(38272, -49008, 896,3000,3000) then begin //naverhy
Engine.MoveTo(38296, -48148, 870);
Engine.SetTarget(31698);
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(1);
delay(3000);
Engine.MoveTo(39486, -48222, -826);
Engine.MoveTo(42432, -48173, -823);
Engine.MoveTo(43454, -47675, -823);
delay(3000);
Engine.SetTarget(32327); //newbie guide
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(1);
delay(3000);
Engine.MoveTo(43708, -47703, -822);
Engine.SetTarget(31320); //GK
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(10);
delay(7000);
end;

if user.InRange(43744, -47920, -792,1000,1000) then begin //ryadom s gk
Engine.SetTarget(32327); //newbie guide
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(1);
delay(3000);
Engine.MoveTo(43708, -47703, -822);
Engine.SetTarget(31320); //GK
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(10);
delay(7000);
end;


if user.InRange(65307, -71445, -3688,1000,1000) then begin // tp v vos
Engine.MoveTo(67565, -71936, -3833);
Engine.MoveTo(70505, -73038, -3817);
Engine.MoveTo(73150, -74174, -3657);
Engine.MoveTo(74350, -74559, -3472);
Engine.MoveTo(76458, -74334, -3140);


Вот где то тут их уже много. Если вообще дохожу до сюда :omg:


Engine.MoveTo(77853, -74006, -3094);
Engine.MoveTo(79386, -75597, -3694);
Engine.MoveTo(80692, -77971, -4054);
Engine.MoveTo(82272, -79759, -3999);
Engine.MoveTo(83743, -80007, -3572);
Engine.MoveTo(85210, -80472, -3630);
Engine.MoveTo(87914, -79028, -3712);
Engine.MoveTo(88967, -78133, -3808);

Engine.FaceControl(0,true);
delay(6000);
end;
end;
end.



Буду рад каким либо замечаниям. Можно сказать это мой первый "полноценно" работающий скрипт на делфи.

BenderMoney
24.01.2016, 14:44
Все что нужно добавить это в маршруте бега на спот, вписывай включать бота ну и подгружай небольшую зону где стоишь на данный момент. Обычно бот за минуту раскидывает всех мобов и бежит дальше

Heitz
28.01.2016, 13:48
Лучше пока бежишь периодически вызывать процедуру проверки на наличие прицепившихся мобов и если таковы имеются, то убивать их.
Дам подсказку: проверяй npcList и смотри в таргете ли ты у кого-то.

IvaniuS
18.02.2016, 16:36
В последней версии добавил Procedure OnMoveEvent; - вызывается каждую секунду во время бега, там пишите что хотите.