/// <summary> /// Возвращает основную информацию об игроке /// </summary> private object CreateShortPlayerInfo(PlayerInfo playerInfo, WorkInfo activeWork) { var hasWork = activeWork != null; var workLevelInfo = string.Empty; if (hasWork) { workLevelInfo = activeWork.Type == WorkType.Police ? PoliceDataGetter.RankNames[activeWork.Level] : activeWork.Level.ToString(); } var info = new { playerInfo.Name, TagName = playerInfo.Clan != null?ClanManager.GetClanName(playerInfo.Clan.ClanId) : null, playerInfo.Balance, playerInfo.Level, playerInfo.Experience, Driver = playerInfo.Driver.CanDriveB, Work = hasWork ? activeWork.Type.GetDescription() : string.Empty, WorkLevel = workLevelInfo, WorkExp = hasWork ? activeWork.Experience : 0, Salary = hasWork ? activeWork.Salary : 0, Wanted = playerInfo.Wanted.WantedLevel, playerInfo.PhoneNumber, playerInfo.PhoneBalance, playerInfo.Settings, ClanRank = playerInfo.Clan?.Rank.GetDescription(), ClanRep = playerInfo.Clan?.Reputation }; return(info); }
/// <summary> /// Запускает миссию клана /// </summary> private void StartMission(ClanMission mission, long clanId) { if (!HasActiveMission()) { _clanCourtyard.ShowMarkers(); } mission.Start(); ClanManager.SetAuthority(clanId, -MissionMenuHandler.NEEDED_AUTHORITY); API.sendChatMessageToAll($"~b~\"{ClanManager.GetClanName(clanId)}\" ~w~запустили миссию ~b~\"{mission.Place.GetDescription()}\""); ActionHelper.SetAction(MISSION_DURATION * 3600000, () => FinishMission(clanId)); }
/// <summary> /// Завершает войну /// </summary> public void FinishWar() { ClientEventHandler.Remove(ClientEvent.CAPTURE_DISTRICT); _blip.delete(); _capturePoint.Marker.delete(); _capturePoint.Label.delete(); API.deleteColShape(_capturePoint.ColShape); if (_ownerId == Validator.INVALID_ID) { API.sendChatMessageToAll($"~b~[Банды] Район \"{_district.Name}\" остался не захвачен!"); } else { _clanManager.AddDistrict(_ownerId, _district.Id); API.sendChatMessageToAll($"~b~[Банды] Банда \"{ClanManager.GetClanName(_ownerId)}\" становятся владельцами района \"{_district.Name}\"!"); } _ownerId = Validator.INVALID_ID; }
/// <summary> /// Захват района /// </summary> private void CaptureStreet(Client player, object[] args) { var playerInfo = _playerInfoManager.GetInfo(player); if (playerInfo.Clan.ClanId == _ownerId) { return; } _ownerId = playerInfo.Clan.ClanId; var color = ClanManager.GetClanColor(_ownerId); API.setMarkerColor(_capturePoint.Marker, color.Bright, color.Red, color.Green, color.Blue); API.setBlipColor(_blip, GetBlipColor(playerInfo.Clan.ClanId)); _clanManager.SetReputation(player, REP_FOR_CAPTURE, playerInfo); API.sendChatMessageToAll($"~b~[Банды] Район \"{_district.Name}\" захвачен бандой \"{ClanManager.GetClanName(playerInfo.Clan.ClanId)}\"!"); }