From 10ed1a54523fdd5bcddfbccf44dd9c0a15ab8357 Mon Sep 17 00:00:00 2001 From: Scott Date: Sat, 21 May 2016 17:43:47 -0400 Subject: Fixed removing plants bug --- .../entities/weapons/bobs_scoped_base/shared.lua | 461 --------------------- 1 file changed, 461 deletions(-) delete mode 100644 ftp_gmstranded/entities/weapons/bobs_scoped_base/shared.lua (limited to 'ftp_gmstranded/entities/weapons/bobs_scoped_base/shared.lua') diff --git a/ftp_gmstranded/entities/weapons/bobs_scoped_base/shared.lua b/ftp_gmstranded/entities/weapons/bobs_scoped_base/shared.lua deleted file mode 100644 index 762ca4c..0000000 --- a/ftp_gmstranded/entities/weapons/bobs_scoped_base/shared.lua +++ /dev/null @@ -1,461 +0,0 @@ --- Variables that are used on both client and server -SWEP.Category = "" -SWEP.Author = "Generic Default, Worshipper, Clavus, and Bob" -SWEP.Contact = "" -SWEP.Purpose = "" -SWEP.Instructions = "" -SWEP.MuzzleAttachment = "1" -- Should be "1" for CSS models or "muzzle" for hl2 models -SWEP.ShellEjectAttachment = "2" -- Should be "2" for CSS models or "1" for hl2 models -SWEP.DrawCrosshair = true -SWEP.ViewModelFOV = 65 -SWEP.ViewModelFlip = true - -SWEP.Base = "bobs_gun_base" - -SWEP.Spawnable = false -SWEP.AdminSpawnable = false - -SWEP.Primary.Sound = Sound("") -- Sound of the gun -SWEP.Primary.Round = ("") -- What kind of bullet? -SWEP.Primary.RPM = 0 -- This is in Rounds Per Minute -SWEP.Primary.Cone = 0.15 -- Accuracy of NPCs -SWEP.Primary.Recoil = 10 -SWEP.Primary.Damage = 10 -SWEP.Primary.Spread = .01 --define from-the-hip accuracy 1 is terrible, .0001 is exact) -SWEP.Primary.NumShots = 1 -SWEP.Primary.ClipSize = 0 -- Size of a clip -SWEP.Primary.DefaultClip = 0 -- Default number of bullets in a clip -SWEP.Primary.KickUp = 0 -- Maximum up recoil (rise) -SWEP.Primary.KickDown = 0 -- Maximum down recoil (skeet) -SWEP.Primary.KickHorizontal = 0 -- Maximum up recoil (stock) -SWEP.Primary.Automatic = true -- Automatic/Semi Auto -SWEP.Primary.Ammo = "none" -- What kind of ammo - --- SWEP.Secondary.ClipSize = 0 -- Size of a clip --- SWEP.Secondary.DefaultClip = 0 -- Default number of bullets in a clip --- SWEP.Secondary.Automatic = false -- Automatic/Semi Auto if -SWEP.Secondary.Ammo = "" - -SWEP.Secondary.ScopeZoom = 0 -SWEP.Secondary.UseACOG = false -SWEP.Secondary.UseMilDot = false -SWEP.Secondary.UseSVD = false -SWEP.Secondary.UseParabolic = false -SWEP.Secondary.UseElcan = false -SWEP.Secondary.UseGreenDuplex = false - -SWEP.Scoped = true - -SWEP.BoltAction = false - -SWEP.Penetration = true -SWEP.Ricochet = true -SWEP.MaxRicochet = 10 - -SWEP.Tracer = 0 - -SWEP.data = {} -- The starting firemode -SWEP.data.ironsights = 1 -SWEP.ScopeScale = 0.5 -SWEP.ReticleScale = 0.5 -SWEP.IronSightsPos = Vector (2.4537, 1.0923, 0.2696) -SWEP.IronSightsAng = Vector (0.0186, -0.0547, 0) - -function SWEP:Initialize() - self.Weapon:SetNWBool("Reloading", false) - util.PrecacheSound(self.Primary.Sound) - if CLIENT then - - -- We need to get these so we can scale everything to the player's current resolution. - local iScreenWidth = surface.ScreenWidth() - local iScreenHeight = surface.ScreenHeight() - - -- The following code is only slightly riped off from Night Eagle - -- These tables are used to draw things like scopes and crosshairs to the HUD. - -- so DONT GET RID OF IT! - - self.ScopeTable = {} - self.ScopeTable.l = iScreenHeight*self.ScopeScale - self.ScopeTable.x1 = 0.5*(iScreenWidth + self.ScopeTable.l) - self.ScopeTable.y1 = 0.5*(iScreenHeight - self.ScopeTable.l) - self.ScopeTable.x2 = self.ScopeTable.x1 - self.ScopeTable.y2 = 0.5*(iScreenHeight + self.ScopeTable.l) - self.ScopeTable.x3 = 0.5*(iScreenWidth - self.ScopeTable.l) - self.ScopeTable.y3 = self.ScopeTable.y2 - self.ScopeTable.x4 = self.ScopeTable.x3 - self.ScopeTable.y4 = self.ScopeTable.y1 - self.ScopeTable.l = (iScreenHeight + 1)*self.ScopeScale -- I don't know why this works, but it does. - - self.QuadTable = {} - self.QuadTable.x1 = 0 - self.QuadTable.y1 = 0 - self.QuadTable.w1 = iScreenWidth - self.QuadTable.h1 = 0.5*iScreenHeight - self.ScopeTable.l - self.QuadTable.x2 = 0 - self.QuadTable.y2 = 0.5*iScreenHeight + self.ScopeTable.l - self.QuadTable.w2 = self.QuadTable.w1 - self.QuadTable.h2 = self.QuadTable.h1 - self.QuadTable.x3 = 0 - self.QuadTable.y3 = 0 - self.QuadTable.w3 = 0.5*iScreenWidth - self.ScopeTable.l - self.QuadTable.h3 = iScreenHeight - self.QuadTable.x4 = 0.5*iScreenWidth + self.ScopeTable.l - self.QuadTable.y4 = 0 - self.QuadTable.w4 = self.QuadTable.w3 - self.QuadTable.h4 = self.QuadTable.h3 - - self.LensTable = {} - self.LensTable.x = self.QuadTable.w3 - self.LensTable.y = self.QuadTable.h1 - self.LensTable.w = 2*self.ScopeTable.l - self.LensTable.h = 2*self.ScopeTable.l - - self.ReticleTable = {} - self.ReticleTable.wdivider = 3.125 - self.ReticleTable.hdivider = 1.7579/self.ReticleScale -- Draws the texture at 512 when the resolution is 1600x900 - self.ReticleTable.x = (iScreenWidth/2)-((iScreenHeight/self.ReticleTable.hdivider)/2) - self.ReticleTable.y = (iScreenHeight/2)-((iScreenHeight/self.ReticleTable.hdivider)/2) - self.ReticleTable.w = iScreenHeight/self.ReticleTable.hdivider - self.ReticleTable.h = iScreenHeight/self.ReticleTable.hdivider - - self.FilterTable = {} - self.FilterTable.wdivider = 3.125 - self.FilterTable.hdivider = 1.7579/1.35 - self.FilterTable.x = (iScreenWidth/2)-((iScreenHeight/self.FilterTable.hdivider)/2) - self.FilterTable.y = (iScreenHeight/2)-((iScreenHeight/self.FilterTable.hdivider)/2) - self.FilterTable.w = iScreenHeight/self.FilterTable.hdivider - self.FilterTable.h = iScreenHeight/self.FilterTable.hdivider - - - end - if SERVER then - self:SetNPCMinBurst(3) - self:SetNPCMaxBurst(10) - self:SetNPCFireRate(1) - --self:SetCurrentWeaponProficiency( WEAPON_PROFICIENCY_VERY_GOOD ) - end - self:SetHoldType(self.HoldType) - - if CLIENT then - - -- // Create a new table for every weapon instance - self.VElements = table.FullCopy( self.VElements ) - self.WElements = table.FullCopy( self.WElements ) - self.ViewModelBoneMods = table.FullCopy( self.ViewModelBoneMods ) - - self:CreateModels(self.VElements) -- create viewmodels - self:CreateModels(self.WElements) -- create worldmodels - - -- // init view model bone build function - if IsValid(self.Owner) and self.Owner:IsPlayer() then - if self.Owner:Alive() then - local vm = self.Owner:GetViewModel() - if IsValid(vm) then - self:ResetBonePositions(vm) - -- // Init viewmodel visibility - if (self.ShowViewModel == nil or self.ShowViewModel) then - vm:SetColor(Color(255,255,255,255)) - else - -- // however for some reason the view model resets to render mode 0 every frame so we just apply a debug material to prevent it from drawing - vm:SetMaterial("Debug/hsv") - end - end - - end - end - - end - - if CLIENT then - local oldpath = "vgui/hud/name" -- the path goes here - local newpath = string.gsub(oldpath, "name", self.Gun) - self.WepSelectIcon = surface.GetTextureID(newpath) - end - -end - -function SWEP:BoltBack() - if self.Weapon:Clip1() > 0 or self.Owner:GetAmmoCount( self.Weapon:GetPrimaryAmmoType() ) > 0 then - timer.Simple(.25, function() - if SERVER and self.Weapon != nil then - self.Weapon:SetNWBool("Reloading", true) - if self.Weapon:GetClass() == self.Gun then - if(self:GetIronsights() == true) then - self.Owner:SetFOV( 0, 0.3 ) - self:SetIronsights(false) - self.Owner:DrawViewModel(true) - end - local boltactiontime = (self.Owner:GetViewModel():SequenceDuration()) - timer.Simple(boltactiontime + .1, - function() if SERVER and self.Weapon != nil then - self.Weapon:SetNWBool("Reloading", false) - if self.Owner:KeyDown(IN_ATTACK2) and self.Weapon:GetClass() == self.Gun then - self.Owner:SetFOV( 75/self.Secondary.ScopeZoom, 0.15 ) - self.IronSightsPos = self.SightsPos -- Bring it up - self.IronSightsAng = self.SightsAng -- Bring it up - self.DrawCrosshair = false - self:SetIronsights(true, self.Owner) - self.Owner:DrawViewModel(false) - end - end - end) - end - else return end end ) - end -end - -function SWEP:Reload() - - if self.Owner:KeyDown(IN_USE) then return end - - self.Weapon:DefaultReload(ACT_VM_RELOAD) - if !self.Owner:IsNPC() then - self.Idle = CurTime() + self.Owner:GetViewModel():SequenceDuration() end - - if ( self.Weapon:Clip1() < self.Primary.ClipSize ) and !self.Owner:IsNPC() then - -- When the current clip < full clip and the rest of your ammo > 0, then - - self.Owner:SetFOV( 0, 0.3 ) - -- Zoom = 0 - - self:SetIronsights(false) - -- Set the ironsight to false - self.Weapon:SetNWBool("Reloading", true) - if CLIENT then return end - self.Owner:DrawViewModel(true) - end - - local waitdammit - if self.Owner:GetViewModel() == nil then - waitdammit = 3 - else - waitdammit = (self.Owner:GetViewModel():SequenceDuration()) - end - timer.Simple(waitdammit + .1, function() - if self.Weapon != nil then - self.Weapon:SetNWBool("Reloading", false) - if self.Owner:KeyDown(IN_ATTACK2) and self.Weapon:GetClass() == self.Gun then - if CLIENT then return end - self.Owner:SetFOV( 75/self.Secondary.ScopeZoom, 0.15 ) - self.IronSightsPos = self.SightsPos -- Bring it up - self.IronSightsAng = self.SightsAng -- Bring it up - self.DrawCrosshair = false - self:SetIronsights(true, self.Owner) - self.Owner:DrawViewModel(false) - elseif self.Owner:KeyDown(IN_SPEED) and self.Weapon:GetClass() == self.Gun then - if self.Weapon:GetNextPrimaryFire() <= (CurTime()+0.3) then - self.Weapon:SetNextPrimaryFire(CurTime()+0.3) -- Make it so you can't shoot for another quarter second - end - self.IronSightsPos = self.RunSightsPos -- Hold it down - self.IronSightsAng = self.RunSightsAng -- Hold it down - self:SetIronsights(true, self.Owner) -- Set the ironsight true - self.Owner:SetFOV( 0, 0.2 ) - else return end - end end) -end - -function SWEP:PostReloadScopeCheck() - if self.Weapon != nil then - self.Weapon:SetNWBool("Reloading", false) - if self.Owner:KeyDown(IN_ATTACK2) and self.Weapon:GetClass() == self.Gun then - if CLIENT then return end - self.Owner:SetFOV( 75/self.Secondary.ScopeZoom, 0.15 ) - self.IronSightsPos = self.SightsPos -- Bring it up - self.IronSightsAng = self.SightsAng -- Bring it up - self.DrawCrosshair = false - self:SetIronsights(true, self.Owner) - self.Owner:DrawViewModel(false) - elseif self.Owner:KeyDown(IN_SPEED) and self.Weapon:GetClass() == self.Gun then - if self.Weapon:GetNextPrimaryFire() <= (CurTime()+0.3) then - self.Weapon:SetNextPrimaryFire(CurTime()+0.3) -- Make it so you can't shoot for another quarter second - end - self.IronSightsPos = self.RunSightsPos -- Hold it down - self.IronSightsAng = self.RunSightsAng -- Hold it down - self:SetIronsights(true, self.Owner) -- Set the ironsight true - self.Owner:SetFOV( 0, 0.2 ) - else return end - end -end - - -/*--------------------------------------------------------- -IronSight ----------------------------------------------------------*/ -function SWEP:IronSight() - - if not IsValid(self) then return end - if not IsValid(self.Owner) then return end - - if self.SelectiveFire and self.NextFireSelect < CurTime() and not (self.Weapon:GetNWBool("Reloading")) then - if self.Owner:KeyDown(IN_USE) and self.Owner:KeyPressed(IN_RELOAD) then - self:SelectFireMode() - end - end - - if self.Owner:KeyDown(IN_USE) and self.Owner:KeyPressed(IN_ATTACK2) then return end - - if self.Owner:KeyPressed(IN_SPEED) and not (self.Weapon:GetNWBool("Reloading")) then -- If you hold E and you can shoot then - if self.Weapon:GetNextPrimaryFire() <= (CurTime()+0.3) then - self.Weapon:SetNextPrimaryFire(CurTime()+0.3) -- Make it so you can't shoot for another quarter second - end - self.IronSightsPos = self.RunSightsPos -- Hold it down - self.IronSightsAng = self.RunSightsAng -- Hold it down - self:SetIronsights(true, self.Owner) -- Set the ironsight true - self.Owner:SetFOV( 0, 0.2 ) - end - - if self.Owner:KeyDown(IN_SPEED) and not (self.Weapon:GetNWBool("Reloading")) then -- If you hold E or run then - if self.Weapon:GetNextPrimaryFire() <= (CurTime()+0.3) then - self.Weapon:SetNextPrimaryFire(CurTime()+0.3) -- Make it so you can't shoot for another quarter second - end -- Lower the gun - end - - if self.Owner:KeyReleased(IN_USE) || self.Owner:KeyReleased (IN_SPEED) then -- If you release E then - self:SetIronsights(false, self.Owner) -- Set the ironsight true - self.DrawCrosshair = self.XHair - end - - - if self.Owner:KeyPressed(IN_SPEED) || self.Owner:KeyPressed(IN_USE) then -- If you run then - self.Owner:SetFOV( 0, 0.2 ) - self.DrawCrosshair = false - if CLIENT then return end - self.Owner:DrawViewModel(true) - end - - if self.Owner:KeyPressed(IN_ATTACK2) and !self.Owner:KeyDown(IN_SPEED) and not (self.Weapon:GetNWBool("Reloading")) then - self.Owner:SetFOV( 75/self.Secondary.ScopeZoom, 0.15 ) - self.IronSightsPos = self.SightsPos -- Bring it up - self.IronSightsAng = self.SightsAng -- Bring it up - self.DrawCrosshair = false - self:SetIronsights(true, self.Owner) - if CLIENT then return end - self.Owner:DrawViewModel(false) - elseif self.Owner:KeyPressed(IN_ATTACK2) and not (self.Weapon:GetNWBool("Reloading")) and self.Owner:KeyDown(IN_SPEED) then - if self.Weapon:GetNextPrimaryFire() <= (CurTime()+0.3) then - self.Weapon:SetNextPrimaryFire(CurTime()+0.3) -- Make it so you can't shoot for another quarter second - end - self.IronSightsPos = self.RunSightsPos -- Hold it down - self.IronSightsAng = self.RunSightsAng -- Hold it down - self:SetIronsights(true, self.Owner) -- Set the ironsight true - self.Owner:SetFOV( 0, 0.2 ) - end - - if (self.Owner:KeyReleased(IN_ATTACK2) || self.Owner:KeyDown(IN_SPEED)) and !self.Owner:KeyDown(IN_USE) and !self.Owner:KeyDown(IN_SPEED) then - self.Owner:SetFOV( 0, 0.2 ) - self:SetIronsights(false, self.Owner) - self.DrawCrosshair = self.XHair - -- Set the ironsight false - if CLIENT then return end - self.Owner:DrawViewModel(true) - end - - if self.Owner:KeyDown(IN_ATTACK2) and !self.Owner:KeyDown(IN_USE) and !self.Owner:KeyDown(IN_SPEED) then - self.SwayScale = 0.05 - self.BobScale = 0.05 - else - self.SwayScale = 1.0 - self.BobScale = 1.0 - end -end - -function SWEP:DrawHUD() - - - if self.Owner:KeyDown(IN_ATTACK2) and (self:GetIronsights() == true) and (!self.Owner:KeyDown(IN_SPEED) and !self.Owner:KeyDown(IN_USE)) then - - if self.Secondary.UseACOG then - -- Draw the FAKE SCOPE THANG - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_closedsight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - - -- Draw the CHEVRON - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_acogchevron")) - surface.DrawTexturedRect(self.ReticleTable.x, self.ReticleTable.y, self.ReticleTable.w, self.ReticleTable.h) - - -- Draw the ACOG REFERENCE LINES - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_acogcross")) - surface.DrawTexturedRect(self.ReticleTable.x, self.ReticleTable.y, self.ReticleTable.w, self.ReticleTable.h) - end - - if self.Secondary.UseMilDot then - -- Draw the MIL DOT SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_scopesight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - end - - if self.Secondary.UseSVD then - -- Draw the SVD SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_svdsight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - end - - if self.Secondary.UseParabolic then - -- Draw the PARABOLIC SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_parabolicsight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - end - - if self.Secondary.UseElcan then - -- Draw the RETICLE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_elcanreticle")) - surface.DrawTexturedRect(self.ReticleTable.x, self.ReticleTable.y, self.ReticleTable.w, self.ReticleTable.h) - - -- Draw the ELCAN SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_elcansight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - end - - if self.Secondary.UseGreenDuplex then - -- Draw the RETICLE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_nvgilluminatedduplex")) - surface.DrawTexturedRect(self.ReticleTable.x, self.ReticleTable.y, self.ReticleTable.w, self.ReticleTable.h) - - -- Draw the SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_closedsight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - end - - if self.Secondary.UseAimpoint then - -- Draw the RETICLE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/aimpoint")) - surface.DrawTexturedRect(self.ReticleTable.x, self.ReticleTable.y, self.ReticleTable.w, self.ReticleTable.h) - - -- Draw the SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/gdcw_closedsight")) - surface.DrawTexturedRect(self.LensTable.x, self.LensTable.y, self.LensTable.w, self.LensTable.h) - - end - - if self.Secondary.UseMatador then - - -- Draw the SCOPE - surface.SetDrawColor(0, 0, 0, 255) - surface.SetTexture(surface.GetTextureID("scope/rocketscope")) - surface.DrawTexturedRect(self.LensTable.x-1, self.LensTable.y, self.LensTable.w, self.LensTable.h) - - end - - end -end - -function SWEP:AdjustMouseSensitivity() - - if self.Owner:KeyDown(IN_ATTACK2) then - return (1/(self.Secondary.ScopeZoom/2)) - else - return 1 - end -end \ No newline at end of file -- cgit v1.2.3-70-g09d2