Jump to content

Recommended Posts

Posted

@adr.bot how could i read the system message window? i mean if i would like to catch, record all my damages, pick up or any other consumable actived

 

I've tried ChatMessage.ChatType= mtSystem but it is not getting anything.

Posted
5 hours ago, panchio said:

@adr.bot how could i read the system message window? i mean if i would like to catch, record all my damages, pick up or any other consumable actived

 

I've tried ChatMessage.ChatType= mtSystem but it is not getting anything.

Use WaitAction instead.

 

var
  id , p : integer;
begin
   while (true) do
   begin
      Engine.WaitAction([laSysMsg],id,p);
      print(id);
   end;
end.

 

Posted (edited)

hey @adr.bot is there any Method to get current loaded zone name? e.g.:

 

Engine.LoadZone('123');
// print(Engine.GetCurrentZone) or smth . Should print 123 (zone name)

And if not, is it possible to manually implement such method somehow? Tnanks in advance.

 

Edited by Griffin39
  • 3 weeks later...
  • 3 weeks later...
Posted (edited)

hi i need help with this script  works normal but when i tp rune reloop the tp and not move to path!!!

 

 

uses SysUtils,Teleport;

procedure AttackDefense;
var
uX,uY,uZ: integer;
begin
 engine.Facecontrol(0, false);
 engine.moveto(user.x,user.y,user.z);
 uX:=user.x;
 uY:=user.y;
 uZ:=user.Z;
 while user.inrange(uX,uY,uZ,500) do begin
     engine.useitem(736);//soe
     delay(20000);
 end;
 while user.incombat do delay(500);
end;
procedure Target(id: integer);
var
i:integer;
begin
for i:=0 to npclist.count-1 do begin
 if npclist.items(i).id = id then begin
  if not npclist.items(i).dead then begin
   engine.settarget(npclist.items(i));
   break();
  end;
 end;
end;
end;
function ValidNPC: boolean;
var
i,n:integer;
npc: TL2Live;
begin
result:=false;
n:=0;
for i:=0 to npclist.count-1 do begin
 if npclist.items(i).id = 31748 then begin
  if not npclist.items(i).dead then inc(n);
 end;
end;
if n = 4 then result:=true;
end;


procedure chapter1;  // Precious Soul 1
var
item: TL2item;
begin
if engine.queststatus(241,1) and not engine.queststatus(241,2) then begin //st1
 while not user.inrange(84429, 147265, -3392,300) do begin // Тп в гиран
   Teleport.TpGiran;
 end;
 Engine.MoveTo(83800, 147672, -3392);
 Engine.MoveTo(83672, 147880, -3384);
 Engine.MoveTo(83608, 148440, -3384);
 Engine.MoveTo(83496, 148840, -3392);
 Engine.MoveTo(83304, 149144, -3392);
 Engine.MoveTo(82984, 149224, -3456);
 Engine.MoveTo(82632, 149432, -3456);
 Engine.MoveTo(82136, 149496, -3456);
 Engine.MoveTo(81656, 149544, -3456);
 Engine.MoveTo(81304, 149672, -3448);
 while not engine.queststatus(241,2) do begin
  engine.settarget(30753);
  delay(500);
  engine.dlgOpen;
  delay(500);
  engine.DlgSel('Quest');
  delay(500);
  engine.DlgSel(1);
  delay(500);
  engine.DlgSel(1);
  delay(500);
 end;
end;
if engine.queststatus(241,2) and not engine.queststatus(241,3) then begin //st2
 while not user.inrange(73048, 118300, -3688,300) do begin
  Teleport.TpDeathPass;
 end;
 while not engine.queststatus(241,3) do begin
  engine.settarget(30754);
  engine.movetotarget(-100);
  delay(500);
  engine.dlgOpen;
  delay(500);
  engine.DlgSel('Quest');
  delay(500);
  engine.DlgSel(1);
  delay(500);
  engine.DlgSel(1);
  delay(500);
 end;
end;
if engine.queststatus(241,3) and not engine.queststatus(241,4) then begin //st3
 while not user.inrange(34208, 187379, -3088,300) do begin
  Teleport.TpBeeHive;
 end;
 Engine.MoveTo(33768, 187288, -3248);
 Engine.MoveTo(33016, 187144, -3200);
 Engine.MoveTo(32040, 186760, -3232);
 Engine.MoveTo(30984, 186408, -3400);
 Engine.MoveTo(30184, 186200, -3632);
 Engine.MoveTo(28632, 186312, -3664);
 Engine.MoveTo(26488, 186696, -3536);
 Engine.MoveTo(25400, 186504, -3360);
 Engine.MoveTo(23176, 186440, -3456);
 Engine.MoveTo(21944, 186280, -3336);
 Engine.MoveTo(21288, 186408, -3248);
 Engine.MoveTo(20936, 186472, -3240);
 Engine.MoveTo(20424, 186296, -3344);
 Engine.MoveTo(19944, 186040, -3344);
 Engine.MoveTo(19688, 185608, -3344);
 Engine.MoveTo(19816, 185416, -3336);
 Engine.MoveTo(20200, 185176, -3336);
 Engine.MoveTo(20584, 184904, -3336);
 Engine.MoveTo(20904, 184696, -3336);
 Engine.LoadZone(script.path+'BarahamNoblesse.zmap');
 engine.facecontrol(0, true);
 while not engine.queststatus(241,4) do delay(500);
 while user.incombat do delay(500);
 engine.facecontrol(0, false);
end;
if engine.queststatus(241,4) and not engine.queststatus(241,5) then begin //st4
 while not user.inrange(147452, 27127, -2192,300) do begin
  Teleport.TpAden;
 end;
 Engine.MoveTo(147624, 26904, -2192);
 Engine.MoveTo(147624, 26504, -2176);
 Engine.MoveTo(147688, 26360, -2120);
  while not engine.queststatus(241,5) do begin
   engine.settarget(31739);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;     
end;
if engine.queststatus(241,5) and not engine.queststatus(241,6) then begin //st5
 while not user.inrange(111078, 218929, -3520,300) do begin
  Teleport.TpHeine;
 end;
 Engine.MoveTo(110680, 219096, -3520);
 Engine.MoveTo(110040, 219096, -3456);
 Engine.MoveTo(110056, 218536, -3528);
 Engine.MoveTo(110056, 218104, -3528);
 Engine.MoveTo(110072, 217720, -3592);
 Engine.MoveTo(110040, 217288, -3728);
 Engine.MoveTo(109672, 217336, -3728);
 Engine.MoveTo(109336, 217496, -3728);
 Engine.MoveTo(108744, 217512, -3688);
 Engine.MoveTo(108248, 217528, -3672);
 Engine.MoveTo(107832, 217560, -3656);
 Engine.MoveTo(107624, 217848, -3656);
 Engine.MoveTo(107304, 218056, -3656);
 Engine.MoveTo(107144, 218072, -3656);
 Engine.MoveTo(107112, 217736, -3576);
 Engine.MoveTo(107096, 217192, -3576);
 Engine.MoveTo(107000, 217000, -3576);
 while not engine.queststatus(241,6) do begin
   engine.settarget(31042);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;
