SWEP Color Changing & Weapon Changing

I have two questions:

How would I go about changing a player’s color but not having their model black?
Right now I have: self.Owner:SetColor( 0, 0, 0, 0 ) for being invisible and self.Owner:SetColor( 0, 0, 0, 255 ) for making them return visible.

How would I go about checking if the player changes weapons?

You can use _R.Entity:DrawModel(bool) because player is a child of entity, and you could get the players weapon and compare

Do you mean something like this?
[lua]
self.Owner:DrawModel( false ) – To hide the player
self:DrawModel( false ) – To hide the weapon

self.Owner:DrawModel( true ) – Reveal the player
self:DrawModel( true ) – Reveal the weapon
[/lua]

I only need to check if he changes weapons from the SWEP that hides him. Would what you say work in the SWEP? If so, here’s my idea…

[lua]
function SWEP:Initialize()
timer.Simple( 1, function()
if self.Owner:GetWeapon() != CurrentWep then
–uncloak crap here
end
end )
end
[/lua]

[lua]function SWEP:Holster()
–Uncloak
end[/lua]

DERP. Okay thanks. Do you know about the DrawModel thing?

Your model was going black because it had no color ( 0,0,0 ) , where as to add color you need to use ( 255,255,255).