← База знаний
Lua

Основы создания SWEP

Структура оружия, предсказание и разделение логики клиента и сервера.

Минимальная структура

SWEP обычно размещается в lua/weapons/weapon_mytool/. В shared.lua задаются метаданные, модели и основные параметры. Сервер решает результат попадания и изменение игрового состояния; клиент отвечает за интерфейс, эффекты и отзывчивое отображение.

SWEP.PrintName = "Инструмент"
SWEP.Spawnable = true
SWEP.UseHands = true
SWEP.ViewModel = "models/weapons/c_pistol.mdl"
SWEP.WorldModel = "models/weapons/w_pistol.mdl"

function SWEP:PrimaryAttack()
    self:SetNextPrimaryFire(CurTime() + 0.5)
    if CLIENT then return end
    local owner = self:GetOwner()
    if not IsValid(owner) then return end
    -- серверное действие
end

Проверяйте