- Рег
- 5 Мар 2016
- Сообщения
- 45
- Реакции
- 0
var
obj: TL2NPC;
buff: TL2Effect;
Enemy: TL2Live;
procedure Dead();
begin
while 1<>2 do begin // бесконечный цикл
if not User.Buffs.Byid(276, buff) or User.Dead then begin
print('Умер либо кончился баф');
Engine.useitem(736);
Delay(20000);
engine.GoHome;
Engine.FaceControl(0, false);
Elven();
Dark();
spot();
end;
end;
end;
procedure Elven();
begin
if User.inrange(45409, 49673, -3064, 3550, 3550) then begin
Engine.MoveTo(46049, 50000, -3093);
Engine.MoveTo(46734, 50619, -3086);
Engine.MoveTo(46987, 50837, -3022);
Engine.MoveTo(46920, 51380, -3003);
begin
engine.settarget(12001);
delay(500);
engine.dlgopen();
engine.movetotarget(-20);
engine.dlgsel(3);
delay(1000);
engine.dlgsel(1);
end;
engine.settarget(36486);
delay(500);
engine.dlgopen();
delay(500);
engine.dlgsel(8);
delay(400);
engine.dlgsel(13);
end;
end;
procedure Dark();
begin
if user.inrange (10456,16971,-4610,3000,500) then begin // меняйте значение 1500 если не хочет идти, или другие проблемы
Engine.MoveTo(12127, 16773, -4610);
engine.settarget(12001);
delay(500);
engine.dlgopen();
engine.movetotarget(-20);
engine.dlgsel(3);
delay(1000);
engine.dlgsel(1);
if user.inrange (12127, 16773, -4610,500) then begin
engine.moveto(10055,16586,-4601);
engine.moveto(9690,15563,-4601);
engine.settarget(36486);
delay(500);
engine.dlgopen();
delay(500);
engine.dlgsel(8);
delay(400);
engine.dlgsel(13);
end;
end;
end;
procedure spot();
begin
if user.inrange (-22490, 13868, -3199,500) then begin
Engine.MoveTo(-22841, 13917, -3199);
Engine.MoveTo(-22861, 13634, -3485);
Engine.MoveTo(-22861, 13599, -3633);
Engine.MoveTo(-22731, 13493, -5162);
Engine.MoveTo(-22681, 13475, -5503);
Engine.MoveTo(-22325, 13488, -5058);
Engine.MoveTo(-21728, 13487, -4961);
Engine.MoveTo(-20508, 13489, -4946);
Engine.MoveTo(-19904, 13492, -4927);
engine.settarget(31118);
delay(500);
engine.dlgopen();
delay(500);
engine.dlgsel(1);
if user.inrange (-19392, 13500, -4896,300) then begin
Engine.MoveTo(-19085, 13595, -4925);
Engine.MoveTo(-19081, 14668, -4925);
Engine.MoveTo(-19090, 15145, -4925);
Engine.MoveTo(-19073, 16408, -4927);
Engine.MoveTo(-18711, 16709, -4927);
Engine.MoveTo(-18669, 17339, -4927);
Engine.MoveTo(-17871, 17369, -4925);
if user.InRange(-17871, 17369, -4925,300) then begin
Engine.FaceControl(0,true);
end;
end;
end;
end;
begin
Script.NewThread(@dead);
Elven();
Dark();
spot();
end.
Ну очень грузит процесор,переписал все с нуля и не знаю что мешает.
obj: TL2NPC;
buff: TL2Effect;
Enemy: TL2Live;
procedure Dead();
begin
while 1<>2 do begin // бесконечный цикл
if not User.Buffs.Byid(276, buff) or User.Dead then begin
print('Умер либо кончился баф');
Engine.useitem(736);
Delay(20000);
engine.GoHome;
Engine.FaceControl(0, false);
Elven();
Dark();
spot();
end;
end;
end;
procedure Elven();
begin
if User.inrange(45409, 49673, -3064, 3550, 3550) then begin
Engine.MoveTo(46049, 50000, -3093);
Engine.MoveTo(46734, 50619, -3086);
Engine.MoveTo(46987, 50837, -3022);
Engine.MoveTo(46920, 51380, -3003);
begin
engine.settarget(12001);
delay(500);
engine.dlgopen();
engine.movetotarget(-20);
engine.dlgsel(3);
delay(1000);
engine.dlgsel(1);
end;
engine.settarget(36486);
delay(500);
engine.dlgopen();
delay(500);
engine.dlgsel(8);
delay(400);
engine.dlgsel(13);
end;
end;
procedure Dark();
begin
if user.inrange (10456,16971,-4610,3000,500) then begin // меняйте значение 1500 если не хочет идти, или другие проблемы
Engine.MoveTo(12127, 16773, -4610);
engine.settarget(12001);
delay(500);
engine.dlgopen();
engine.movetotarget(-20);
engine.dlgsel(3);
delay(1000);
engine.dlgsel(1);
if user.inrange (12127, 16773, -4610,500) then begin
engine.moveto(10055,16586,-4601);
engine.moveto(9690,15563,-4601);
engine.settarget(36486);
delay(500);
engine.dlgopen();
delay(500);
engine.dlgsel(8);
delay(400);
engine.dlgsel(13);
end;
end;
end;
procedure spot();
begin
if user.inrange (-22490, 13868, -3199,500) then begin
Engine.MoveTo(-22841, 13917, -3199);
Engine.MoveTo(-22861, 13634, -3485);
Engine.MoveTo(-22861, 13599, -3633);
Engine.MoveTo(-22731, 13493, -5162);
Engine.MoveTo(-22681, 13475, -5503);
Engine.MoveTo(-22325, 13488, -5058);
Engine.MoveTo(-21728, 13487, -4961);
Engine.MoveTo(-20508, 13489, -4946);
Engine.MoveTo(-19904, 13492, -4927);
engine.settarget(31118);
delay(500);
engine.dlgopen();
delay(500);
engine.dlgsel(1);
if user.inrange (-19392, 13500, -4896,300) then begin
Engine.MoveTo(-19085, 13595, -4925);
Engine.MoveTo(-19081, 14668, -4925);
Engine.MoveTo(-19090, 15145, -4925);
Engine.MoveTo(-19073, 16408, -4927);
Engine.MoveTo(-18711, 16709, -4927);
Engine.MoveTo(-18669, 17339, -4927);
Engine.MoveTo(-17871, 17369, -4925);
if user.InRange(-17871, 17369, -4925,300) then begin
Engine.FaceControl(0,true);
end;
end;
end;
end;
begin
Script.NewThread(@dead);
Elven();
Dark();
spot();
end.
Ну очень грузит процесор,переписал все с нуля и не знаю что мешает.