Garry's Mod Wiki

Revision Difference

GM:PlayerInitialSpawn#511125

<function name="PlayerInitialSpawn" parent="GM" type="hook">⤶ <ishook>yes</ishook>⤶ <description>⤶ Called when the player spawns for the first time.⤶ ⤶ See <page>GM:PlayerSpawn</page> for a hook called every player spawn.⤶ ⤶ <note>This hook is called before the player has fully loaded, when the player is still in seeing the "Starting Lua" screen. For example, trying to use the <page>Entity:GetModel</page> function will return the default model ("player/default.mdl")</note>⤶ <warning>Due to the above note, sending <page>net</page> messages to the spawned player in this hook is highly unreliable, and they most likely won't be received. See https://github.com/Facepunch/garrysmod-requests/issues/718. A quick and dirty work-around is to delay any sending using <page>timer.Simple</page> with at least 5 seconds delay.</warning>⤶ </description>⤶ <realm>Server</realm>⤶ <predicted>No</predicted>⤶ <args>⤶ <arg name="player" type="Player">The player who spawned.</arg>⤶ <arg name="transition" type="boolean">If true, the player just spawned from a map transition.</arg>⤶ </args>⤶ </function>⤶ ⤶ <example>⤶ <description>Prints the name of the player joining.</description>⤶ <code>⤶ function GM:PlayerInitialSpawn(ply)⤶ print( ply:GetName().." joined the server.\n" )⤶ end⤶ ⤶ -- That way you are overriding the default hook⤶ -- you can use hook.Add to make more functions get called when this event occurs⤶ local function spawn(ply)⤶ print( ply:GetName().." joined the game.\n")⤶ end⤶ hook.Add( "PlayerInitialSpawn", "some_unique_name", spawn )⤶ </code>⤶ <output>Player1 joined the game</output>⤶ ⤶ </example>