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

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

Проверка количества итемов (+квестовые итемы)



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

#1
SARCAZM

SARCAZM

Вставляем функцию в код:

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;

Чтобы проверить итемы:

 CheckItemCount(57); // item id

Чтобы проверить квест итемы:

 CheckItemCount(1087, True) // quest item id

Пример 1 (Простой итем):

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
   if CheckItemCount(57) < 1000 then
      print('low adena');
end.

Проверяем сколько адены, если меньше 1000 пишем low adena.

 

 

Пример 2 (Квестовый итем):

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
   if CheckItemCount(1087, True) < 8 then
      Engine.FaceControl(0, True);
end.

Проверяем сколько квест итемов, если меньше 8, фармим.

 

Также можно использовать и с while:

while CheckItemCount(1087, True) < 8 do …

Автор скрипта: Ivanius


  • 1

#2
turango

turango

Бывает такое, что крякнутый адрик не видет квестовых итемов?


  • 0

#3
Splen

Splen

Бывает такое, что крякнутый адрик не видет квестовых итемов?

Например когда делал 1-27, адрик не видел итем с орков, но видит итем с пауков.


  • 0

#4
turango

turango

тоже самое, то видит итем то нет, он то есть во вкладке inventory/quest, то нету. От чего зависит не могу понять((


  • 0

#5
palto

palto
  • 2
    0
    Не выбрано
    • Гремлин
    • На проверке

Я извиняюсь что немного не по теме, но хотел бы спросить - есть возможность чтоб бот использовал квест итемы? Именно испльзовал, допустим как банки хп. Спасибо.


  • 0

#6
shevelll

shevelll
  • 5
    1
    Все круто
    • Lvl 3
    • Пользователь

подскажите, никак не могу разобраься, как прописать, чтоб после определенного количества квестовых итемов бот отключался. Вот наработка моя


Спойлер (+/-) (проверка итемов)


  • 0

#7
SARCAZM

SARCAZM

shevelll,

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 true do begin
	if CheckItemCount(3423, True) >= 50 then begin
	    Engine.FaceControl(0, false);
            Break;
	    end;
            Delay(1000);
        end;
end.

  • 0

#8
Select

Select

Например когда делал 1-27, адрик не видел итем с орков, но видит итем с пауков.

Дела в дб просто, а не адрике 


  • 0

#9
Stix

Stix
  • 5
    1
    Не выбрано
    • Lvl 3
    • Пользователь

Не у кого не встречалась такая проблемка: через какое-то время переставали отображаться квест. итемы в адреналине, соответственно скрипты начинали работать после этого не корректно. К примеру, персонаж уже набил нужное кол-во итемов, но так как они не отображаются он продолжает долбить мобов до посинения). Если кто нибудь знает, как решить эту проблему, отпишитесь пожалуйста.  


  • 0

#10
SeverSSS

SeverSSS
  • 7
    0
    Не выбрано
    • Lvl 5
    • Пользователь

лучше всего пользоваться платным адреналином ...


  • 0

#11
immortal89

immortal89
  • 42
    15
    А что, если...
    • Lvl 23
    • Пользователь

SARCAZM,

Для нормальной работаспособности нужен лиц адр?

на кряке 1.71 даже это выдаёт ошибку.

  1. function CheckItemCount (const itemID: Integer; const quest: Boolean = False) : Integer;
  2. var tempItem: TL2Item;
  3. begin
  4.     if quest then Inventory.Quest.ByID(itemID, tempItem)
  5.     else Inventory.User.ByID(itemID, tempItem);
  6.     Result := tempItem.Count;
  7. end;
  8.  
  9. begin
  10.     while true do begin
  11.     if CheckItemCount(3423, True) >= 50 then begin
  12.     Engine.FaceControl(0, false);
  13.         Break;
  14.         Delay(1000);
  15.     end;
  16. end.

Приходится в конце ещё end; дописать, но даже в этом случае после запуска при набивании итема (менял ид на свой) ни чего не проиходит и интерфейс не выключается.


Сообщение отредактировал immortal89: 18 Март 2016 - 23:00

  • 0

#12
SARCAZM

SARCAZM

Для нормальной работаспособности нужен лиц адр?

Данная процедура уже работала на версии 1.71


  • 0

#13
anks

anks
  • 22
    13
    Не выбрано
    • Lvl 15
    • Пользователь
begin    if CheckItemCount(1087, True) < 8 then       Engine.FaceControl(0, True); end.

 

не подскажете какая должны быть комбинация при проверке 2х итемов в инвентаре ??

 

 

 if CheckItemCount(1087, True) and CheckItemCount(1085, True) < 8 then

Engine.FaceControl(0, True);

 

так будет работать ? :)


Сообщение отредактировал anks: 09 Апрель 2016 - 23:33

  • 0

#14
Krickt

Krickt

anks,

if (CheckItemCount(10, true) < 8) and (CheckItemCount(11, true) < 7) then

  • 1

#15
anks

anks
  • 22
    13
    Не выбрано
    • Lvl 15
    • Пользователь

:) спасибо лови +


  • 0

#16
BreadfanLock

BreadfanLock

Stix, проблема с квест итемами возникает в случае открытия\закрытия инвентаря при наличии уже выбитого хотя бы 1го итема. Т.е. итемов 0 - можно открывать\закрывать - не страшно. Если бот уже выбил хотя бы 1 итем - забудьте об открывании\закрывании сумки, все итемы которые вам возможно необходимо будет использовать - надо заранее вынести на панели, также эта ситуация возникнет при релоге. Таким образом, квестовые этапы в духе "набить столькототам чегото" - должны проходиться скриптом за один раз, без перерывов, релогов и копошениях в сумке.
Актуально для версии 1.71


  • 0
Не изготавливаю готовый код...



Темы с аналогичным тегами наработки

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

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

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