Сообщения без ответов | Активные темы Текущее время: Пт апр 19, 2019 4:06 am



Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Проблемы с операциями над inventory в новой версии 
Автор Сообщение

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Проблемы с операциями над inventory в новой версии
13.06.2018 впервые обновил апдейтером бота где-то за полгода. На новой версии стал адово глючить следующий кусок кода:

Код:
var
...
VSet: array [0..14] of integer = (111, 222, 333, 444, 555, 666, 777, 888, 999, 10101, 10111, 10112, 10113, 10114, 10115);
// какие тут айди - в общем-то пофиг, половина нормального шмота, половина - новодел админа с java гфш
...
procedure equipItemListID(itemListID: array of Integer);
var
  item: TL2Item;
  itemID: Integer;
begin
  Engine.StopCasting;
  for itemID in itemListID do
  begin
    inventory.user.byid(itemID, item);
    if not item.Equipped then Engine.UseItem(itemID);
    delay(10);
  end;
end;
...

begin
equipitemlistid(VSet);
end.


Симптомы следующие: не все предметы из списка одеваются на новой версии, в итоге на чаре оказывается половина нового сета и половина старого.
От увеличения делея до 5 секунд лучше не становится. Повторный вызов функции не одевает новые шмотки. Откат бинаря и либ на 2.34 помог.

<imho>
По ощущениям проблема в том, что Engine.UseItem маркирует итем как одетый асинхронно, а до сервера игры пакет отправляется в режиме fire-and-forget, и не долетает. То есть бот считает, что сет одет, но на самом деле - нет. Не знаю, не очень уверен в том, что щас написал.
</imho>


Вс июн 17, 2018 8:01 pm
Профиль

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
Товарисч кодер, чекните сабж, пожалуйста. Не могу обновиться до версии с GPS.


Вт июн 19, 2018 5:26 am
Профиль
Куда я попал

Зарегистрирован: Чт мар 29, 2018 8:12 am
Сообщений: 48
Сообщение Re: Проблемы с операциями над inventory в новой версии
А пробовал свой UseItem сделать через пакеты?

_________________
Оказываю помощь бесплатно только публично на форуме, цените свои и мое время.
AdrenalineScript.com - премиум плагины и скрипты


Вт июн 19, 2018 11:00 am
Профиль WWW

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
неа
да лень стало, это ж стандартнейшая функция апи и должна работать


Сб июн 23, 2018 6:46 pm
Профиль

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
Вообще могу попробовать, только не очень шарю во всей этой пакетной херне, увы. Нужен какой-нибудь туториал :(


Сб июн 23, 2018 6:58 pm
Профиль

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
Переписал Engine.UseItem на пакеты... Короче, проблема не в UseItem, а в обновлении списка предметов в инвентаре.
Inventory.user.byid возвращает предмет, для которого item.Equipped не соответствует действительности. Происходит такой кейс при быстром переодевании предметов (задержка около 100 мс) между итерациями.

Зануление item между итерациями и обновление инвентори через inventory := Engine.GetInventory ничего не дало, предмет все равно ошибочно считается одетым.


Вс фев 10, 2019 7:18 pm
Профиль

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
Есть ли какой-то метод для синхронизации инвентаря адреналина с тем, что в действительности одето в клиенте?

Ей богу, этот баг реально уже заебал. Давайте придумаем какой-то обход, я устал сеты через макросы переодевать.


Вс фев 10, 2019 7:19 pm
Профиль

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
Крч временное решение проблемы - оправить пакет RequestItemList в конце процедуры, он запрашивает список предметов с сервера и синхронизирует инвентарь бота с клиентом.

Баг все еще актуален и по-прежнему бесит, потому что этот пакет открывает инвентарь. Побочный эффект.


Вс фев 10, 2019 9:22 pm
Профиль
Администратор
Аватар пользователя

Зарегистрирован: Пн янв 12, 2015 10:58 am
Сообщений: 1367
Сообщение Re: Проблемы с операциями над inventory в новой версии
открытие инвентаря = этот пакет, это не побочный эффект. Хотел предложить именно открыть инвентарь для обновление, но если можно пакетом то так даже лучше.

_________________

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!



Сб фев 16, 2019 9:37 am
Профиль WWW

Зарегистрирован: Сб фев 24, 2018 1:31 pm
Сообщений: 13
Сообщение Re: Проблемы с операциями над inventory в новой версии
Потыкался с этой хуйней еще раз.

Если я не отсылаю этот пакет перед каждой операцией снять\одеть, то он что-то да проябывает. Если отсылать пакет, то в цикле это все адово тормозит и превращается в кошмар.
Все же работало на 35й версии, почему нельзя откатить конкретно этот кусок?


Ср фев 27, 2019 5:51 pm
Профиль
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ Сообщений: 16 ]  На страницу 1, 2  След.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Разработано: g-yar.
Русская поддержка phpBB