Перейти к содержимому

Фотография
- - - - -

Проверка бафа/соулшотов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 25

#21
Aloq

Aloq

сейчас зайду скину ошибку у меня платный )

(70): "begin" expected but "end" found


Спойлер (+/-)


Сообщение отредактировал Алеку: 28 Декабрь 2015 - 21:27

  • 0

#22
PandaTrader

PandaTrader

Алеку, http://imgur.com/eEIVQrL


  • 0

#23
savant

savant
  • 198
    172
    Ангелок
    • Lvl 40
    • Пользователь
    Город
    Барнаул

PandaTrader,

function CheckItemCount (const itemID: Integer; const quest: Boolean = False) : Integer;
var tempItem: TL2Item;
//procedure delete_items; - тут не понял зачем это
begin
  if quest then Inventory.Quest.ByID(itemID, tempItem)
  else Inventory.User.ByID(itemID, tempItem);
  Result := tempItem.Count;
end;

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

begin
while 1<>2 do begin // бесконечный цикл

// этот кусок не трогаем
  if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
  begin
    Engine.FaceControl(0,false);
    Engine.gohome;
    delay(2000);
  end;
// этот кусок не трогаем

//1 менять тут
// этот кусок - точки респа выбранной деревни их просто заменить на нужную вам
  if user.inrange(147469, 20164, -2008, 250, 150) //Аден(выход к замку)
  then
  begin
    Engine.MoveTo(147398, 21074, -2136);
    Engine.MoveTo(145164, 22453, -2136);
    Engine.MoveTo(145150, 24118, -2136);
    Engine.MoveTo(146423, 24367, -2008);
    Engine.MoveTo(147134, 25834, -2008); //Центр(Возле ньюби бафера)
  end;

// точка которая указаная в инренж этот точка в которую видут все точки респа,
// тут указываем путь к нубскому баферу либо сразу к гк если мы не б
  Engine.MoveTo(147105, 25918, -2008);

// выделение нпц с ИД указанным в скобках,ид видны справа снизу в боте рядом с именем нпц
  Engine.SetTarget(32327);
// открывем диалоговое окно и прожимаем строки ( у нас сначала 2 потом 15)
  Engine.DlgOpen();
  Engine.DlgSel(1);
  Engine.DlgSel(1); // бафнулись у нубобафа
  Engine.MoveTo(146999, 25808, -2008);
  Engine.MoveTo(146785, 25828, -2008);
  Engine.SetTarget(30848);
  Engine.DlgOpen();
  Engine.DlgSel(1);
  Engine.DlgSel(15);
  Engine.MoveTo(183707, 19741, -3168);

  if user.InRange(183707, 19741, -3168,500) then
  begin
    Engine.FaceControl(0,true);
    while not User.Dead do delay(2000);
  end;
  delay(75000);// задержка перед проверкой
  if CheckItemCount(728) < 100 then //если манапотов < 100
  begin
    Engine.Facecontrol(0,False);
    engine.useitem (1);//тут ид сое/бсое
  end;
  if not User.Buffs.ById(1204, buff) then
  begin
     Engine.Facecontrol(0,False);
     engine.useitem(1);
  end;
Delay(2000);
end;
end.

  • 1

#24
savant

savant
  • 198
    172
    Ангелок
    • Lvl 40
    • Пользователь
    Город
    Барнаул

Только мне тут в скрипте не совсем концовка понятна :) Персонаж умер, после этого мы проверяем количество предметов, что-то юзаем и после этого ресаемся


  • 1

#25
Aloq

Aloq

savant, Например если нету маны или сосак то он узает сое 


  • 1

#26
PandaTrader

PandaTrader

function CheckItemCount (const itemID: Integer; const quest: Boolean = False) : Integer; var tempItem: TL2Item; //procedure delete_items; - тут не понял зачем это begin if quest then Inventory.Quest.ByID(itemID, tempItem) else Inventory.User.ByID(itemID, tempItem); Result := tempItem.Count; end; var obj: TL2NPC; obj2: TL2Effect; Enemy: TL2Live; Buff: TL2Buff; begin while 1<>2 do begin // бесконечный цикл // этот кусок не трогаем if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд begin Engine.FaceControl(0,false); Engine.gohome; delay(2000); end; // этот кусок не трогаем //1 менять тут // этот кусок - точки респа выбранной деревни их просто заменить на нужную вам if user.inrange(147469, 20164, -2008, 250, 150) //Аден(выход к замку) then begin Engine.MoveTo(147398, 21074, -2136); Engine.MoveTo(145164, 22453, -2136); Engine.MoveTo(145150, 24118, -2136); Engine.MoveTo(146423, 24367, -2008); Engine.MoveTo(147134, 25834, -2008); //Центр(Возле ньюби бафера) end; // точка которая указаная в инренж этот точка в которую видут все точки респа, // тут указываем путь к нубскому баферу либо сразу к гк если мы не б Engine.MoveTo(147105, 25918, -2008); // выделение нпц с ИД указанным в скобках,ид видны справа снизу в боте рядом с именем нпц Engine.SetTarget(32327); // открывем диалоговое окно и прожимаем строки ( у нас сначала 2 потом 15) Engine.DlgOpen(); Engine.DlgSel(1); Engine.DlgSel(1); // бафнулись у нубобафа Engine.MoveTo(146999, 25808, -2008); Engine.MoveTo(146785, 25828, -2008); Engine.SetTarget(30848); Engine.DlgOpen(); Engine.DlgSel(1); Engine.DlgSel(15); Engine.MoveTo(183707, 19741, -3168); if user.InRange(183707, 19741, -3168,500) then begin Engine.FaceControl(0,true); while not User.Dead do delay(2000); end; delay(75000);// задержка перед проверкой if CheckItemCount(728) < 100 then //если манапотов < 100 begin Engine.Facecontrol(0,False); engine.useitem (1);//тут ид сое/бсое end; if not User.Buffs.ById(1204, buff) then begin Engine.Facecontrol(0,False); engine.useitem(1); end; Delay(2000); end; end.

Скрипт в целом работает,но проверка почему-то не идёт.Выставил даже дэлей 200.Итем удалил до 1-го.

Всё,просто нужно было 

Спойлер (+/-)

перенести в начало скрипта.


Огромное спасибо этим двум товарищам,которые помогли мне.Медальки им)


  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных

Rawr.pro - Сделано с для игроков.