Garry's Mod Wiki

Revision Difference

GM:PlayerSwitchWeapon#553287

<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. It will not be called for <page>Player:SetActiveWeapon</page>. </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> </args> <rets> <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> 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 ) </code> <output> ``` You switched weapons! Your old weapon is gmod_camera. Your new weapon is weapon_crossbow. ``` </output> </example>