/// <summary> /// Помещает нарушителя за решетку /// </summary> public void PutPrisonerInJail(Client policeman, Client prisoner, bool copSuccess = true, Vector3 jailPosition = null) { _policeManager.DetachPrisoner(policeman, prisoner, true); SetPolicemanReward(policeman, prisoner, copSuccess); UpdatePrisonerInfo(prisoner); _playerInfoManager.ClearWanted(prisoner); SetInJail(prisoner, jailPosition); }
/// <summary> /// Оштрафовать /// </summary> private void OnGivePenalty(Client policeman, object[] args) { var prisoner = PlayerHelper.GetNearestPlayer(policeman, MAX_RANGE); if (!(HasNearby(policeman, prisoner, NO_PLAYERS_NEARBY) && IsWanted(policeman, prisoner))) { return; } var prisonerInfo = _playerInfoManager.GetInfo(prisoner); var penalty = CalculatePenalty(prisonerInfo); if (!PlayerHasMoney(policeman, prisoner, penalty)) { return; } prisonerInfo.Balance -= penalty; _playerInfoManager.RefreshUI(prisoner, prisonerInfo); _policeRewardManager.SetEffortReward(policeman, prisoner); _playerInfoManager.ClearWanted(prisoner); SendPenaltyNotify(policeman, prisoner, penalty); DetachPrisoner(policeman, prisoner, true); API.triggerClientEvent(policeman, ServerEvent.HIDE_POLICEMAN_MENU); }