- Рег
- 19 Окт 2016
- Сообщения
- 2
- Реакции
- 0
Вот такой вот скриптик , писал сам 1 раз , вроде даж получилось =)
Для гномов
Для гномов
Код:
var obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
function CheckItemCount (const itemID: Integer; const quest: Boolean = False) : Integer;
var tempItem: TL2Item;
begin
if quest then Inventory.Quest.ByID(itemID, tempItem)
else Inventory.User.ByID(itemID, tempItem);
Result := tempItem.Count;
end;
begin
while 1<>2 do begin
if CheckItemCount(1835) < 300 then //оставшееся кол-во сосок при котором перс будет улетать в деревню
begin
Engine.FaceControl(0,false);
Engine.Attack;
engine.canceltarget ;
delay(8000);
Engine.UseItem(736,false);
delay(24000)
end;
Begin
if User.Dead then
begin
Engine.FaceControl(0,false);
Engine.gohome;
delay(24000);
end;
//точки возврата в городе
if user.InRange(115098, -178170, -918,500,500) then begin
Engine.MoveTo(115452, -178537, -957);
end;
if user.InRange(115248,-178816,-912,500,500) then begin
delay(3000);
Engine.MoveTo(115452, -178537, -957);
end;
if user.InRange(116738,-181494,-1392,500,500) then begin
delay(3000);
Engine.MoveTo(116632,-179880,-1136);
Engine.MoveTo(115544,-178776,-944);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(116476,-182904,-1536,500,500) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(116584,-181704,-1424);
Engine.MoveTo(116632,-179848,-1136);
Engine.MoveTo(115576,-178712,-944);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(115485,-178077,-912,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(115271,-178561,-912,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(115271,-178561,-912,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(116176,-182448,-1488,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(116696,-180504,-1224);
Engine.MoveTo(116488,-179672,-1120);
Engine.MoveTo(115512,-178616,-928);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(116352,-179264,-1072,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115512,-178616,-928);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(116321,-182734,-1504,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(116680,-180184,-1168);
Engine.MoveTo(115528,-178664,-928);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(116507,-179597,-1120,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115480,-178616,-928);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(116725,-180147,-1168,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115528,-178616,-928);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
if user.InRange(115790,-179146,-976,100,100) then begin
Engine.FaceControl(0,false);
delay(3000);
Engine.MoveTo(115528,-178616,-928);
Engine.MoveTo(115452, -178537, -957);
delay(5000);
end;
//еще раз проверяет кол-во итемов (если умер)
begin
if CheckItemCount(1835) < 300
then begin
if User.inrange(115452, -178537, -957, 250, 150) then begin
delay(2550);
//бежит к торговцу
Engine.MoveTo(115915, -177734, -888);
Engine.MoveTo(116150, -177733, -880);
Engine.MoveTo(116249, -177541, -880);
Engine.SetTarget(30519);
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.NpcTrade(false, [1835,8000]); // ID сосок ,кол-во сосок которое купит
Engine.NpcTrade(false, [736,2]); // ID свитка телепорта ,кол-во свитков которое купит
//(выставил 2 , бывает в городе застревает , автоматом тпешится и все хорошо становится)
Delay(3000);
end;
end;
//бежит к ТП
if User.inrange(115452, -178537, -957, 3000, 3000) then begin
Engine.MoveTo(115656, -178120, -896);
Engine.MoveTo(115128, -178184, -880);
// бафается у нубо хелпера
Engine.SetTarget(30601);
Engine.DlgOpen();
Engine.DlgSel(5);
Engine.DlgSel(1);
//тпешится в зону фарма (выставляем сами куда хотим)
Engine.MoveTo(115117, -178173, -912);
Engine.SetTarget(30540);
Engine.DlgOpen();
Engine.DlgSel(1);
Engine.DlgSel(10);
end;
// бежит на спот по этим точкам
Engine.MoveTo(137189, -205132, -3712);
Engine.MoveTo(139005, -204326, -3696);
Engine.MoveTo(139713, -205406, -3616);
Engine.FaceControl(0,true);
end;
delay(550);
end;
delay(550);
end;
delay(550);
end.