CanLock
Usage
- Return a non-null value to override default behavior
Example Autogenerated
csharp
private object CanLock( BasePlayer player, CodeLock instance )
{
Puts( "CanLock works!" );
return null;
}csharp
private object CanLock( BasePlayer player, KeyLock instance )
{
Puts( "CanLock works!" );
return null;
}Location
- CodeLock::TryLock(BaseEntity.RPCMessage rpc)
- KeyLock::Lock(BasePlayer player)
csharp
[RPC_Server]
[RPC_Server.MaxDistance(3f, CheckParent = true)]
private void TryLock(RPCMessage rpc)
{
if (rpc.player.CanInteract() && !IsLocked() && code.Length == 4 && Interface.CallHook("CanLock", rpc.player, this) == null && whitelistPlayers.Contains(rpc.player.userID))
{
DoEffect(effectLocked.resourcePath);
SetFlag(Flags.Locked, b: true);
SendNetworkUpdate();
}
//---csharp
private void Lock(BasePlayer player)
{
if (!(player == null) && player.CanInteract() && !IsLocked() && Interface.CallHook("CanLock", player, this) == null && HasLockPermission(player))
{
LockLock(player);
SendNetworkUpdate();
}
}