• problem with a custom SWEP weapon
    2 replies, posted
im trying to make a custom sniper just for fun. i have set function SWEP:ShouldDropOnDie to false yet it still drop when i die and i cant find out why if anyone can please find why i would highly appreciate it: AddCSLuaFile() SWEP.HoldType = "ar2" if CLIENT then SWEP.PrintName = "vice's sniper" SWEP.Slot = 8 SWEP.ViewModelFlip = false SWEP.ViewModelFOV = 54 SWEP.Icon = "vgui/ttt/icon_scout" SWEP.IconLetter = "n" end SWEP.Base = "weapon_tttbase" SWEP.Kind = WEAPON_HEAVY SWEP.WeaponID = AMMO_RIFLE SWEP.AllowDelete = true SWEP.AllowDrop = false SWEP.Primary.Delay = 0.20 SWEP.Primary.Recoil = 0.1 SWEP.Primary.Automatic = true SWEP.Primary.Ammo = "357" SWEP.Primary.Damage = 1337 SWEP.Primary.Cone = 0.005 SWEP.Primary.ClipSize = 30 SWEP.Primary.ClipMax = 100 -- keep mirrored to ammo SWEP.Primary.DefaultClip = 100 SWEP.Primary.Sound = Sound("Weapon_Scout.Single") SWEP.Secondary.Sound = Sound("Default.Zoom") SWEP.HeadshotMultiplier = 4 SWEP.AutoSpawnable = false SWEP.Spawnable = true SWEP.AmmoEnt = "item_ammo_357_ttt" SWEP.UseHands = true SWEP.ViewModel = Model("models/weapons/cstrike/c_snip_scout.mdl") SWEP.WorldModel = Model("models/weapons/w_snip_scout.mdl") SWEP.IronSightsPos = Vector( 5, -15, -2 ) SWEP.IronSightsAng = Vector( 2.6, 1.37, 3.5 ) function SWEP:SetZoom(state) if CLIENT then return elseif IsValid(self.Owner) and self.Owner:IsPlayer() then if state then self.Owner:SetFOV(20, 0.3) else self.Owner:SetFOV(0, 0.2) end end end function SWEP:PrimaryAttack( worldsnd ) self.BaseClass.PrimaryAttack( self.Weapon, worldsnd ) self:SetNextSecondaryFire( CurTime() + 0.1 ) end -- Add some zoom to ironsights for this gun function SWEP:SecondaryAttack() if not self.IronSightsPos then return end if self:GetNextSecondaryFire() > CurTime() then return end local bIronsights = not self:GetIronsights() self:SetIronsights( bIronsights ) if SERVER then self:SetZoom(bIronsights) else self:EmitSound(self.Secondary.Sound) end self:SetNextSecondaryFire( CurTime() + 0.3) end function SWEP:PreDrop() self:SetZoom(false) self:SetIronsights(false) return self.BaseClass.PreDrop(self) end function SWEP:Reload() if ( self:Clip1() == self.Primary.ClipSize or self.Owner:GetAmmoCount( self.Primary.Ammo ) <= 0 ) then return end self:DefaultReload( ACT_VM_RELOAD ) self:SetIronsights( false ) self:SetZoom( false ) end function SWEP:Holster() self:SetIronsights(false) self:SetZoom(false) return true end if CLIENT then local scope = surface.GetTextureID("sprites/scope") function SWEP:DrawHUD() if self:GetIronsights() then surface.SetDrawColor( 0, 0, 0, 255 ) local scrW = ScrW() local scrH = ScrH() local x = scrW / 2.0 local y = scrH / 2.0 local scope_size = scrH -- crosshair local gap = 80 local length = scope_size surface.DrawLine( x - length, y, x - gap, y ) surface.DrawLine( x + length, y, x + gap, y ) surface.DrawLine( x, y - length, x, y - gap ) surface.DrawLine( x, y + length, x, y + gap ) gap = 0 length = 50 surface.DrawLine( x - length, y, x - gap, y ) surface.DrawLine( x + length, y, x + gap, y ) surface.DrawLine( x, y - length, x, y - gap ) surface.DrawLine( x, y + length, x, y + gap ) -- cover edges local sh = scope_size / 2 local w = (x - sh) + 2 surface.DrawRect(0, 0, w, scope_size) surface.DrawRect(x + sh - 2, 0, w, scope_size) -- cover gaps on top and bottom of screen surface.DrawLine( 0, 0, scrW, 0 ) surface.DrawLine( 0, scrH - 1, scrW, scrH - 1 ) surface.SetDrawColor(255, 0, 0, 255) surface.DrawLine(x, y, x + 1, y + 1) -- scope surface.SetTexture(scope) surface.SetDrawColor(255, 255, 255, 255) surface.DrawTexturedRectRotated(x, y, scope_size, scope_size, 0) else return self.BaseClass.DrawHUD(self) end end function SWEP:AdjustMouseSensitivity() return (self:GetIronsights() and 0.2) or nil end end function SWEP:ShouldDropOnDie() return false end
I believe TTT has its own built-in weapon dropping system.
[QUOTE=code_gs;51262935]I believe TTT has its own built-in weapon dropping system.[/QUOTE] thanks i googled it specifically for ttt now and found this and it works: SWEP.AllowDelete = false SWEP.AllowDrop = false function SWEP:OnDrop() self:Remove() end
Sorry, you need to Log In to post a reply to this thread.