Changing Playermodel

Im working on a modified cakecript and Id like to create a sort of disguise, is there any way I can change a players model in a function?

ply:SetModel(“Model/path.mdl”)

ply:SetModel(“Model/path.mdl”) or self:SetModel(“Model/path.mdl”) ?

Thanks

Here is an example item…

ITEM.Name = “Clothing Example”;
ITEM.Class = “c_example”;
ITEM.Description = “An example clothing object”;
ITEM.Model = “model path here.”;
ITEM.Purchaseable = true;
ITEM.Price = 1;
ITEM.ItemGroup = 1;

function ITEM:Drop(ply)

end

function ITEM:Pickup(ply)

self:Remove();

end

function ITEM:UseItem(ply)

local Data = {}
Data[1] = 600 – That will divide damage received by 50%
Data[2] = “You just put on the example clothing!” – That will send them a message on use.
ply:SetModel(“Your/model/path/here.mdl”);
ply:SetArmor( Data[1] );
CAKE.SendChat( Data[2] );
self:Remove();

end

Thanks.