TTT | Weapon Dropped and Picked up gives back full ammo & projectile doesn't collide with owner

I’ve been programming a melon gun for a TTT server, and I am having 2 issues:

  1. When you drop and pickup said gun, you get all ammo back

SWEP.Base				= "weapon_tttbase"
SWEP.HoldType			= "rpg"

SWEP.Primary.Delay       = 1
SWEP.Primary.Recoil      = 50
SWEP.Primary.Automatic   = false
--[[
SWEP.Primary.Damage      = 20
SWEP.Primary.Cone        = 0.025
--]]--unneeded for what we're doing
SWEP.Primary.Ammo        = "MELON" --temp
SWEP.Primary.ClipSize    = 2
SWEP.Primary.ClipMax     = 4
SWEP.Primary.DefaultClip = 4
local MainSound          = Sound( "weapons/ar2/fire1.wav" ) --change to a thu-ump! sound
--[[Wont need ironsights
SWEP.IronSightsPos = Vector( 6.05, -5, 2.4 )
SWEP.IronSightsAng = Vector( 2.2, -0.1, 0 )--]]--
--Change VMs later
SWEP.ViewModel  = "models/weapons/v_rpg.mdl"
SWEP.WorldModel = "models/weapons/w_rocket_launcher.mdl"

--TTT SWEP attributes
SWEP.Kind = WEAPON_HEAVY
SWEP.AutoSpawnable = false
SWEP.AmmoEnt = "ttt_melonnade_proj" --temp
SWEP.CanBuy = { ROLE_TRAITOR }
SWEP.InLoadoutFor = nil
SWEP.LimitedStock = false
SWEP.AllowDrop = true
SWEP.IsSilent = false --Make em scream
SWEP.NoSights = true

  1. A projectile fired from a player it doesn’t collide with them because they are the owner


function ENT:Initialize()
   self:SetModel(self.Model)
   self:PhysicsInit(SOLID_VPHYSICS)
   self:SetMoveType(MOVETYPE_VPHYSICS)
   self:SetSolid(SOLID_BBOX)
   self:SetCollisionGroup(COLLISION_GROUP_PROJECTILE)
   self:GetPhysicsObject():SetMass(50)
end



function ENT:StartTouch( ent )
	local dmg = self:GetVelocity():Length() / 15
	if dmg < 15 then
	  if (dmg > 10) then
	  self:EmitSound(SquishSound) end
	return
	end
	if ent:IsPlayer() then
		ent.lastDamages = ent.lastDamage or {}
		if CurTime( ) > ( ent.lastDamages[self] or 0 ) + 0.5 then
			ent.lastDamages[self] = CurTime( )
		end
		
		local dmgInfo = DamageInfo( )
		dmgInfo:SetDamage( dmg )
		dmgInfo:SetDamageType(DMG_GENERIC)
		dmgInfo:SetAttacker( self.attacker )
		dmgInfo:SetInflictor( self.attacker:GetActiveWeapon( ) )
		dmgInfo:SetDamageForce( Vector( self:GetVelocity()) )
		ent:TakeDamageInfo( dmgInfo )
	end
end

Show us the code for where you declare the melon ammo type

ENT.Base = “base_ammo_ttt”
ENT.Type = “anim”
ENT.AmmoType = “MELON”
ENT.AmmoAmount = 1
ENT.AmmoMax = 1
ENT.Model = Model(“models/props_junk/watermelon01.mdl”)
ENT.AutoSpawnable = false
SquishSound = Sound(“physics/flesh/flesh_impact_hard4.wav”)

Okay, that’s your issue. You need to use SetClip1 manually in your primary fire instead of using an ammo type, since you’re not using bullets.

What? I changed out the take primary ammo for SetClip1 and nothing was changed, can you be a little less vague?