Garry's Mod Wiki

Custom SpawnMenu

How do I make my own SpawnMenu?

This requires, at a minimum, accessing all added tabs. You can do this like this:

for k, v in SortedPairsByMemberValue( spawnmenu.GetCreationTabs(), "Order" ) do PrintTable( v ) print( k ) -- The tab name end

Example

local menu = vgui.Create( "DFrame" ) menu:SetSize( 1000, 550 ) menu:Center() menu:MakePopup() local sheet = vgui.Create( "DPropertySheet", menu ) sheet:Dock( FILL ) for k, v in SortedPairsByMemberValue( spawnmenu.GetCreationTabs(), "Order" ) do local panel = v.Function() panel:SetParent( sheet ) sheet:AddSheet( k, panel, v.Icon ) end
Output:

Next you need to access the Tool part:

for _, tool in ipairs( spawnmenu.GetTools() ) do for _, category in ipairs( tool.Items ) do print( category.Text ) -- Category name for _, item in ipairs( category ) do print( item.Text ) -- Name of the tool itself end end end

The most difficult thing has already been done, it remains only to substitute the VGUI part to these schemes and enjoy your SpawnMenu.

Example of custom work: FreSpawnmenu