/// <summary> /// Завершить поединок /// </summary> private void Finish(Client winner) { Thread.Sleep(10000); _playerInfoManager.SetBalance(winner, BET * 2, true); _playerInfoManager.SetExperience(winner, WINNER_EXP); PlayerHelper.RestorePosition(winner); ResetData(_firstFighter); ResetData(_secondFighter); _playerInfoManager.SetPlayerClothes(_firstFighter); _playerInfoManager.SetPlayerClothes(_secondFighter); _firstFighter = null; _secondFighter = null; if (Members.Count > 1) { Start(); } }
/// <summary> /// Применить рандомный скин /// </summary> private void SetRandomSkin(Client player, PlayerInfo playerInfo) { ActionHelper.CancelAction(player, SKIN_RESET_ACTION); var skins = Enum.GetValues(typeof(TemporarySkin)); var hash = (PedHash)skins.GetValue(ActionHelper.Random.Next(skins.Length)); API.setPlayerSkin(player, hash); ActionHelper.SetAction(player, 3600000, () => _playerInfoManager.SetPlayerClothes(player, true), SKIN_RESET_ACTION); playerInfo.Inventory.First(e => e.Type == InventoryType.TempoSkin).DecreaseCount(); EquipWeapon(player); API.sendColoredNotificationToPlayer(player, "Действие скина закончится через час", 0, 21); }
/// <summary> /// Очищает данные эвента у игрока /// </summary> private void ResetEventData() { foreach (var player in _members) { RestorePosition(player); API.setPlayerHealth(player, PlayerInfo.MAX_VALUE); PlayerInfoManager.SetPlayerClothes(player, true); player.resetData(PlayerData.ON_EVENT); player.resetData(PlayerData.WAS_KILLED); player.resetData(PlayerData.KILLER); player.resetSyncedData(PlayerData.IS_REGISTERED); _inventoryManager.EquipWeapon(player); _workEquipmentManager.SetEquipment(player); } }
/// <summary> /// Одеть текущую одежду игрока /// </summary> private void DressPlayerClothes(Client player, object[] args) { _playerInfoManager.SetPlayerClothes(player); }