Just need someone to help with a code error...

Hello everyone!
I am new to the forums and have tried to post in the right place :zoid:
I am not asking people how to make a game mode, but finding an error i have.
Basically, it is a game mode in which you can choose out of five classes with a menu, which has been having issues.
When clicked, it claims that the command is unknown, so, yeah.
I have the folder structure like this: garrysmod/garrysmod/gamemodes/zmod
under zmod i have zmod/gamemode/ which contains all the inits and the shared.lua
under the other folders like content and entities which are empty.
I have however, been making the menu give the player CSS content, which i have, like if the player chooses class one, they get a five seven and X ammo.
I am trying to give you as much clarity, i am sorry it is like a horrific wall of text :frowning:

Shared.lua:

GM.Name = “Zmod” //Set the gamemode name
GM.Author = “Dark_matter99” //Set the author name
GM.Email = “bluebanshee@ymail.com” //Set the author email
GM.Website = “www.youtube.com/bluebansh3e” //Set the author website

team.SetUp( 1, “Runner”, Color( 125, 125, 125, 255 ) )

team.SetUp( 2, “Assault”, Color( 225, 225, 0 , 225 ) )

team.SetUp( 3, “CQC”, Color( 100, 100, 100, 255 ) )

team.SetUp( 4, “Bandit”, Color( 0, 255, 255, 255 ) )

team.SetUp( 5, “Admin”, Color( 0, 255, 0, 0 ) )

init.lua:
AddCSLuaFile( “cl_init.lua” ) //Tell the server that the client need to download cl_init.lua
AddCSLuaFile( “shared.lua” ) //Tell the server that the client need to download shared.lua

include( ‘shared.lua’ ) //Tell the server to load shared.lua

function GM:PlayerInitialSpawn( ply ) //“When the player first joins the server and spawns” function

 ply:ConCommand( "team_menu" ) //Run the console command when the player first spawns 

end //End the “when player first joins server and spawn” function

function GM:PlayerLoadout(ply) --“The weapons/items that the player spawns with” function

ply:StripWeapons() -- This command strips all weapons from the player.

if ply:Team() == 1 then --If the player is on team "Guest"...
	ply:Give("glock") -- ...then give them the Glock.
end -- This ends the if/elseif.

end – This ends the function.

function team_1( ply )

ply:SetTeam( 1 ) //Make the player join team 1 
 ply:Spawn()

end

function team_2( ply )

ply:SetTeam( 2 )
ply:Spawn()
end

function team_3( ply )

ply:SetTeam( 3 ) //Make the player join team 3 
ply:Spawn()

end

function team_4( ply )

ply:SetTeam( 4 ) //Make the player join team 4 
ply:Spawn()

end

function team_5( ply )

ply:SetTeam( 5 ) //Make the player join team 5 
ply:Spawn()

end

–And after the two previous console commands add

function GM:PlayerLoadout( ply )

if ply:Team() == 1 then

ply:Give( "weapon_fiveseven" ) --Give the player the Gravity Gun
ply:SetModel( "models/player/male7.mdl" ) --Set the players model
ply:GiveAmmo( 25 "pistol" ) --Give them 5 battries

elseif ply:Team() == 2 then

ply:Give( "weapon_m4a1" )
ply:GiveAmmo( 180, "ar2" )
ply:SetModel( "models/player/riot.mdl" )

elseif ply:Team() == 3 then

ply:Give( "weapon_m3" )
ply:GiveAmmo( 180, "buckshot" ) --Give the player 180 pistol rounds
ply:SetModel( "models/player/police.mdl" )

elseif ply:Team() == 4 then

ply:Give( "weapon_usp" )
ply:GiveAmmo( 32, "pistol" )
ply:SetModel( "models/player/phoenix.mdl" )

elseif ply:Team() == 5 then

ply:Give( "weapon_fiveseven" )
ply:Give( "weapon_m3" )
ply:GiveAmmo( 32, "buckshot" )
ply:GiveAmmo( 32, "pistol" )
ply:SetModel( "models/player/swat.mdl" )

end

end

function GM:PlayerSelectSpawn( ply ) --Make a team select a spawn and randomize where they spawn

local spawns = ents.FindByClass( “info_player_start” ) --Make so that we can use spawns instead of info_player_start (they will do the same things)
local random = math.random(spawns) --Random spawn of the info_player_start

if ply:Team() == 1 --If player is in team 1
then

spawns[random] --Make them always spawn from a random point of this class

end --End if condition

end --End the function

if ply:Team() == 2 --If player is in team 1
then

spawns[random] --Make them always spawn from a random point of this class

end --End if condition

if ply:Team() == 3 --If player is in team 1
then

spawns[random] --Make them always spawn from a random point of this class

end --End if condition

if ply:Team() == 4 --If player is in team 1
then

spawns[random] --Make them always spawn from a random point of this class

end --End if condition

if ply:Team() == 5 --If player is in team 1
then

spawns[random] --Make them always spawn from a random point of this class

end --End if condition

end --End the function

concommand.Add( “team_1”, team_1 )
concommand.Add( “team_2”, team_2 )
concommand.Add( “team_3”, team_3 ) //Add the command to set the players team to team 3
concommand.Add( “team_4”, team_4 ) //Add the command to set the players team to team 4
concommand.Add( “team_5”, team_5 )

cl_init.lua:

function set_team()

local frame = vgui.Create( “DFrame” )
frame:SetPos( ScrW() / 2, ScrH() / 2 ) --Set the window in the middle of the players screen/game window
frame:SetSize( 400, 400 ) --Set the size
frame:SetTitle( “Change Team” ) --Set title
frame:SetVisible( true )
frame:SetDraggable( false )
frame:ShowCloseButton( true )
frame:MakePopup()

–Add the buttons
team_1 = vgui.Create( “DButton”, frame )
team_1:SetPos( frame:GetTall() / 100, 50 ) --Place it half way on the tall and 5 units in horizontal
team_1:SetSize( 50, 50 )
team_1:SetText( “Team 1” )
team_1.DoClick = function() --Make the player join team 1
RunConsoleCommand( “team_1” )
end

team_2 = vgui.Create( “DButton”, frame )
team_2:SetPos( frame:GetTall() / 100, 100 ) --Place it next to our previous one
team_2:SetSize( 50, 50 )
team_2:SetText( “Team 2” )
team_2.DoClick = function() --Make the player join team 2
RunConsoleCommand( “team_2” )
end

team_3 = vgui.Create( “DButton”, frame )
team_3:SetPos( 50, 50 ) //Place it next to our previous one
team_3:SetSize( 50, 50 )
team_3:SetText( “Team 3” )
team_3.DoClick = function() //Make the player join team 3
RunConsoleCommand( “team_3” )
end

team_4 = vgui.Create( “DButton”, frame )
team_4:SetPos( 50, 100 ) //Place it next to our previous one
team_4:SetSize( 50, 50 )
team_4:SetText( “Team 4” )
team_4.DoClick = function() //Make the player join team 4
RunConsoleCommand( “team_4” )
end

team_5 = vgui.Create( “DButton”, frame )
team_5:SetPos( 25, 50 ) //Place it next to our previous one
team_5:SetSize( 50, 50 )
team_5:SetText( “Team 5” )
team_5.DoClick = function() //Make the player join team 4
RunConsoleCommand( “team_5” )
end

end
concommand.Add( “team_menu”, set_team )

Thanks guys! Sorry for the inconvenience X-)

Are there any lua errors being printed?

You have two Player Loadout Hooks choose either or then delete the one you don’t need.