end;
if engine.queststatus(241,6) and not engine.queststatus(241,7) then begin //st6
 while not user.inrange(73048, 118300, -3688,300) do begin
  Teleport.TpDeathPass;
 end;
 Engine.MoveTo(72856, 117736, -3664);
 Engine.MoveTo(72424, 117000, -3664);
 Engine.MoveTo(71928, 115608, -3680);
 Engine.MoveTo(71592, 114440, -3712);
 Engine.MoveTo(71400, 113448, -3696);
 Engine.MoveTo(71336, 112472, -3680);
 Engine.MoveTo(71288, 111176, -3712);
 Engine.MoveTo(71016, 110168, -3712);
 Engine.MoveTo(70904, 108312, -3712);
 Engine.MoveTo(70952, 106984, -3712);
 Engine.MoveTo(71080, 105384, -3680);
 Engine.MoveTo(71240, 104376, -3664);
 Engine.MoveTo(71464, 102968, -3696);
 Engine.MoveTo(71608, 102120, -3712);
 Engine.MoveTo(71768, 101240, -3696);
 Engine.MoveTo(72104, 100888, -3680);
 Engine.MoveTo(72392, 100232, -3616);
 Engine.MoveTo(73176, 99992, -3392);
 Engine.MoveTo(73592, 99848, -3288);
 Engine.MoveTo(74200, 99576, -3264);
 Engine.MoveTo(74920, 99640, -3264);
 Engine.MoveTo(75640, 99800, -3296);
 Engine.MoveTo(76744, 100024, -3376);
 Engine.MoveTo(76648, 101304, -3296);
 Engine.MoveTo(76504, 102552, -3176);
 Engine.MoveTo(76328, 103432, -3056);
 Engine.MoveTo(76088, 104456, -2960);
 Engine.MoveTo(75992, 105016, -2880);
 Engine.MoveTo(76232, 105592, -2912);
 Engine.MoveTo(76920, 106568, -2944);
 Engine.MoveTo(76712, 107000, -2880);
 Engine.LoadZone(script.path+'SuccubusNoblesse.zmap');
 engine.facecontrol(0, true);
 while not engine.queststatus(241,7) do delay(500);
 AttackDefense;
end;
if engine.queststatus(241,7) and not engine.queststatus(241,8) then begin //st7
 while not user.inrange(111078, 218929, -3520,300) do begin
  Teleport.TpHeine;
 end;
 Engine.MoveTo(110680, 219096, -3520);
 Engine.MoveTo(110040, 219096, -3456);
 Engine.MoveTo(110056, 218536, -3528);
 Engine.MoveTo(110056, 218104, -3528);
 Engine.MoveTo(110072, 217720, -3592);
 Engine.MoveTo(110040, 217288, -3728);
 Engine.MoveTo(109672, 217336, -3728);
 Engine.MoveTo(109336, 217496, -3728);
 Engine.MoveTo(108744, 217512, -3688);
 Engine.MoveTo(108248, 217528, -3672);
 Engine.MoveTo(107832, 217560, -3656);
 Engine.MoveTo(107624, 217848, -3656);
 Engine.MoveTo(107304, 218056, -3656);
 Engine.MoveTo(107144, 218072, -3656);
 Engine.MoveTo(107112, 217736, -3576);
 Engine.MoveTo(107096, 217192, -3576);
 Engine.MoveTo(107000, 217000, -3576);
 while not engine.queststatus(241,8) do begin
   engine.settarget(31042);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;

end;
if engine.queststatus(241,8) and not engine.queststatus(241,9) then begin //st8
 while not user.inrange(147452, 27127, -2192,300) do begin
  Teleport.TpAden;
 end;
 Engine.MoveTo(147720, 26360, -2120);
 while not engine.queststatus(241,9) do begin
   engine.settarget(31739);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;     
end;
if engine.queststatus(241,9) and not engine.queststatus(241,10) then begin //st9
 while not user.inrange(116543, 76297, -2720,300) do begin
  Teleport.TpHunters;
 end;
 Engine.MoveTo(117112, 76264, -2720);
 Engine.MoveTo(117672, 76216, -2672);
 Engine.MoveTo(118072, 76136, -2672);
 Engine.MoveTo(118488, 76248, -2632);
 Engine.MoveTo(119336, 76504, -2368);
 Engine.MoveTo(119576, 76568, -2256);
 Engine.MoveTo(119688, 76680, -2256);
 Engine.MoveTo(119576, 76840, -2256);
 Engine.MoveTo(119272, 77112, -2256);
 Engine.MoveTo(119368, 77304, -2240);
 Engine.MoveTo(119544, 77400, -2224);
 Engine.MoveTo(119848, 77304, -2224);
 while not engine.queststatus(241,10) do begin
   engine.settarget(30692);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;    
end;
if engine.queststatus(241,10) and not engine.queststatus(241,11) then begin //st10
 while not user.inrange(147452, 27127, -2192,300) do begin
  Teleport.TpAden;
 end;
 Engine.MoveTo(147720, 26360, -2120);
 while not engine.queststatus(241,11) do begin
   engine.settarget(31739);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;     
end;
if engine.queststatus(241,11) and not engine.queststatus(241,12) then begin //st11
while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43928, -49704, -784);
 Engine.MoveTo(43848, -48968, -784);
 Engine.MoveTo(43608, -48328, -784);
 Engine.MoveTo(43368, -48184, -784);
 Engine.MoveTo(41960, -48184, -784);
 Engine.MoveTo(40344, -48264, -752);
 Engine.MoveTo(40344, -48760, -672);
 Engine.MoveTo(40200, -49592, -384);
 Engine.MoveTo(40088, -49880, -288);
 Engine.MoveTo(39672, -50472, -224);
 Engine.MoveTo(38776, -50968, 16);
 Engine.MoveTo(37992, -51208, 304);
 Engine.MoveTo(37112, -51224, 640);
 Engine.MoveTo(36872, -51224, 728);
 Engine.MoveTo(36664, -51128, 728);
 Engine.MoveTo(36680, -50728, 896);
 Engine.MoveTo(36680, -50504, 912);
 Engine.MoveTo(37176, -50136, 912);
 Engine.MoveTo(37912, -49496, 912);
 Engine.MoveTo(38184, -49016, 912);
 Engine.MoveTo(38456, -48264, 912);
 Engine.MoveTo(37656, -48232, 912);
 Engine.MoveTo(36728, -48216, 912);
 Engine.MoveTo(36328, -48104, 912);
 Engine.MoveTo(35928, -47752, 912);
 Engine.MoveTo(35928, -47064, 1072);
 Engine.MoveTo(35896, -46952, 1088);
 Engine.MoveTo(35640, -46920, 1160);
 Engine.MoveTo(35176, -46920, 1336);
 Engine.MoveTo(35000, -46920, 1408);
 Engine.MoveTo(34888, -46968, 1408);
 Engine.MoveTo(34904, -47528, 1560);
 Engine.MoveTo(34888, -47976, 1688);
 Engine.MoveTo(34872, -48168, 1728);
 Engine.MoveTo(34776, -48200, 1736);
 Engine.MoveTo(34280, -48216, 1792);
 Engine.MoveTo(33432, -48168, 1792);
 Engine.MoveTo(33048, -48184, 1792);
 while not engine.queststatus(241,12) do begin
   engine.settarget(31742);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(2000);
 end;
