private void CarCodeLockCommand(IPlayer player, string cmd, string[] args)
        {
            if (player.IsServer)
            {
                return;
            }

            var        basePlayer = player.Object as BasePlayer;
            ModularCar car;
            bool       mustCraft;

            if (!VerifyPermissionAny(player, PermissionUse) ||
                !VerifyNotBuildingBlocked(player) ||
                !VerifyCarFound(player, out car) ||
                !VerifyCarIsNotDead(player, car) ||
                !VerifyCarHasNoLock(player, car) ||
                !VerifyCarCanHaveALock(player, car) ||
                !VerifyPlayerCanDeployLock(player, out mustCraft) ||
                DeployWasBlocked(car, basePlayer))
            {
                return;
            }

            var codeLock = DeployCodeLockForPlayer(car, basePlayer, isFree: player.HasPermission(PermissionFreeLock));

            if (codeLock == null)
            {
                return;
            }

            if (mustCraft)
            {
                CraftCooldowns.UpdateLastUsedForPlayer(player.Id);
            }
        }
Пример #2
0
        private void ClaimVehicleCommand(IPlayer player, string cmd, string[] args)
        {
            if (player.IsServer)
            {
                return;
            }

            var              basePlayer = player.Object as BasePlayer;
            string           perm       = null;
            BaseCombatEntity vehicle    = null;

            if (!VerifySupportedVehicleFound(player, GetLookEntity(basePlayer), ref vehicle, ref perm) ||
                !VerifyPermissionAny(player, Permission_Claim_AllVehicles, perm) ||
                !VerifyVehicleIsNotDead(player, vehicle) ||
                !VerifyNotOwned(player, vehicle) ||
                !VerifyOffCooldown(player) ||
                !VerifyCanBuild(player) ||
                !VerifyNoLockRestriction(player, vehicle) ||
                !VerifyNotMounted(player, vehicle) ||
                ClaimWasBlocked(basePlayer, vehicle))
            {
                return;
            }

            ChangeVehicleOwnership(vehicle, basePlayer.userID);
            ClaimCooldowns.UpdateLastUsedForPlayer(basePlayer.userID);
            ReplyToPlayer(player, "Claim.Success");
        }