Как создать одежду - Shark-vil/Clothing-system GitHub Wiki

Для создания энтити одежды, нужно создать SH файл, который будет выполняться как на сервере, так и на клиенте. Проще всего создать такой файл в папке lua/autorun/.

Описание обязательных параметров:

Если вы добавляйте вещь, на время работы обязательно добавляйте переменную Developing! Она позволяет менять настройки (положение, размер и т.д.) модели без снятия и повторного надевания предмета. Однако учтите, что этот режим более ресурсозатратный, и не стоит его оставлять, когда вы окончательно настроите предмет. Developing - режим разработки (Тип переменной - Bool)

Name - название объекта (Тип переменной - String)

Category - категория объекта в меню спавна (Тип переменной - String)

WireModel - модель, которая будет отображаться на игроке (Тип переменной - String)

FoldedModel - модель, которая будет при спавне энтити (Тип переменной - String)

PlayerBase - база одежды (Тип переменной - String)

CustomCollision - генерация собственной коллизии (Тип переменной - Bool)

Skin - скин используемой модели (Тип переменной - Integer)

Bodygroup - используемая бодигруппа на модели (Тип переменной - Double array)

Bodygroups - список точных значений для установки бодигрупп (Тип переменной - String)

Overlay - оверлей, который будет использоваться при экипировке этой вещи (Тип переменной - Table)

ChangeModelDamage - смена модели в зависимости от оставшегося количества здоровья (Тип переменной - Table)

BoneAttach - использовать систему крепления к одной кости (Тип переменной - Bool)

  • Bone - имя кости для крепления (Тип переменной - String)
  • ScaleModel - размер модели одежды/брони после крепления (Тип переменной - Float)
  • xPos - Позиция по X, относительно центра кости (Тип переменной - Any numeric)
  • yPos - Позиция по Y, относительно центра кости (Тип переменной - Any numeric)
  • zPos - Позиция по Z, относительно центра кости (Тип переменной - Any numeric)
  • xAng - Поворот по X, относительно центра кости (Тип переменной - Any numeric)
  • yAng - Поворот по Y, относительно центра кости (Тип переменной - Any numeric)
  • zAng - Поворот по Z, Относительно центра кости (Тип переменной - Any numeric)

Bonemerge - использовать систему крепления ко всем костям игрока, если они совпадают (Тип переменной - Bool)

TypePut - Условные кости, которые должны быть закрыты при экипировке (Кости задаются в базе) (Тип переменной - Array)

Описание второстепенных параметров:

  • EquipSound - звук при экипировке одежды (Тип переменной - String или Array)
  • UnEquipSound - звук при снятии одежды (Тип переменной - String или Array)
  • WalkSound - звук при ходьбе (Тип переменной - String или Array)
  • RunSound - звук при беге (Тип переменной - String или Array)
  • JumpSound - звук при прыжке (Тип переменной - String или Array)
  • LandingSound - звук при касании с землёй после обычного прыжка (Тип переменной - String или Array)
  • PowerLandingSound - звук при падении с большой высоты (Тип переменной - String или Array)
  • UnderWaterSound - звук под водой (Тип переменной - String или Array)
  • AboveWaterSound - звук над водой (Тип переменной - String или Array)
  • BreathSoundInGasMask - звук дыхания в маске (Тип переменной - String или Array)
  • DamageSoundList - звук при получении урона (Тип переменной - String или Array)
  • RicochetSoundList - звук рикошета (Тип переменной - String или Array)
  • RadiationSound - звук при получении урона от радиации (Тип переменной - String или Array)

TakesDamagePercent - процент получения повреждений, в зависимости от типа урона (Тип переменной - Table)

GasMask - включить или выключить противогаз (Тип переменной - Bool)

RegenerationHealth - кол-во восстанавливаемого HP каждые 2 секунды (Тип переменной - Integer)

Accessory - использовать модель как аксессуар (В этом случае закрытие костей не происходит) или нет (Тип переменной - Bool)

OnlySteamID - список steamid/steamid64, которым дозволено использовать вещь (Тип переменной - String или Array)

OnlyAdmin - могут ли использовать одежду только админы/суперадмины (Тип переменной - Bool)

GroupDress - список групп, которым дозволено использовать вещь (Тип переменной - String или Array)

Функции:

Spawn = function(item) - выполняется при спавне энтити одежды

Equip = function (ply, class, item) - выполняется перед тем, как игрок экипирует одежду. ПРЕДУПРЕЖДЕНИЕ: аргумент item возвращает значение NULL, если игрок надевает вещи автоматически (После подключения к серверу).

Disconnected = function(ply, class) - выполняется перед отключением игрока

Drop = function (ply, class, item) - выполняется после выбрасывания одежды

Death = function(ply, class) - выполняется, когда игрок умирает

Think = function(ply, class) - выполняется каждый тик

Damage = function(ply, class, hitgroup, dmginfo) - выполняется, когда игрок получает урон