end;
if engine.queststatus(241,12) and not engine.queststatus(241,13) then begin //st12
if not user.inrange(33000, -48200, 1792, 400) then begin
while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43928, -49704, -784);
 Engine.MoveTo(43848, -48968, -784);
 Engine.MoveTo(43608, -48328, -784);
 Engine.MoveTo(43368, -48184, -784);
 Engine.MoveTo(41960, -48184, -784);
 Engine.MoveTo(40344, -48264, -752);
 Engine.MoveTo(40344, -48760, -672);
 Engine.MoveTo(40200, -49592, -384);
 Engine.MoveTo(40088, -49880, -288);
 Engine.MoveTo(39672, -50472, -224);
 Engine.MoveTo(38776, -50968, 16);
 Engine.MoveTo(37992, -51208, 304);
 Engine.MoveTo(37112, -51224, 640);
 Engine.MoveTo(36872, -51224, 728);
 Engine.MoveTo(36664, -51128, 728);
 Engine.MoveTo(36680, -50728, 896);
 Engine.MoveTo(36680, -50504, 912);
 Engine.MoveTo(37176, -50136, 912);
 Engine.MoveTo(37912, -49496, 912);
 Engine.MoveTo(38184, -49016, 912);
 Engine.MoveTo(38456, -48264, 912);
 Engine.MoveTo(37656, -48232, 912);
 Engine.MoveTo(36728, -48216, 912);
 Engine.MoveTo(36328, -48104, 912);
 Engine.MoveTo(35928, -47752, 912);
 Engine.MoveTo(35928, -47064, 1072);
 Engine.MoveTo(35896, -46952, 1088);
 Engine.MoveTo(35640, -46920, 1160);
 Engine.MoveTo(35176, -46920, 1336);
 Engine.MoveTo(35000, -46920, 1408);
 Engine.MoveTo(34888, -46968, 1408);
 Engine.MoveTo(34904, -47528, 1560);
 Engine.MoveTo(34888, -47976, 1688);
 Engine.MoveTo(34872, -48168, 1728);
 Engine.MoveTo(34776, -48200, 1736);
 Engine.MoveTo(34280, -48216, 1792);
 Engine.MoveTo(33432, -48168, 1792);
 Engine.MoveTo(33048, -48184, 1792);
end;
 while not engine.queststatus(241,13) do begin
   engine.settarget(31744);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(241,13) and not engine.queststatus(241,14) then begin //st13
 while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43880, -49816, -784);
 Engine.MoveTo(43624, -49208, -776);
 Engine.MoveTo(43432, -49176, -776);
 Engine.MoveTo(43112, -49256, -776);
 Engine.MoveTo(42936, -48776, -776);
 Engine.MoveTo(42552, -48328, -784);
 Engine.MoveTo(41656, -48264, -784);
 Engine.MoveTo(40568, -48248, -752);
 Engine.MoveTo(39736, -48232, -752);
 Engine.MoveTo(38168, -48248, -1136);
 Engine.MoveTo(37608, -48408, -1136);
 Engine.MoveTo(37384, -48648, -1112);
 Engine.MoveTo(37352, -49032, -1112);
 Engine.MoveTo(37416, -49240, -1112);
 Engine.MoveTo(37960, -49336, -1112);
 Engine.MoveTo(38184, -49352, -1112);
 Engine.MoveTo(38328, -49256, -1112);
 while not engine.queststatus(241,14) do begin
   engine.settarget(31336);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(241,14) and not engine.queststatus(241,15) then begin //st14
 while not user.inrange(172120, 20272, -3312,300) do begin
  Teleport.TpCementery;
 end;
 Engine.MoveTo(172216, 20056, -3312);
 Engine.MoveTo(172504, 20088, -3312);
 Engine.MoveTo(172712, 20200, -3312);
 Engine.MoveTo(173032, 20232, -3224);
 Engine.MoveTo(173960, 20232, -3232);
 Engine.MoveTo(174680, 20216, -3232);
 Engine.MoveTo(175768, 20232, -3232);
 Engine.MoveTo(176648, 20216, -3232);
 Engine.MoveTo(177656, 20232, -3232);
 Engine.MoveTo(178088, 20216, -3232);
 Engine.MoveTo(178424, 19816, -3232);
 Engine.MoveTo(178616, 19704, -3200);
 Engine.MoveTo(178840, 19656, -3152);
 Engine.MoveTo(179480, 19432, -3152);
 Engine.MoveTo(179592, 19240, -3152);
 Engine.MoveTo(179656, 19112, -3152);
 Engine.MoveTo(179720, 17192, -3152);
 Engine.MoveTo(181064, 17144, -3152);
 Engine.LoadZone(script.path+'CrimsonMoss.zmap');
 engine.facecontrol(0, true);
 while not engine.queststatus(241,15) do delay(500);
 AttackDefense;
end;
if engine.queststatus(241,15) and not engine.queststatus(241,16) then begin //st15
 while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43848, -49832, -784);
 Engine.MoveTo(43544, -49176, -776);
 Engine.MoveTo(43112, -49256, -776);
 Engine.MoveTo(42920, -48568, -784);
 Engine.MoveTo(42696, -48328, -784);
 Engine.MoveTo(42008, -48248, -784);
 Engine.MoveTo(40712, -48232, -752);
 Engine.MoveTo(39832, -48216, -752);
 Engine.MoveTo(38136, -48248, -1136);
 Engine.MoveTo(37528, -48440, -1136);
 Engine.MoveTo(37352, -48728, -1112);
 Engine.MoveTo(37384, -49144, -1112);
 Engine.MoveTo(37432, -49320, -1112);
 Engine.MoveTo(37896, -49336, -1112);
 Engine.MoveTo(38280, -49272, -1112);
 Engine.MoveTo(38344, -49272, -1112);
 while not engine.queststatus(241,16) do begin
   engine.settarget(31336);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(241,16) and not engine.queststatus(241,17) then begin //st16
