Skip to content

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();
	}
}

Released under the MIT License.