Garry's Mod Wiki

Revision Difference

GM:PlayerSwitchWeapon#528738

<function name="PlayerSwitchWeapon" parent="GM" type="hook"> <ishook>yes</ishook> <description>Called when a player attempts to switch their weapon. Primary usage of this hook is to prevent/allow weapon switching, not to detect weapon switching.</description>⤶ <description>Called when a player attempts to switch their weapon. **Primary usage of this hook is to prevent/allow weapon switching, not to detect weapon switching.**</description>⤶ <realm>Shared</realm> <predicted>Yes</predicted> <args> <arg name="player" type="Player">The player switching weapons.</arg> <arg name="oldWeapon" type="Weapon">The previous weapon. Will be NULL if the previous weapon was removed or the player is switching from nothing.</arg> <arg name="newWeapon" type="Weapon">The weapon the player switched to. Will be NULL if the player is switching to nothing. <bug issue="2922">This can be NULL on the client if the weapon hasn't been created over the network yet.</bug></arg> <arg name="oldWeapon" type="Weapon">The previous weapon. Will be `NULL` if the previous weapon was removed or the player is switching from nothing.</arg> <arg name="newWeapon" type="Weapon">The weapon the player switched to. Will be `NULL` if the player is switching to nothing. <bug issue="2922">This can be `NULL` on the client if the weapon hasn't been created over the network yet.</bug></arg> </args> <rets> <ret name="" type="boolean">Return true to prevent weapon switch</ret>⤶ <ret name="" type="boolean">Return `true` to prevent weapon switch.</ret>⤶ </rets> </function> <example> <description>The players weapon information will be printed when the player switched weapons.</description> <code> function GM:PlayerSwitchWeapon( ply, oldWeapon, newWeapon ) hook.Add( "PlayerSwitchWeapon", "WeaponSwitchExample", function( ply, oldWeapon, newWeapon ) -- GetClass() will return the weapons class as a string. MsgN( "You switched weapons! Your old weapon is " .. oldWeapon:GetClass() .."." ) MsgN( "Your new weapon is " .. newWeapon:GetClass() .. "." ) end⤶ end )⤶ </code> <output> ``` You switched weapons! Your old weapon is gmod_camera. Your new weapon is weapon_crossbow. ``` </output> </example>