while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43928, -49704, -784);
 Engine.MoveTo(43848, -48968, -784);
 Engine.MoveTo(43608, -48328, -784);
 Engine.MoveTo(43368, -48184, -784);
 Engine.MoveTo(41960, -48184, -784);
 Engine.MoveTo(40344, -48264, -752);
 Engine.MoveTo(40344, -48760, -672);
 Engine.MoveTo(40200, -49592, -384);
 Engine.MoveTo(40088, -49880, -288);
 Engine.MoveTo(39672, -50472, -224);
 Engine.MoveTo(38776, -50968, 16);
 Engine.MoveTo(37992, -51208, 304);
 Engine.MoveTo(37112, -51224, 640);
 Engine.MoveTo(36872, -51224, 728);
 Engine.MoveTo(36664, -51128, 728);
 Engine.MoveTo(36680, -50728, 896);
 Engine.MoveTo(36680, -50504, 912);
 Engine.MoveTo(37176, -50136, 912);
 Engine.MoveTo(37912, -49496, 912);
 Engine.MoveTo(38184, -49016, 912);
 Engine.MoveTo(38456, -48264, 912);
 Engine.MoveTo(37656, -48232, 912);
 Engine.MoveTo(36728, -48216, 912);
 Engine.MoveTo(36328, -48104, 912);
 Engine.MoveTo(35928, -47752, 912);
 Engine.MoveTo(35928, -47064, 1072);
 Engine.MoveTo(35896, -46952, 1088);
 Engine.MoveTo(35640, -46920, 1160);
 Engine.MoveTo(35176, -46920, 1336);
 Engine.MoveTo(35000, -46920, 1408);
 Engine.MoveTo(34888, -46968, 1408);
 Engine.MoveTo(34904, -47528, 1560);
 Engine.MoveTo(34888, -47976, 1688);
 Engine.MoveTo(34872, -48168, 1728);
 Engine.MoveTo(34776, -48200, 1736);
 Engine.MoveTo(34280, -48216, 1792);
 Engine.MoveTo(33432, -48168, 1792);
 Engine.MoveTo(33048, -48184, 1792);
 while not engine.queststatus(241,17) do begin
   engine.settarget(31743);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(241,17) and not engine.queststatus(241,18) then begin //st17
 if not user.inrange(33000, -48200, 1792, 300) then begin
 while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43928, -49704, -784);
 Engine.MoveTo(43848, -48968, -784);
 Engine.MoveTo(43608, -48328, -784);
 Engine.MoveTo(43368, -48184, -784);
 Engine.MoveTo(41960, -48184, -784);
 Engine.MoveTo(40344, -48264, -752);
 Engine.MoveTo(40344, -48760, -672);
 Engine.MoveTo(40200, -49592, -384);
 Engine.MoveTo(40088, -49880, -288);
 Engine.MoveTo(39672, -50472, -224);
 Engine.MoveTo(38776, -50968, 16);
 Engine.MoveTo(37992, -51208, 304);
 Engine.MoveTo(37112, -51224, 640);
 Engine.MoveTo(36872, -51224, 728);
 Engine.MoveTo(36664, -51128, 728);
 Engine.MoveTo(36680, -50728, 896);
 Engine.MoveTo(36680, -50504, 912);
 Engine.MoveTo(37176, -50136, 912);
 Engine.MoveTo(37912, -49496, 912);
 Engine.MoveTo(38184, -49016, 912);
 Engine.MoveTo(38456, -48264, 912);
 Engine.MoveTo(37656, -48232, 912);
 Engine.MoveTo(36728, -48216, 912);
 Engine.MoveTo(36328, -48104, 912);
 Engine.MoveTo(35928, -47752, 912);
 Engine.MoveTo(35928, -47064, 1072);
 Engine.MoveTo(35896, -46952, 1088);
 Engine.MoveTo(35640, -46920, 1160);
 Engine.MoveTo(35176, -46920, 1336);
 Engine.MoveTo(35000, -46920, 1408);
 Engine.MoveTo(34888, -46968, 1408);
 Engine.MoveTo(34904, -47528, 1560);
 Engine.MoveTo(34888, -47976, 1688);
 Engine.MoveTo(34872, -48168, 1728);
 Engine.MoveTo(34776, -48200, 1736);
 Engine.MoveTo(34280, -48216, 1792);
 Engine.MoveTo(33432, -48168, 1792);
 Engine.MoveTo(33048, -48184, 1792);
end;
 while not engine.queststatus(241,18) do begin
   engine.settarget(31742);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(241,18) and not engine.queststatus(241,19) then begin //st18
 while not user.inrange(147790, -56496, -2768,300) do begin
  Teleport.TpGoddard;
 end;
 Engine.MoveTo(148360, -56216, -2760);
 Engine.MoveTo(149016, -56376, -2768);
 Engine.MoveTo(149240, -56424, -2768);
 Engine.MoveTo(149912, -56904, -2960);
 Engine.MoveTo(150040, -57336, -2960);
 Engine.MoveTo(150104, -57864, -2960);
 while not engine.queststatus(241,19) do begin
   engine.settarget(31740);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(241,19) and not engine.queststatus(241,20) then begin //st19
while not Inventory.Quest.ByID(7677, item) do begin
   engine.settarget(31740);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
/////////////////////////
end;
procedure chapter2;  // Precious Soul 2
var
item: TL2item;
begin
if Inventory.Quest.ByID(7677, item) then begin
 while not user.inrange(44115, -50215, -784,300) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43928, -49704, -784);
 Engine.MoveTo(43848, -48968, -784);
 Engine.MoveTo(43608, -48328, -784);
 Engine.MoveTo(43368, -48184, -784);
 Engine.MoveTo(41960, -48184, -784);
 Engine.MoveTo(40344, -48264, -752);
 Engine.MoveTo(40344, -48760, -672);
 Engine.MoveTo(40200, -49592, -384);
 Engine.MoveTo(40088, -49880, -288);
 Engine.MoveTo(39672, -50472, -224);
 Engine.MoveTo(38776, -50968, 16);
 Engine.MoveTo(37992, -51208, 304);
 Engine.MoveTo(37112, -51224, 640);
 Engine.MoveTo(36872, -51224, 728);
 Engine.MoveTo(36664, -51128, 728);
 Engine.MoveTo(36680, -50728, 896);
 Engine.MoveTo(36680, -50504, 912);
 Engine.MoveTo(37176, -50136, 912);
 Engine.MoveTo(37912, -49496, 912);
 Engine.MoveTo(38184, -49016, 912);
 Engine.MoveTo(38456, -48264, 912);
 Engine.MoveTo(37656, -48232, 912);
 Engine.MoveTo(36728, -48216, 912);
 Engine.MoveTo(36328, -48104, 912);
 Engine.MoveTo(35928, -47752, 912);
 Engine.MoveTo(35928, -47064, 1072);
 Engine.MoveTo(35896, -46952, 1088);
 Engine.MoveTo(35640, -46920, 1160);
 Engine.MoveTo(35176, -46920, 1336);
 Engine.MoveTo(35000, -46920, 1408);
 Engine.MoveTo(34888, -46968, 1408);
 Engine.MoveTo(34904, -47528, 1560);
 Engine.MoveTo(34888, -47976, 1688);
 Engine.MoveTo(34872, -48168, 1728);
 Engine.MoveTo(34776, -48200, 1736);
 Engine.MoveTo(34280, -48216, 1792);
 Engine.MoveTo(33432, -48168, 1792);
 Engine.MoveTo(33048, -48184, 1792);
 while not engine.queststatus(242,1) do begin
   engine.settarget(31742);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(242,1) and not engine.queststatus(242,2) then begin
 while not engine.queststatus(242,2) do begin
  engine.settarget(31743);
  delay(500);
  engine.dlgOpen;
  delay(500);
  engine.DlgSel('Quest');
  delay(500);
  delay(500);
  engine.DlgSel(1);
  delay(500);
  engine.DlgSel(1);
  delay(500);
  engine.DlgSel(1);
  delay(500);
  engine.DlgSel(1);
  delay(500);
  engine.DlgSel(1);
  delay(500);
 end;
end;
if engine.queststatus(242,2) and not engine.queststatus(242,3) then begin
 while not engine.queststatus(242,3) do begin
  engine.settarget(31744);
  delay(500);
  engine.dlgOpen;
  delay(500);
  engine.DlgSel('Quest');
  delay(500);
  delay(500);
  engine.DlgSel(1);
  delay(500);
 end;
