function help 2

Alright what I am trying to do is when a function is true and you have a certain steamid then your model will change, otherwise it will give you your job model.

Here is what I have but for some reason it will give the zombie model to everyone.


function ToggleCM(ply)
    if not ply.ToggleCM then

    ply.ToggleCM = true
	ply:ChatPrint("Custom Model Enabled")
    else
    ply:ChatPrint("Custom Model Disabled")
	ply.ToggleCM = false
		end
    end
concommand.Add( "togglecm", ToggleCM )

function GM:PlayerSetModel(ply)
	if ply.ToggleCM == true then
	if ply:SteamID() == "STEAM_0:1:15555555" then
	ply:SetModel("models/player/classic.mdl")
	end
end

	local EndModel = ""
	if GetConVarNumber("enforceplayermodel") == 1 then
		for k,v in pairs(RPExtraTeams) do
			if ply:Team() == k then
				if type(v.model) == "table" then
					local ChosenModel = ply.rpChosenModel or ply:GetInfo("rp_playermodel")
					ChosenModel = string.lower(ChosenModel)
					
					local found
					for _,Models in pairs(v.model) do
						if ChosenModel == string.lower(Models) then
							EndModel = Models
							found = true
							break
						end
					end
					
					if not found then
						EndModel = v.model[math.random(#v.model)]
					end
				else
					EndModel = v.model
				end
				break
			end
		end
    
		util.PrecacheModel(EndModel)
		ply:SetModel(EndModel)
	 
	else
		local cl_playermodel = ply:GetInfo( "cl_playermodel" )
        local modelname = player_manager.TranslatePlayerModel( cl_playermodel )
        util.PrecacheModel( modelname )
        ply:SetModel( modelname )
		end
    end