mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
Upload
This commit is contained in:
71
lua/weapons/weapon_vj_flaregun/shared.lua
Normal file
71
lua/weapons/weapon_vj_flaregun/shared.lua
Normal file
@@ -0,0 +1,71 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
if (!file.Exists("autorun/vj_base_autorun.lua","LUA")) then return end
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SWEP.Base = "weapon_vj_base"
|
||||
SWEP.PrintName = "Flare Gun"
|
||||
SWEP.Author = "DrVrej"
|
||||
SWEP.Contact = "http://steamcommunity.com/groups/vrejgaming"
|
||||
SWEP.Purpose = "This weapon is made for Players and NPCs"
|
||||
SWEP.Instructions = "Controls are like a regular weapon."
|
||||
SWEP.Category = "VJ Base"
|
||||
-- Client Settings ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
if CLIENT then
|
||||
SWEP.Slot = 1 -- Which weapon slot you want your SWEP to be in? (1 2 3 4 5 6)
|
||||
SWEP.SlotPos = 1 -- Which part of that slot do you want the SWEP to be in? (1 2 3 4 5 6)
|
||||
SWEP.SwayScale = 4 -- Default is 1, The scale of the viewmodel sway
|
||||
SWEP.UseHands = true
|
||||
end
|
||||
-- NPC Settings ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SWEP.NPC_NextPrimaryFire = 0.9 -- Next time it can use primary fires
|
||||
-- Main Settings ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SWEP.ViewModel = "models/vj_weapons/v_flaregun.mdl"
|
||||
SWEP.WorldModel = "models/vj_weapons/w_flaregun.mdl"
|
||||
SWEP.HoldType = "revolver"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.AdminSpawnable = false
|
||||
-- Primary Fire ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SWEP.Primary.Damage = 20 -- Damage
|
||||
SWEP.Primary.Force = 1 -- Force applied on the object the bullet hits
|
||||
SWEP.Primary.ClipSize = 1 -- Max amount of bullets per clip
|
||||
SWEP.Primary.Recoil = 2 -- How much recoil does the player get?
|
||||
SWEP.Primary.Delay = 0.2 -- Time until it can shoot again
|
||||
SWEP.Primary.Automatic = false -- Is it automatic?
|
||||
SWEP.Primary.Ammo = "357" -- Ammo type
|
||||
SWEP.Primary.Sound = {"vj_weapons/flare/fire.wav"}
|
||||
SWEP.Primary.DistantSound = {"vj_weapons/flare/fire_dist.wav"}
|
||||
//SWEP.Primary.DistantSoundVolume = 0.25 -- Distant sound volume
|
||||
SWEP.PrimaryEffects_MuzzleParticles = {"vj_rifle_smoke","vj_rifle_smoke_dark","vj_rifle_smoke_flash","vj_rifle_sparks2"}
|
||||
SWEP.PrimaryEffects_MuzzleParticlesAsOne = true -- If set to true, the base will spawn all the given particles instead of picking one
|
||||
SWEP.Primary.DisableBulletCode = true -- The bullet won't spawn, this can be used when creating a projectile-based weapon
|
||||
SWEP.PrimaryEffects_MuzzleAttachment = 1
|
||||
SWEP.PrimaryEffects_SpawnShells = false
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
function SWEP:CustomOnPrimaryAttack_BeforeShoot()
|
||||
if CLIENT then return end
|
||||
local proj = ents.Create("obj_vj_flareround")
|
||||
local ply_Ang = self:GetOwner():GetAimVector():Angle()
|
||||
local ply_Pos = self:GetOwner():GetShootPos()
|
||||
if self:GetOwner():IsPlayer() then proj:SetPos(ply_Pos) else proj:SetPos(self:GetNW2Vector("VJ_CurBulletPos")) end
|
||||
if self:GetOwner():IsPlayer() then proj:SetAngles(ply_Ang) else proj:SetAngles(self:GetOwner():GetAngles()) end
|
||||
proj:SetOwner(self:GetOwner())
|
||||
proj:Activate()
|
||||
proj:Spawn()
|
||||
|
||||
local phys = proj:GetPhysicsObject()
|
||||
if IsValid(phys) then
|
||||
if self:GetOwner():IsPlayer() then
|
||||
phys:SetVelocity(self:GetOwner():GetAimVector() * 15000)
|
||||
else
|
||||
phys:SetVelocity(self:GetOwner():CalculateProjectile("Line", self:GetNW2Vector("VJ_CurBulletPos"), self:GetOwner():GetEnemy():GetPos() + self:GetOwner():GetEnemy():OBBCenter(), 15000))
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user