--[[ | 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