Swep world model change

Hi FacePunch. Recently I create swep, that change self world model, but it can see only I, other players see standart world model, all players get network strings.



function SWEP:PreModel()
	if CLIENT then
		local tp, mdl = self.Owner:GetNWInt("GPMD")
		if tp == 1 then
			mdl = Model("models/weapons/w_stunbaton.mdl")
		elseif tp == 2 then
			mdl = Model("models/weapons/w_medkit.mdl")
		elseif tp == -1 then
			mdl = Model("models/weapons/w_knife_t.mdl")
		else
			mdl = Model("models/weapons/w_pistol.mdl")
		end
		self.WorldModel = mdl
		self.LastChange = tp
	end
	if SERVER then
		local tp, mdl = self.Owner.GPMD
		if tp == 1 then
			mdl = Model("models/weapons/w_stunbaton.mdl")
		elseif tp == 2 then
			mdl = Model("models/weapons/w_medkit.mdl")
		elseif tp == -1 then
			mdl = Model("models/weapons/w_knife_t.mdl")
		else
			mdl = Model("models/weapons/w_pistol.mdl")
		end
		self.WorldModel = mdl
		self.LastChange = tp
	end
end

function SWEP:Deploy()
	if IsValid(self.Owner) then
		self:PreModel()
	end
end

function SWEP:Think()
	if IsValid(self.Owner) then
		if SERVER and self.Owner.GPMD ~= self.LastChange then
			self:PreModel()
		end
		if CLIENT and self.Owner:GetNWInt("GPMD")~= self.LastChange then
			self:PreModel()
		end
	end
end