Or you could teleport and pin him under ground, and then set his viewpoint to his previous position.
'course then he would actually BE there, so bullets and stuff wouldn't collide.
The scale script is your best bet, as that doesn't mess with collision.
Code:
function Update(self)
i = 1;
while i < MovableMan:GetMOIDCount() do
if MovableMan:GetMOFromID(i).RootID == ActivityMan:GetActivity():GetControlledActor(0).ID and ActivityMan:GetActivity():GetControlledActor(0):GetController():IsState(Controller.BODY_CROUCH) then
MovableMan:GetMOFromID(i).Scale = 0;
elseif MovableMan:GetMOFromID(i).RootID == ActivityMan:GetActivity():GetControlledActor(0).ID and not ActivityMan:GetActivity():GetControlledActor(0):GetController():IsState(Controller.BODY_CROUCH)
MovableMan:GetMOFromID(i).Scale = 1;
end
i = i + 1
end
end
This is the basic actor code for camo. Crouch makes it camo. It might not work (probably doesn't work) so you'll have to fix it yourself.