end;
if engine.queststatus(242,3) and not engine.queststatus(242,4) then begin
 while not user.inrange(93137, -58245, -2832,300) do begin
  Teleport.TpScreams;
 end;
 Engine.MoveTo(94952, -59432, -2424);
 Engine.MoveTo(94984, -60152, -2432);
 Engine.MoveTo(95000, -60584, -2464);
 while not engine.queststatus(242,4) do begin
  engine.settarget(31751);
  delay(500);
  engine.dlgOpen;
  delay(500);
  engine.DlgSel('Quest');
  delay(500);
  delay(500);
  engine.DlgSel(1);
  delay(500);
 end;
end;
if engine.queststatus(242,4) and not engine.queststatus(242,5) then begin
 while not engine.queststatus(242,5) do begin
  engine.settarget(31752);
  delay(500);
  engine.dlgOpen;
  delay(500);
  engine.DlgSel('Quest');
  delay(500);
  delay(500);
  engine.DlgSel(1);
  delay(500);
  if user.target.dead then engine.canceltarget;
 end;
end;
if engine.queststatus(242,5) and not engine.queststatus(242,6) then begin
 while not engine.queststatus(242,6) do begin
   engine.settarget(31751);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(242,6) and not engine.queststatus(242,7) then begin
 while not user.inrange(85235, 16207, -3656,500) do begin
  Teleport.TpIvory;
 end;
 Engine.MoveTo(85400, 16488, -3624);
 Engine.MoveTo(85352, 16872, -3592);
 Engine.MoveTo(85368, 17384, -3496);
 Engine.MoveTo(85352, 17752, -3496);
 Engine.MoveTo(85368, 18760, -3680);
 Engine.MoveTo(85368, 19560, -3768);
 Engine.MoveTo(85384, 20056, -3768);
 Engine.MoveTo(85384, 20856, -3696);
 Engine.MoveTo(85384, 21368, -3608);
 Engine.MoveTo(85384, 21928, -3512);
 Engine.MoveTo(85384, 22504, -3496);
 Engine.MoveTo(85384, 23160, -3496);
 Engine.MoveTo(85432, 24008, -3624);
 Engine.MoveTo(85496, 24120, -3616);
 Engine.MoveTo(86056, 24424, -3576);
 Engine.MoveTo(86488, 24312, -3584);
 Engine.MoveTo(87288, 23976, -3536);
 Engine.MoveTo(87864, 23944, -3488);
 Engine.MoveTo(88280, 23944, -3504);
 Engine.MoveTo(89016, 23752, -3584);
 Engine.MoveTo(89656, 23608, -3584);
 Engine.MoveTo(90216, 23464, -3584);
 Engine.MoveTo(90760, 23528, -3592);
 Engine.MoveTo(91528, 23400, -3544);
 Engine.MoveTo(92088, 23304, -3408);
 Engine.MoveTo(93016, 23064, -3240);
 Engine.MoveTo(93976, 22872, -3112);
 Engine.MoveTo(94408, 22568, -2992);
 Engine.MoveTo(94872, 22392, -2896);
 Engine.MoveTo(95288, 22184, -2864);
 Engine.MoveTo(95352, 22136, -2864);
 while not engine.queststatus(242,7) do begin
   engine.settarget(30759);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
 
end;
if engine.queststatus(242,7) and not engine.queststatus(242,8) then begin
 while not user.inrange(85235, 16207, -3656,500) do begin
  Teleport.TpIvory;
 end;
 Engine.MoveTo(85400, 16360, -3648);
 Engine.MoveTo(85336, 17032, -3584);
 Engine.MoveTo(85336, 17544, -3496);
 Engine.MoveTo(85336, 19784, -3768);
 Engine.MoveTo(85352, 20984, -3680);
 Engine.MoveTo(85352, 21832, -3528);
 Engine.MoveTo(85352, 22664, -3496);
 Engine.MoveTo(85336, 23240, -3496);
 Engine.MoveTo(85336, 24024, -3632);
 Engine.MoveTo(85064, 24088, -3616);
 Engine.MoveTo(84856, 24008, -3568);
 Engine.MoveTo(84376, 24232, -3552);
 Engine.MoveTo(83640, 24264, -3552);
 Engine.MoveTo(82968, 24088, -3504);
 Engine.MoveTo(82056, 23848, -3520);
 Engine.MoveTo(81336, 23656, -3552);
 Engine.MoveTo(80312, 23272, -3552);
 Engine.MoveTo(79768, 22952, -3552);
 Engine.MoveTo(79032, 22248, -3536);
 Engine.MoveTo(78552, 21624, -3552);
 Engine.MoveTo(78168, 20760, -3552);
 Engine.MoveTo(77848, 19976, -3552);
 Engine.MoveTo(77640, 19112, -3600);
 Engine.MoveTo(77480, 17992, -3792);
 Engine.MoveTo(75656, 18568, -3744);
 Engine.MoveTo(74232, 18440, -3632);
 Engine.MoveTo(71592, 18360, -3664);
 Engine.MoveTo(70104, 18168, -3632);
 Engine.MoveTo(69880, 18120, -3648);
 while not engine.queststatus(242,8) do begin
   engine.settarget(30738);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
 
end;
if engine.queststatus(242,8) and not engine.queststatus(242,9) then begin
 while not user.inrange(85235, 16207, -3656,500) do begin
  Teleport.TpIvory;
 end;
 Engine.MoveTo(85400, 16488, -3624);
 Engine.MoveTo(85352, 16872, -3592);
 Engine.MoveTo(85368, 17384, -3496);
 Engine.MoveTo(85352, 17752, -3496);
 Engine.MoveTo(85368, 18760, -3680);
 Engine.MoveTo(85368, 19560, -3768);
 Engine.MoveTo(85384, 20056, -3768);
 Engine.MoveTo(85384, 20856, -3696);
 Engine.MoveTo(85384, 21368, -3608);
 Engine.MoveTo(85384, 21928, -3512);
 Engine.MoveTo(85384, 22504, -3496);
 Engine.MoveTo(85384, 23160, -3496);
 Engine.MoveTo(85432, 24008, -3624);
 Engine.MoveTo(85496, 24120, -3616);
 Engine.MoveTo(86056, 24424, -3576);
 Engine.MoveTo(86488, 24312, -3584);
 Engine.MoveTo(87288, 23976, -3536);
 Engine.MoveTo(87864, 23944, -3488);
 Engine.MoveTo(88280, 23944, -3504);
 Engine.MoveTo(89016, 23752, -3584);
 Engine.MoveTo(89656, 23608, -3584);
 Engine.MoveTo(90216, 23464, -3584);
 Engine.MoveTo(90760, 23528, -3592);
 Engine.MoveTo(91528, 23400, -3544);
 Engine.MoveTo(92088, 23304, -3408);
 Engine.MoveTo(93016, 23064, -3240);
 Engine.MoveTo(93976, 22872, -3112);
 Engine.MoveTo(94408, 22568, -2992);
 Engine.MoveTo(94872, 22392, -2896);
 Engine.MoveTo(95288, 22184, -2864);
 Engine.MoveTo(95352, 22136, -2864);
 while not engine.queststatus(242,9) do begin
   engine.settarget(30759);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
 end;
