If you're using the pointshop made by _Undefined, there's already a variable being set for the model before setting the custom one.
Open up weaponry.lua and replace lines 427 - 437 with the following:
local function SetDisguise(ply, cmd, args)
if not ValidEntity(ply) or not ply:IsActiveTraitor() then return end
if ply:HasEquipmentItem(EQUIP_DISGUISE) then
local state = #args == 1 and tobool(args)
if ply._OldModel then
local old = ply._OldModel
ply._OldModel = ply:GetModel()
LANG.Msg(ply, state and "disg_turned_on" or "disg_turned_off")
Untested, but should work.