Объект Item и друзья

17 ноября 2021.

Мы готовимся переделать объект Thing в объект Item. Релизом будут затронуты следующие задокументированные ранее методы:

Методы trades.*, также работающие с объектами Thing, пока не будут переведены в режим совместимости с объектом Item.

В методе inventory.get мы постараемся сохранить новые параметры наравне со старыми (объекты Item и Thing будут объединены). Мы рекоменуем уже сейчас подготовить код к взаимодействию в первую очередь с параметрами объекта Item.

Изменения в описания предметов

Изменённые параметры

Параметр объекта ThingПараметр объекта ItemОписание изменений
thing_iditem_id
thing_prototype_iditem_proto_id
thing_proto_statusitem_proto_statusНе будет передаваться, если значение равно 0.
thing_typetype
groupmonopoly_id
sticker_groupsticker_group_id
qualityquality_id
collectioncollection_idНе будет передаваться, если предмет не принадлежит ни к одной коллекции (ранее передавалось значение -1).
twin_thing_prototype_idtwin_item_proto_ids
owned_timets_owned
can_givets_can_trade
can_sellts_can_sell
delete_priceprices.quick_sellПараметр перемещён в объект prices.
can_voidcan_delete
can_be_upgradedcan_craftНе будет передаваться, если значение равно 0.
buy_costprices.buyПараметр перемещён в объект prices.
buy_costs_by_countprices.buyПараметр перемещён в объект prices.
keykey_item_proto_id
casescase_item_proto_ids
dropdropВ объекте будут передаваться все предметы, которые могут выпасть из кейса (ранее вместо списка редких предметов выдавался псевдо-предмет rare:1, а предметы с копилками не передавались вообще).
owners_historyprevious_owners_user_ids
uses_leftuses.leftПараметр перемещён в объект uses.
uses_originuses.originПараметр перемещён в объект uses.

Удалённые параметры

Параметр объекта ThingОписание изменений
user_idПоскольку у нас нет работы с предметами вне контекста игрока, то мы удалили этот параметр. Вы должны самостоятельно понимать, чей предмет вы обрабатываете.

Добавленные параметры

Параметр объекта ItemОписание изменений
item_idsВ будущем мы будем группировать одинаковые предметы в один, чтобы не отдавать по тысяче раз одинаковые кейсы из инвентаря. В этом параметре будут перечислены все item_id сгруппированных предметов.

Изменения inventory.get

Параметр запроса add_user_info будет называться add_user.

Параметр ответа user_info будет называться user.

Обратная совместимость пока останется.

Новый метод data.getItemProtos

Метод data.getItemProtos заменит собой метод data.getThingPrototypes, который продолжит работать, но будет считаться устаревшим.

Удаление параметров ответа thing_types и qualities

Методы data.getItemProtos и inventory.get более не будут возвращать в качестве дополнительных данных поля thing_types и qualities. Эти списки чрезвычайно малы и крайне редко обновляются, поэтому не имеет смысла передавать их по сети.