end;
if engine.queststatus(242,9) and not engine.queststatus(242,10) then begin // как будет перс для теста, переписать, пока и так работает.
 if not user.inrange(86488, -75912, -3464, 3000) then begin
 while not user.inrange(67989, -71937, -3728,500) do begin
  Teleport.TpVOS;
 end;
 Engine.MoveTo(69000, -72120, -3776);
 Engine.MoveTo(70152, -72760, -3776);
 Engine.MoveTo(71912, -73672, -3728);
 Engine.MoveTo(73608, -74600, -3536);
 Engine.MoveTo(74728, -74472, -3328);
 Engine.MoveTo(75704, -74408, -3184);
 Engine.MoveTo(77064, -74152, -3040);
 Engine.MoveTo(77752, -73192, -2992);
 Engine.MoveTo(77976, -72536, -2968);
 Engine.MoveTo(78728, -70968, -3488);
 Engine.MoveTo(80024, -71192, -3440);
 Engine.MoveTo(81192, -71384, -3424);
 Engine.MoveTo(82440, -71672, -3456);
 Engine.MoveTo(83400, -72296, -3472);
 Engine.MoveTo(84152, -72920, -3488);
 Engine.MoveTo(84936, -73576, -3600);
 Engine.MoveTo(86408, -73992, -3552);
 Engine.MoveTo(87416, -74232, -3520);
 Engine.MoveTo(87848, -74408, -3488);
 Engine.MoveTo(87160, -75160, -3480);
 Engine.MoveTo(86424, -75864, -3464);
 Engine.MoveTo(86040, -76216, -3456);
 Engine.MoveTo(85880, -76488, -3456);
 end;
 Engine.LoadZone(script.path+'VOS_Unicorn.zmap');
 engine.facecontrol(0, true);
 while not inventory.Quest.ByID(7595, item) or (item.count < 4) do delay(500);
 AttackDefense;
 Engine.MoveTo(85880, -76536, -3456);
 while not ValidNPC do delay(500);
 while inventory.Quest.ByID(7595, item) and (item.count > 0) do begin
   Target(31748);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   if user.target.dead then engine.canceltarget;
   delay(500);
 end;
 
 
end;
if engine.queststatus(242,10) and not engine.queststatus(242,11) then begin
 if not user.inrange(86488, -75912, -3464, 3000) then begin
 while not user.inrange(67989, -71937, -3728,500) do begin
  Teleport.TpVOS;
 end;
 Engine.MoveTo(69000, -72120, -3776);
 Engine.MoveTo(70152, -72760, -3776);
 Engine.MoveTo(71912, -73672, -3728);
 Engine.MoveTo(73608, -74600, -3536);
 Engine.MoveTo(74728, -74472, -3328);
 Engine.MoveTo(75704, -74408, -3184);
 Engine.MoveTo(77064, -74152, -3040);
 Engine.MoveTo(77752, -73192, -2992);
 Engine.MoveTo(77976, -72536, -2968);
 Engine.MoveTo(78728, -70968, -3488);
 Engine.MoveTo(80024, -71192, -3440);
 Engine.MoveTo(81192, -71384, -3424);
 Engine.MoveTo(82440, -71672, -3456);
 Engine.MoveTo(83400, -72296, -3472);
 Engine.MoveTo(84152, -72920, -3488);
 Engine.MoveTo(84936, -73576, -3600);
 Engine.MoveTo(86408, -73992, -3552);
 Engine.MoveTo(87416, -74232, -3520);
 Engine.MoveTo(87848, -74408, -3488);
 Engine.MoveTo(87160, -75160, -3480);
 Engine.MoveTo(86424, -75864, -3464);
 Engine.MoveTo(86040, -76216, -3456);
 Engine.MoveTo(85880, -76488, -3456);
 end;
  while not engine.queststatus(242,11) do begin
   engine.settarget(31746);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.canceltarget;
   delay(500);
   engine.settarget(31747);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
 end;
end;
if engine.queststatus(242,11) then begin
 while not user.inrange(44083, -50161, -784,500) do begin
  Teleport.TpRune;
 end;
 Engine.MoveTo(43928, -49704, -784);
 Engine.MoveTo(43848, -48968, -784);
 Engine.MoveTo(43608, -48328, -784);
 Engine.MoveTo(43368, -48184, -784);
 Engine.MoveTo(41960, -48184, -784);
 Engine.MoveTo(40344, -48264, -752);
 Engine.MoveTo(40344, -48760, -672);
 Engine.MoveTo(40200, -49592, -384);
 Engine.MoveTo(40088, -49880, -288);
 Engine.MoveTo(39672, -50472, -224);
 Engine.MoveTo(38776, -50968, 16);
 Engine.MoveTo(37992, -51208, 304);
 Engine.MoveTo(37112, -51224, 640);
 Engine.MoveTo(36872, -51224, 728);
 Engine.MoveTo(36664, -51128, 728);
 Engine.MoveTo(36680, -50728, 896);
 Engine.MoveTo(36680, -50504, 912);
 Engine.MoveTo(37176, -50136, 912);
 Engine.MoveTo(37912, -49496, 912);
 Engine.MoveTo(38184, -49016, 912);
 Engine.MoveTo(38456, -48264, 912);
 Engine.MoveTo(37656, -48232, 912);
 Engine.MoveTo(36728, -48216, 912);
 Engine.MoveTo(36328, -48104, 912);
 Engine.MoveTo(35928, -47752, 912);
 Engine.MoveTo(35928, -47064, 1072);
 Engine.MoveTo(35896, -46952, 1088);
 Engine.MoveTo(35640, -46920, 1160);
 Engine.MoveTo(35176, -46920, 1336);
 Engine.MoveTo(35000, -46920, 1408);
 Engine.MoveTo(34888, -46968, 1408);
 Engine.MoveTo(34904, -47528, 1560);
 Engine.MoveTo(34888, -47976, 1688);
 Engine.MoveTo(34872, -48168, 1728);
 Engine.MoveTo(34776, -48200, 1736);
 Engine.MoveTo(34280, -48216, 1792);
 Engine.MoveTo(33432, -48168, 1792);
 Engine.MoveTo(33048, -48184, 1792);
 while engine.queststatus(242,11) do begin
   engine.settarget(31743);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   
 end;
end;
////////////////////////////////////////////////
end;
procedure chapter3;  // Precious Soul 3
var
item: TL2item;
begin
if Inventory.Quest.ByID(7678, item) then begin
 while not user.inrange(147816, -56514, -2768,500) do begin
  Teleport.TpGoddard;
 end;
 Engine.MoveTo(147928, -56152, -2768);
 Engine.MoveTo(148488, -56200, -2768);
 Engine.MoveTo(149048, -56376, -2768);
 Engine.MoveTo(149272, -56488, -2760);
 Engine.MoveTo(149576, -56696, -2864);
 Engine.MoveTo(149896, -56952, -2960);
 Engine.MoveTo(150008, -57352, -2960);
 Engine.MoveTo(150104, -57816, -2960);
 Engine.MoveTo(150104, -57880, -2960);
 while Inventory.Quest.ByID(7678, item) do begin
   engine.settarget(31740);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
end;

 
end;
if engine.queststatus(246,1) and not engine.queststatus(246,2) then begin
 while not engine.queststatus(246,2) do begin
   engine.settarget(31741);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
