Revision Difference
GM:PlayerNoClip#566201
<function name="PlayerNoClip" parent="GM" type="hook">
<description>Called when a player tries to switch noclip mode.
<page text="MOVETYPE_NOCLIP">Enums/MOVETYPE#MOVETYPE_NOCLIP</page> can be used to determine if a player is currently in noclip mode.
</description>
<realm>Shared</realm>
<predicted>Yes</predicted>
<args>
<arg name="ply" type="Player">The person who entered/exited noclip</arg>
<arg name="desiredState" type="boolean">Represents the noclip state (on/off) the user will enter if this hook allows them to.</arg>
</args>
<rets>
<ret name="" type="boolean">Return false to disallow the switch.</ret>
</rets>
</function>
<example>
<description>Get the player when they enter/exit no clip and display their status</description>
<code>
hook.Add( "PlayerNoClip", "isInNoClip", function( ply, desiredNoClipState )
if ( desiredNoClipState ) then
print( ply:Name() .. " wants to enter noclip." )
else
print( ply:Name() .. " wants to leave noclip." )
end
end )
</code>
<output>
```
Player1 wants to enter noclip.
Player1 wants to leave noclip.
```
</output>
</example>
<example>
<description>While keeping the default behavior of admin-only noclip, the following example will also allow anyone to turn it off (if it's set on by a third-party administration addon, for example).</description>
<code>
hook.Add( "PlayerNoClip", "FeelFreeToTurnItOff", function( ply, desiredState )
if ( desiredState == false ) then -- the player wants to turn noclip off
return true -- always allow
elseif ( ply:IsAdmin() ) then
return true -- allow administrators to enter noclip
end
end )
</code>
⤶
</example>⤶
⤶
<example>⤶
<description>Adds a Player:InNoclip() function, that returns a boolean depending on whether or not the player is in noclip.</description>⤶
<code>⤶
local meta = FindMetaTable( "Player" )⤶
function meta:InNoclip()⤶
-- un-comment the line below to perform a check, if the player is an admin.⤶
--if ( self:IsAdmin() == false ) then return false end⤶
⤶
return self:GetMoveType() == MOVETYPE_NOCLIP⤶
end⤶
</code>⤶
</example>
Garry's Mod
Rust
Steamworks
Wiki Help