Class select menu not appearing

I’ve been having this problem with a fretta gamemode I’ve been working on for a while. It seems while I was making all this I managed to do something that messed up class selection. The classes load because when I join a team it puts me to a class for that team but when I click class selection all that happens is the fretta menu closes.

shared.lua
[lua] DeriveGamemode( “fretta” )
IncludePlayerClasses()

GM.TeamBased = true
GM.AllowAutoTeam = true
GM.AllowSpectating = true
GM.SecondsBetweenTeamSwitches = 100
GM.GameLength = 25
GM.RoundLimit = 2
GM.VotingDelay = 5

GM.NoPlayerSuicide = false
GM.NoPlayerDamage = false
GM.NoPlayerSelfDamage = false
GM.NoPlayerTeamDamage = false
GM.NoPlayerPlayerDamage = false
GM.NoNonPlayerPlayerDamage = false
GM.NoPlayerFootsteps = false
GM.PlayerCanNoClip = false
GM.TakeFragOnSuicide = true

GM.MaximumDeathLength = 50
GM.MinimumDeathLength = 10
GM.AutomaticTeamBalance = false
GM.ForceJoinBalancedTeams = false
GM.RealisticFallDamage = true
GM.AddFragsToTeamScore = true

GM.NoAutomaticSpawning = false
GM.RoundBased = true
GM.RoundLength = 900
GM.RoundPreStartTime = 5
GM.RoundPostLength = 5
GM.RoundEndsWhenOneTeamAlive = false

GM.EnableFreezeCam = false
GM.DeathLingerTime = 0

GM.SelectModel = false
GM.SelectColor = false

GM.PlayerRingSize = 5
GM.HudSkin = “SimpleSkin”

GM.ValidSpectatorModes = { OBS_MODE_CHASE }
GM.ValidSpectatorEntities = { “player” }
GM.CanOnlySpectateOwnTeam = true

TEAM_ROFL = 1
TEAM_LOL = 2

function GM:CreateTeams()

if ( !GAMEMODE.TeamBased ) then return end

team.SetUp( TEAM_ROFL, "Allies", Color( 102, 250, 10 ), true ) 
team.SetSpawnPoint( TEAM_ROFL, { "info_player_counterterrorist", "info_player_combine", "info_player_deathmatch" } )
team.SetClass( TEAM_ROFL, { "Rifleman1", "Marksman1", "Support1", "Anti-Vehicle1", "Command" } )

team.SetUp( TEAM_LOL, "Central Powers", Color( 255, 153, 0 ), true ) 
team.SetSpawnPoint( TEAM_LOL, { "info_player_start", "info_player_terrorist", "info_player_rebel" } )
team.SetClass( TEAM_LOL, { "Rifleman2", "Marksman2", "Support2", "Anti-Vehicle2", "Command" } ) 

team.SetUp( TEAM_SPECTATOR, "Spectators", Color( 200, 200, 200 ), false )
team.SetSpawnPoint( TEAM_SPECTATOR, { "info_player_start", "info_player_terrorist", "info_player_counterterrorist", "info_player_combine", "info_player_rebel" } ) 

end [/lua]

One of the classes, all of the classes are in the same format.
[lua]
local CLASS ={}
CLASS.Base = “main”
CLASS.DisplayName = “Serbian Rifleman”
CLASS.Description = “”
CLASS.PlayerModel = “models/player/Group03/male_08.mdl”
CLASS.Selectable = true

function CLASS:Loadout( pl )

pl:Give( "weapon_crossbow" )  // Place Holder, remember to change it
pl:GiveAmmo( 10, "XBowBolt" )
pl:Give( "weapon_pistol" )
pl:GiveAmmo( 75, "pistol" )

end

player_class.Register( “Marksman1”, CLASS )
[/lua]

[editline]12:45AM[/editline]

Also after I’ve ran the gamemode many times I’ve found out that the class it picks appears to be completely random.