end;
end;
if engine.queststatus(246,2) and not engine.queststatus(246,3) then begin
 while not user.inrange(67959, -71929, -3728,500) do begin
   Teleport.TpVOS;
 end;
 //to Piligrim
 Engine.MoveTo(68408, -72152, -3728);
 Engine.MoveTo(69032, -72472, -3776);
 Engine.MoveTo(70136, -72968, -3760);
 Engine.MoveTo(71528, -73576, -3752);
 Engine.MoveTo(72952, -74120, -3680);
 Engine.MoveTo(73736, -74408, -3504);
 Engine.MoveTo(74600, -74472, -3376);
 Engine.MoveTo(75512, -74408, -3200);
 Engine.MoveTo(76696, -74280, -3088);
 Engine.MoveTo(77464, -74264, -3024);
 Engine.MoveTo(77960, -74168, -3080);
 Engine.MoveTo(78328, -74360, -3224);
 Engine.MoveTo(78920, -75048, -3480);
 Engine.MoveTo(79384, -75736, -3672);
 Engine.MoveTo(79736, -76328, -3920);
 Engine.MoveTo(79896, -76808, -4000);
 Engine.LoadZone(script.path+'NoblessePiligrim.zmap');
 engine.facecontrol(0, true);
 while not inventory.Quest.ByID(7591, item) do begin
 if user.target = nil then Engine.DMoveTo(80488, -79192, -4032);
 delay(500); // вставить ID кольца.
 end;
 // вставить ID кольца.
 engine.facecontrol(0,false); ///////////
 //to Judge
 Engine.MoveTo(81544, -79496, -4032);
 Engine.MoveTo(82392, -79880, -3936);
 Engine.MoveTo(83192, -80040, -3728);
 Engine.MoveTo(83640, -80120, -3544);
 Engine.MoveTo(84408, -80456, -3504);
 Engine.MoveTo(85400, -80792, -3600);
 Engine.MoveTo(86280, -80760, -3696);
 Engine.MoveTo(87256, -79864, -3696);
 Engine.MoveTo(88056, -79032, -3696);
 Engine.MoveTo(89096, -78296, -3760);
 Engine.MoveTo(89656, -78088, -3776);
 Engine.LoadZone(script.path+'NoblesseJudge.zmap');
 engine.facecontrol(0, true);
 while not inventory.Quest.ByID(7592, item) do delay(500); // вставить ID кольца.
 AttackDefense; // придумать как фиксануть проверку на атаку
 
 
end;
if engine.queststatus(246,3) and not engine.queststatus(246,4) then begin
  while not user.inrange(147816, -56514, -2768,500) do begin
   Teleport.TpGoddard;
  end;
  Engine.MoveTo(148600, -56184, -2768);
  Engine.MoveTo(149224, -56424, -2768);
  Engine.MoveTo(149592, -56696, -2864);
  Engine.MoveTo(149896, -56920, -2960);
  Engine.MoveTo(149960, -57288, -2960);
  Engine.MoveTo(150088, -57656, -2960);
  Engine.MoveTo(150152, -57816, -2960);
  while not engine.queststatus(246,4) do begin
   engine.settarget(31741);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(2);
   delay(500);
end;
end;  
if engine.queststatus(246,4) and not engine.queststatus(246,5) then begin
 while not user.inrange(67959, -71929, -3728,500) do begin
   Teleport.TpVOS;
 end;
 Engine.MoveTo(69224, -72456, -3792);
 Engine.MoveTo(69976, -72776, -3776);
 Engine.MoveTo(70952, -73208, -3776);
 Engine.MoveTo(71832, -73576, -3744);
 Engine.MoveTo(73384, -74296, -3568);
 Engine.MoveTo(73976, -74504, -3472);
 Engine.MoveTo(75096, -74424, -3248);
 Engine.MoveTo(76104, -74392, -3152);
 Engine.MoveTo(76936, -74232, -3056);
 Engine.MoveTo(77688, -74216, -3040);
 Engine.MoveTo(78200, -74360, -3192);
 Engine.MoveTo(79272, -75048, -3552);
 Engine.MoveTo(80232, -77176, -4032);
 Engine.MoveTo(80408, -77736, -4032);
 Engine.MoveTo(81336, -78824, -4032);
 Engine.MoveTo(82264, -79704, -3968);
 Engine.MoveTo(83160, -79976, -3744);
 Engine.MoveTo(83688, -80056, -3536);
 Engine.MoveTo(84040, -80216, -3488);
 Engine.MoveTo(84584, -81160, -3504);
 Engine.MoveTo(84920, -82936, -3552);
 Engine.MoveTo(85320, -84664, -3552);
 Engine.MoveTo(86184, -85944, -3408);
 Engine.MoveTo(86648, -86344, -3192);
 Engine.MoveTo(87288, -86536, -2984);
 Engine.MoveTo(88168, -86424, -2840);
 Engine.MoveTo(89016, -86168, -2744);
 Engine.MoveTo(89208, -86984, -2752);
 Engine.MoveTo(88728, -87656, -2752);
 Engine.MoveTo(88488, -88456, -2760);
 Engine.MoveTo(88344, -88968, -2760);
 Engine.MoveTo(87704, -89192, -2704);
 Engine.MoveTo(87064, -89208, -2704);
 Engine.LoadZone(script.path+'NoblesseStuff.zmap');
 engine.facecontrol(0,true);
 while not inventory.Quest.ByID(7593, item) do delay(500);
 engine.facecontrol(0,false);
 AttackDefense;
end;
if engine.queststatus(246,5) and not engine.queststatus(246,6) then begin
  while not user.inrange(147816, -56514, -2768,500) do begin
   Teleport.TpGoddard;
  end;
  Engine.MoveTo(148392, -56200, -2760);
  Engine.MoveTo(148872, -56264, -2768);
  Engine.MoveTo(149256, -56424, -2760);
  Engine.MoveTo(149592, -56664, -2864);
  Engine.MoveTo(149880, -56888, -2960);
  Engine.MoveTo(149976, -57032, -2960);
  Engine.MoveTo(150040, -57432, -2960);
  Engine.MoveTo(150184, -57832, -2960);
  while not engine.queststatus(246,6) do begin
   engine.settarget(31741);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;
end;
if engine.queststatus(246,6) and not engine.queststatus(246,7) then begin
  while not user.inrange(85279, 16107, -3656,500) do begin
   Teleport.TpIvory;
  end;
  while not user.inrange(85424, 16071, -1760,500) do begin  //go 4 floor
   engine.settarget(30727);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel(3);
   delay(500);
   engine.DlgSel(4);
   delay(500);
  end;
  while not Inventory.Quest.ByID(7679, item) do begin
   engine.settarget(30721);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
   engine.DlgSel(1);
   delay(500);
  end;
            
end;  
//////////////////////////////////
end;
procedure chapter4;  // Precious Soul 4
var
item: TL2item;
begin
if Inventory.Quest.ByID(7679, item) then begin
 while not user.inrange(147816, -56514, -2768,500) do begin
  Teleport.TpGoddard;
 end;
 Engine.MoveTo(148072, -56312, -2768);
 Engine.MoveTo(148392, -56232, -2760);
 Engine.MoveTo(148728, -56280, -2768);
 Engine.MoveTo(149016, -56424, -2768);
 Engine.MoveTo(149272, -56488, -2760);
 Engine.MoveTo(149624, -56696, -2864);
 Engine.MoveTo(149848, -56936, -2960);
 Engine.MoveTo(149944, -57112, -2960);
 Engine.MoveTo(149992, -57432, -2960);
 Engine.MoveTo(150024, -57720, -2960);
 Engine.MoveTo(150072, -57848, -2960);
