Как сделать SWEP который делает тебя невидимым?

Как сделать SWEP который делает тебя невидимым по нажатию левой кнопки на 2 минуты с кд на использования 5мин?

Примерно так:

/*==============
   SH-ЧАСТЬ
================*/

if CLIENT then
   SWEP.PrintName = "Пример"
   SWEP.Author = ""
   SWEP.Purpose = ""
   SWEP.Instructions = ""
   SWEP.Slot = 1
   SWEP.SlotPos = 4
   SWEP.DrawAmmo = true
   SWEP.DrawCrosshair = false
   SWEP.ViewModelFOV = 48
   SWEP.ViewModelFlip = false
end

SWEP.ViewModel = "models/weapons/v_pistol.mdl"
SWEP.WorldModel = "models/weapons/w_pistol.mdl"
SWEP.Category			= "Пример"
SWEP.HoldType			= "pistol" -- Если без рук, то normal
SWEP.Spawnable			= false
SWEP.AdminOnly			= true
SWEP.FiresUnderwater		= true
SWEP.UseHands = true

SWEP.Primary.ClipSize			= -1
SWEP.Primary.DefaultClip		= -1
SWEP.Primary.Automatic			= false
SWEP.Primary.Ammo			= "none"
SWEP.Primary.Delay			= 300 -- Задержка 5 минут
SWEP.Primary.Recoil			= 0
SWEP.Primary.Spread			= 0
SWEP.Primary.Force			= 0
SWEP.Primary.Damage			= 0
SWEP.Primary.NumberofShots		= 0

SWEP.Secondary.Ammo	= "none"

function SWEP:Initialize()
   self:SetWeaponHoldType(self.HoldType)
end

-- ЛКМ
function SWEP:PrimaryAttack()
   if ( !self:CanPrimaryAttack() ) then return end

   if (SERVER) then
      local owner = self:GetOwner()

      if (timer.Exists("OnInvis_" .. owner:SteamID64())) then return end
         -- Делаем игрока невидимым и не восприимчевым к НПС(они его не видят)
         owner:SetNoDraw(true)
         owner:SetNotSolid(true)
         owner:DrawWorldModel(false)
         owner:DrawShadow(false)
         owner:SetNoTarget(true)
      -- Создаем таймер на 2 минуты, чтобы сбросить невидимость
      timer.Create("OnInvis_" .. owner:SteamID64(), 120, 1, function()
         if (!IsValid(owner)) then return end
         owner:SetNoDraw(false)
         owner:SetNotSolid(false)
         owner:DrawWorldModel(true)
         owner:DrawShadow(true)
         owner:SetNoTarget(false)
      end)

   end

   self:SetNextPrimaryFire( CurTime() + self.Primary.Delay ) -- кликнуть ещё раз, можно через 5 минут
   self:SetNextSecondaryFire( CurTime() + self.Primary.Delay )
end

-- ПКМ
function SWEP:SecondaryAttack()
end

weapon_example.lua (2,2 КБ)
Дальше думаю ты сам справишься?

Спасибо ты лучший

Если я не ошибаюсь это надо делать аддон?
lua/weapons/ и этот скрипт же?

Я просто в первый раз делаю аддон

:+1:. Подумай логически, если не сделать аддоном, то как оно тогда будет работать?

Я понял всё получилось но есть одно но
Как сделать так чтобы писало что ты в клоке?


:face_with_raised_eyebrow: С помощью сетевых переменных. Вот-так:

-- В SV части
-- 1) Когда делаешь игрока невидимым
owner:SetNWBool("isCloacked", true)
-- 2) В таймере, когда снимается невидимость
owner:SetNWBool("isCloacked", false)

Потом используешь данные сетевые переменные в Клиентской части
Использовать их по типу такого:

-- CL часть
-- В худе
local cloackStatus = LocalPlayer():GetNWBool("isCloacked", false)
if cloackStatus then
    -- Здесь пишешь свой код с текстом
end

(сообщение удалено автором)

Может потому что ты end забыл?

я уже понял


ничего не появляется

Чтобы у тебя было меньше вопросов и хоть какое-то понимание как это все работает, поизучай видео-ролики и вики

===== Хотябы их посмотри ======

  1. Erigitic
  2. DanFMN
  3. Code Blue

Я чекнул но я не понял как сделать в hudду чтобы показывалось я чекнул Wiki

Проверь что у тебя применяются изменения в файле со свепом. Сделай print в свободном месте, вне функции и сохрани файл. Если ничего не выведет, значит перезагрузи сервер

image

image

image

И что я должен понять из того что ты скинул? Работает?

давай ты через дискорд? Так проще для тебя и меня

Давай

gariosxx