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

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) .. ")")
end

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>

Drops:GetNearby(): Array<Drop>

Возвращает доступные локальному игроку предметы поблизости. Для безопасного вызова PickUp() выбирайте объект именно из этого массива.

Возвращает: Array<Drop>

Слоты предметов в инвентаре.

Значение Код Описание
None 0 Слот не определен.
PrimaryWeapon 1 Основное оружие.
SecondaryWeapon 2 Вторичное оружие.
Knife 3 Нож.
Grenade 4 Граната.
BridgeCharge 5 BridgeCharge.
Armor 6 Броня.
Defuser 7 Набор для разминирования.

Состояние броска метательного предмета.

Значение Код Описание
None 0 Бросок не выполняется.
Preparing 1 Подготовка к основному (сильному) броску.
PreparingAlternate 2 Подготовка к альтернативному (слабому) броску.
Throwing 3 Основной (сильный) бросок.
ThrowingAlternate 4 Альтернативный (слабый) бросок.

Огнестрельное оружие как предмет инвентаря.

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 Количество патронов в запасе.
FirearmItem:GetPredictedHits(): Array<Array<HitscanHit>>

Только Reflex server Локальный агент Возвращает список возможных точек попадания, если оружие находится в руках локального агента, и он выстрелит прямо сейчас. Каждый тик на основе направления прицеливания и значения неточности вычисляется несколько случайных траекторий, по которым может быть произведен выстрел. Выстрел гарантированно будет произведен по одной из этих траекторий. Каждое значение возвращаемого массива - список потенциальных попаданий по одной из траекторий, аналогично результатам вызова HitscanHit для этой траектории.

Возвращает: Array<Array<HitscanHit>>

FirearmItem:HitscanFirearm(firePosition: Vector3, projectileDirection: Vector3): Array<HitscanHit>

Проводит симуляцию выстрела из указанной позиции в указанном направлении и возвращает список попаданий с учетом прострелов.

Параметр Тип Необязательный Описание
firePosition Vector3 Позиция источника выстрела, для агента можно взять из Aim.Position
projectileDirection Vector3 Направление из источника для выстрела, для агента можно взять из Aim.Direction

Возвращает: Array<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>

Items:GetAllBridgeCharges(): Array<BridgeChargeItem>

Возвращает BridgeCharge, существующие сейчас как предметы. После завершения установки используйте PlantedBridgeCharges:GetPlanted() из раздела Entity.

Возвращает: Array<BridgeChargeItem>

Оружие ближнего боя как предмет инвентаря.

Base: Item

Свойство Тип Доступ Описание
Config ConfigItemMelee get Конфигурация холодного оружия. Возвращает nil, если конфигурация недоступна.
MeleeItem:HitscanMelee(firePosition: Vector3, direction: Vector3, distance: number): HitscanHit

Проводит симуляцию удара из указанной позиции в указанном направлении и возвращает попадание или nil, если попадания нет.

Параметр Тип Необязательный Описание
firePosition Vector3 Позиция удара. Для агента можно использовать Aim.Position.
direction Vector3 Направление удара. Для агента можно использовать Aim.Direction.
distance number Максимальная дистанция симуляции. Можно использовать ConfigItemMelee.StrongAttackMaxHitDistance.

Возвращает: HitscanHit или nil

Метательный предмет (граната) как элемент инвентаря.

Base: Item

Свойство Тип Доступ Описание
Config ConfigItemThrowable get Конфигурация метательного предмета. Возвращает nil, если конфигурация недоступна.
ThrowState EThrowState get Текущее состояние броска.
ThrowableItem:SimulateThrowTrajectory(throwState: EThrowState): Array<Vector3>

Только client Возвращает симулированную траекторию броска для текущего поворота и позиции владельца.

Параметр Тип Необязательный Описание
throwState EThrowState Должно быть Preparing или PreparingAlternate, иначе вернет пустой массив, для текущего предмета состояние можно взять из поля ThrowState

Возвращает: Array

Связанные типы: Array и Vector3.