end;
////////////
end;

 


begin
  chapter1;
  chapter2;
  chapter3;
  chapter4;
end.

 
// разная хуйня
// пофиксить отбивку через интерфейс.
Engine.LoadZone(script.path+'VOS_Unicorn.zmap');


if engine.queststatus(246,1) and not engine.queststatus(246,2) then begin
 while not user.inrange(84429, 147265, -3392,500) do begin
   Teleport.TpGiran;
 end;

end;

while not engine.queststatus(242,11) do begin
   engine.settarget(31743);
   engine.movetotarget(-100);
   engine.dlgOpen;
   delay(500);
   engine.DlgSel('Quest');
   delay(500);
   engine.DlgSel(1);
   delay(500);
end;

 

 

 

Edited by amita
Posted
On 4/3/2020 at 4:28 PM, l3g0las said:

hi, 

does anyone has a nobless quest script?

I have nobless quest script but it doesn't kill the raidboss for you.

 

Quote

hi, any script for TTs + this captcha

https://imgur.com/a/lSufgOl

I have TTs script with sound when a dialog appears so you have to be there to enter captcha.

 

Amita what is the name of the quest and where do I start it? I'll check the script.

  • 2 weeks later...
Posted (edited)

 

On 4/9/2020 at 7:22 AM, darknesscrysis said:

I have nobless quest script but it doesn't kill the raidboss for you.

 

I have TTs script with sound when a dialog appears so you have to be there to enter captcha.

 

Amita what is the name of the quest and where do I start it? I'll check the script.

Hi! Do u have still the captcha script? Becuase i need it. In this server a captcha appears when u are leveling. So it would be easier for me to check my pc when adrenaline replays a sound than checking my pc every minute for this annoying captcha.

 

 

Edited by elrey2
Posted

Here is the captcha script. You have to stop it and run it again for the sound to stop. You have to have a sound named 'beep.wav' in a folder 'sounds' in the adrenaline folder.

 

uses sysutils,classes;
var
alarm:boolean= false;

procedure OnPacket(ID, ID2: Cardinal; Data: Pointer; Size: Word);
begin
  if  (ID = 160)  and  (not alarm)  then alarm := true; 
end;

procedure doAlarm;
begin
  while true do
  begin
    if alarm then begin
      playsound(exepath+'\sounds\beep.wav');
      delay(2222);
    end;
    Delay(1111)
  end;
end;

begin
  script.newthread(@doAlarm);
  delay(-1);
end.

 

Posted
13 hours ago, darknesscrysis said:

Here is the captcha script. You have to stop it and run it again for the sound to stop. You have to have a sound named 'beep.wav' in a folder 'sounds' in the adrenaline folder.

 


uses sysutils,classes;
var
alarm:boolean= false;

procedure OnPacket(ID, ID2: Cardinal; Data: Pointer; Size: Word);
begin
  if  (ID = 160)  and  (not alarm)  then alarm := true; 
end;

procedure doAlarm;
begin
  while true do
  begin
    if alarm then begin
      playsound(exepath+'\sounds\beep.wav');
      delay(2222);
    end;
    Delay(1111)
  end;
end;

begin
  script.newthread(@doAlarm);
  delay(-1);
end.

 

Thank you dark for the answer. Unfortunately the script doesnt work for me. The captcha is like a trade/party window. See in the image below. Anyone have a captcha script for this? I need only a sound when the captcha appears

Captcha2.png

Posted

The above script works for tutorial windows. For trade chats you would only need to change the packet ID, so search for that. You don't need to ask for a whole other script when you already have one that you just need to modify for it to work.

  • Upvote 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Posts

    • Information Selling a premium Lineage 2 High Five (L2J) project with active development, available by subscription. Includes Git support and access to compiled or full source code. Ideal for serious server owners seeking stability and performance, uniqueness and well-done features.   General Project Specifications: JDK Version: 23 -> 24 Chronicle: HighFive Structure: Core & Datapack merged into a single project Database: MariaDB Database Driver: HicariCP GIT Website: gitlab.com   Features include (but are not limited to):   1. Tournament Single & Party (Check Youtube Video) 2. Faction (Check Youtube Video) 3. Event Engine (Check Youtube Video) 4. Sell Buff System (Check Youtube Video) 5. Start UP System (Check Youtube Video) 6. User Panel 7. Visual - Dress me System 8. Donate Store 9. Automatic Farm System (Check Youtube Video) 10. Captcha (Anti-BOT) (Check Youtube Video) 11. Auction (Check Youtube Video) 12. Vote (API) 13. Admin Real Time Balance (Check Youtube Video) 14. Achievements (Check Youtube Video) 15. Daily Mission (Check Youtube Video) 16. A.I. Bot (Check Youtube Video) 17. Rebirth 18. Daily Reward  19. Skill Tree - Ability System 20. Craft System 21. Twitch Automatic Reward (Check Youtube Video) 22. Quiz Game (Check Youtube Video) 23. Automatic Item Enchant (Check Youtube Video) 24. Secondary Auth Using Google Authenticator (Check Youtube Video) 25. Gm Shop - Gatekeeper - Scheme Buffer   How to get Access (Payment Subscription): To get Access you either pay monthly subscription to GIT for source or Compiled. Project is currently active and has at least 1-2 commit / day.  Clients in both Compiled & Source subscription can request features or any addon in already existing mods inside discord.   Price per Month (Source) in GIT: 250 Eur Price per Month (Compiled) in GIT: 100 Eur   Contact: To get Access or ask further information join discord  https://discord.gg/gKAsAhJNuq      
    • We're officially closing the current season today. While we focus on refining the Essence project, our resources will temporarily shift toward supporting the Classic server.
    • ➡ Discount for your purchase: MAY2025 (10% discount) ➡ Our Online Shop: https://socnet.store  ➡ Our SMM-Boosting Panel: https://socnet.pro  ➡ Telegram Shop Bot: https://socnet.shop  ➡ Telegram Support: https://t.me/solomon_bog  ➡ Telegram Channel: https://t.me/accsforyou_shop  ➡ Discord Support: @AllSocialNetworksShop  ➡ Discord Server: https://discord.gg/y9AStFFsrh  ➡ WhatsApp Support: https://wa.me/79051904467 ➡ WhatsApp Channel: https://whatsapp.com/channel/0029Vau0CMX002TGkD4uHa2n  ➡ Email Support: solomonbog@socnet.store 
    • ➡ Discount for your purchase: MAY2025 (10% discount) ➡ Our Online Shop: https://socnet.store  ➡ Our SMM-Boosting Panel: https://socnet.pro  ➡ Telegram Shop Bot: https://socnet.shop  ➡ Telegram Support: https://t.me/solomon_bog  ➡ Telegram Channel: https://t.me/accsforyou_shop  ➡ Discord Support: @AllSocialNetworksShop  ➡ Discord Server: https://discord.gg/y9AStFFsrh  ➡ WhatsApp Support: https://wa.me/79051904467 ➡ WhatsApp Channel: https://whatsapp.com/channel/0029Vau0CMX002TGkD4uHa2n  ➡ Email Support: solomonbog@socnet.store 
  • Topics

×
×
  • Create New...