Item
Item описывает предмет независимо от того, находится он в инвентаре или лежит в мире. Все свойства объектов на этой странице доступны только для чтения.
Как устроен путь данных
Заголовок раздела «Как устроен путь данных»Система предметов владеет экземплярами оружия, гранат и устройств. Inventory, Items и Drops возвращают разные представления тех же игровых объектов: предмет у владельца, общий список существующих предметов или выброшенный объект мира.
Item — живой экземпляр со своим владельцем, боезапасом и состоянием. ConfigItem — неизменяемое описание типа предмета. Не путайте их: чтение или изменение локальной структуры результата не меняет конфигурацию и не создаёт новый предмет.
Hitscan- и trajectory-методы вызывают расчётные подсистемы и возвращают прогноз. Только команды обычного оружия/ввода или подтверждённая сервером операция Drop:PickUp() изменяют матч.
Какие методы меняют игру
Заголовок раздела «Какие методы меняют игру»| Метод | Эффект |
|---|---|
Drop:PickUp() |
Запрашивает реальный подбор: при успехе предмет исчезает из мира и появляется в инвентаре. |
GetPredictedHits() |
Только возвращает варианты возможного выстрела. Не стреляет и не наносит урон. |
HitscanFirearm() / HitscanMelee() |
Только рассчитывает попадания для переданных позиции и направления. Не воспроизводит выстрел, удар или эффекты. |
SimulateThrowTrajectory() |
Только возвращает точки траектории. Не бросает предмет и ничего не рисует. |
Чтобы показать результат симуляции, самостоятельно отрисуйте возвращённые точки через WorldVisuals или ImGui.
Быстрый пример
Заголовок раздела «Быстрый пример»local agent = Agents:GetLocalAgent()local items = agent.Inventory:GetItems()
for i = 1, items.Length do local item = items[i] print(item.Name .. " (slot " .. tostring(item.ItemSlot) .. ")")endBridgeChargeItem
Заголовок раздела «BridgeChargeItem»BridgeCharge как предмет до его установки.
Base: Item
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
IsPlanting |
bool | get |
true, пока игрок устанавливает BridgeCharge. |
PlantProgress |
number | get |
Текущий прогресс установки от 0 до 1. |
PlantRemainingTicks |
int | get |
Количество тиков до завершения установки. |
Сущность лежащего на земле предмета.
Base: Entity
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
Config |
ConfigItem | get |
Конфигурация лежащего предмета. Возвращает nil, если объект скрыт или конфигурация предмета недоступна. |
Item |
Item | get |
Сам предмет. Возвращает nil, если объект скрыт или данные предмета недоступны. |
Drop:PickUp()Только client Подбирает выброшенный предмет.
PickUp() успешно добавляет предмет в инвентарь и удаляет соответствующий Drop из мира.
Глобальный API для листинга выброшенных предметов.
Drops:GetAll(): Array<Drop>Возвращает все выброшенные предметы.
Возвращает: Array<Drop>
GetNearby
Заголовок раздела «GetNearby»Drops:GetNearby(): Array<Drop>Возвращает доступные локальному игроку предметы поблизости. Для безопасного вызова PickUp() выбирайте объект именно из этого массива.
Возвращает: Array<Drop>
EItemSlot
Заголовок раздела «EItemSlot»Слоты предметов в инвентаре.
| Значение | Код | Описание |
|---|---|---|
None |
0 |
Слот не определен. |
PrimaryWeapon |
1 |
Основное оружие. |
SecondaryWeapon |
2 |
Вторичное оружие. |
Knife |
3 |
Нож. |
Grenade |
4 |
Граната. |
BridgeCharge |
5 |
BridgeCharge. |
Armor |
6 |
Броня. |
Defuser |
7 |
Набор для разминирования. |
EThrowState
Заголовок раздела «EThrowState»Состояние броска метательного предмета.
| Значение | Код | Описание |
|---|---|---|
None |
0 |
Бросок не выполняется. |
Preparing |
1 |
Подготовка к основному (сильному) броску. |
PreparingAlternate |
2 |
Подготовка к альтернативному (слабому) броску. |
Throwing |
3 |
Основной (сильный) бросок. |
ThrowingAlternate |
4 |
Альтернативный (слабый) бросок. |
FirearmItem
Заголовок раздела «FirearmItem»Огнестрельное оружие как предмет инвентаря.
Base: Item
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
ClipAmmo |
int | get |
Количество патронов в магазине. |
Config |
ConfigItemFirearm | get |
Конфигурация огнестрельного оружия. Возвращает nil, если конфигурация недоступна. |
Dispersion |
number | get |
Полный разброс оружия с учетом текущего состояния и конфигурации. |
HasAmmo |
bool | get |
Возвращает true, если в магазине или в запасе есть патроны. |
IsReloading |
bool | get |
Возвращает true, если оружие перезаряжается. |
ReloadProgress |
number | get |
Прогресс перезарядки от 0 до 1. |
RemainingAmmo |
int | get |
Количество патронов в запасе. |
GetPredictedHits
Заголовок раздела «GetPredictedHits»FirearmItem:GetPredictedHits(): Array<Array<HitscanHit>>Только Reflex server Локальный агент Возвращает список возможных точек попадания, если оружие находится в руках локального агента, и он выстрелит прямо сейчас. Каждый тик на основе направления прицеливания и значения неточности вычисляется несколько случайных траекторий, по которым может быть произведен выстрел. Выстрел гарантированно будет произведен по одной из этих траекторий. Каждое значение возвращаемого массива - список потенциальных попаданий по одной из траекторий, аналогично результатам вызова HitscanHit для этой траектории.
Возвращает: Array<Array<HitscanHit>>
HitscanFirearm
Заголовок раздела «HitscanFirearm»FirearmItem:HitscanFirearm(firePosition: Vector3, projectileDirection: Vector3): Array<HitscanHit>Проводит симуляцию выстрела из указанной позиции в указанном направлении и возвращает список попаданий с учетом прострелов.
| Параметр | Тип | Необязательный | Описание |
|---|---|---|---|
firePosition |
Vector3 | Позиция источника выстрела, для агента можно взять из Aim.Position | |
projectileDirection |
Vector3 | Направление из источника для выстрела, для агента можно взять из Aim.Direction |
Возвращает: Array<HitscanHit>
HitscanHit
Заголовок раздела «HitscanHit»Результат попадания снаряда (hitscan).
Это элемент результата симуляции, а не зарегистрированное боевое событие. Он описывает пересечение и пробитие для рассчитанного луча; чтение Hitbox не наносит урон соответствующему агенту.
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
EntryPoint |
Vector3 | get |
Точка входа снаряда в поверхность. |
EntryPower |
number | get |
Относительная мощность на входе в поверхность (в диапазоне 0-1, где 1 - полная мощность). Мощность уменьшается при прострелах насквозь. |
ExitPower |
number | get |
Относительная мощность на выходе из поверхности (в диапазоне 0-1, где 1 - полная мощность). Мощность уменьшается при прострелах насквозь. |
HasExited |
bool | get |
true, если снаряд вышел насквозь. |
Hitbox |
Hitbox | get |
Хитбокс, в который произошло попадание (или nil). |
Базовый объект всех предметов.
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
AsBridgeChargeItem |
BridgeChargeItem |
get |
Возвращает предмет как BridgeChargeItem или nil, если это предмет другого типа. |
AsFirearmItem |
FirearmItem | get |
Возвращает предмет как FirearmItem или nil, если это предмет другого типа. |
AsMeleeItem |
MeleeItem | get |
Возвращает предмет как MeleeItem или nil, если это предмет другого типа. |
AsThrowableItem |
ThrowableItem | get |
Возвращает предмет как ThrowableItem или nil, если это предмет другого типа. |
ConfigItem |
ConfigItem | get |
Конфигурация предмета. Возвращает nil, если конфигурация недоступна. |
Icon |
Texture | get |
Иконка предмета в полном разрешении. Возвращает nil, если у предмета нет иконки или объект предмета уже недоступен. |
IconSmall |
Texture | get |
Маленькая иконка предмета с уменьшенной детализацией. Возвращает nil, если у предмета нет такой иконки или объект предмета уже недоступен. |
IsBridgeCharge |
bool | get |
true, если предмет — BridgeCharge. |
IsDropped |
bool | get |
true, если у предмета нет владельца. |
IsFirearm |
bool | get |
true, если предмет — огнестрельное оружие. |
IsMelee |
bool | get |
true, если предмет — оружие ближнего боя. |
IsThrowable |
bool | get |
true, если предмет — метательный. |
IsVisible |
bool | get |
true, если предмет видим для локальной команды. Когда предмет не виден, все его члены, кроме Name, ItemSlot, ConfigItem, возвращают неопределённые значения. |
ItemSlot |
EItemSlot | get |
Слот инвентаря, в который кладется предмет из конфигурации. |
Name |
string | get |
Название предмета из конфигурации. |
Position |
Vector3 | get |
Позиция агента, у которого находится предмет, либо позиция выброшенного предмета. |
Глобальный API для листинга предметов.
Items:GetAll(): Array<Item>Возвращает все предметы (Items) на карте.
Возвращает: Array<Item>
GetAllBridgeCharges
Заголовок раздела «GetAllBridgeCharges»Items:GetAllBridgeCharges(): Array<BridgeChargeItem>Возвращает BridgeCharge, существующие сейчас как предметы. После завершения установки используйте PlantedBridgeCharges:GetPlanted() из раздела Entity.
Возвращает: Array<BridgeChargeItem>
MeleeItem
Заголовок раздела «MeleeItem»Оружие ближнего боя как предмет инвентаря.
Base: Item
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
Config |
ConfigItemMelee | get |
Конфигурация холодного оружия. Возвращает nil, если конфигурация недоступна. |
HitscanMelee
Заголовок раздела «HitscanMelee»MeleeItem:HitscanMelee(firePosition: Vector3, direction: Vector3, distance: number): HitscanHitПроводит симуляцию удара из указанной позиции в указанном направлении и возвращает попадание или nil, если попадания нет.
| Параметр | Тип | Необязательный | Описание |
|---|---|---|---|
firePosition |
Vector3 | Позиция удара. Для агента можно использовать Aim.Position. |
|
direction |
Vector3 | Направление удара. Для агента можно использовать Aim.Direction. |
|
distance |
number | Максимальная дистанция симуляции. Можно использовать ConfigItemMelee.StrongAttackMaxHitDistance. |
Возвращает: HitscanHit или nil
ThrowableItem
Заголовок раздела «ThrowableItem»Метательный предмет (граната) как элемент инвентаря.
Base: Item
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
Config |
ConfigItemThrowable | get |
Конфигурация метательного предмета. Возвращает nil, если конфигурация недоступна. |
ThrowState |
EThrowState | get |
Текущее состояние броска. |
SimulateThrowTrajectory
Заголовок раздела «SimulateThrowTrajectory»ThrowableItem:SimulateThrowTrajectory(throwState: EThrowState): Array<Vector3>Только client Возвращает симулированную траекторию броска для текущего поворота и позиции владельца.
| Параметр | Тип | Необязательный | Описание |
|---|---|---|---|
throwState |
EThrowState | Должно быть Preparing или PreparingAlternate, иначе вернет пустой массив, для текущего предмета состояние можно взять из поля ThrowState |
Возвращает: Array