public static string SetFakeNick(string str, Account player, Room room) { string name = str.Substring(11); if (name.Length > ConfigGS.maxNickSize || name.Length < ConfigGS.minNickSize) { return(Translation.GetLabel("FakeNickWrongLength")); } if (PlayerManager.isPlayerNameExist(name)) { return(Translation.GetLabel("FakeNickAlreadyExist")); } if (!ComDiv.updateDB("accounts", "player_name", (object)name, "player_id", (object)player.player_id)) { return(Translation.GetLabel("FakeNickFail")); } player.player_name = name; player.SendPacket((SendPacket) new AUTH_CHANGE_NICKNAME_PAK(name)); if (room != null) { using (ROOM_GET_NICKNAME_PAK roomGetNicknamePak = new ROOM_GET_NICKNAME_PAK(player._slotId, player.player_name, player.name_color)) room.SendPacketToPlayers((SendPacket)roomGetNicknamePak); } if (player.clanId > 0) { using (CLAN_MEMBER_INFO_UPDATE_PAK memberInfoUpdatePak = new CLAN_MEMBER_INFO_UPDATE_PAK(player)) ClanManager.SendPacket((SendPacket)memberInfoUpdatePak, player.clanId, -1L, true, true); } AllUtils.syncPlayerToFriends(player, true); return(Translation.GetLabel("FakeNickSuccess", (object)name)); }
public void Close(int time, bool kicked = false) { if (!closed) { try { closed = true; GameManager.RemoveSocket(this); Account p = _player; if (player_id > 0 && p != null) { Channel ch = p.getChannel(); Room room = p._room; Match match = p._match; p.setOnlineStatus(false); if (room != null) { room.RemovePlayer(p, false, kicked ? 1 : 0); } if (match != null) { match.RemovePlayer(p); } if (ch != null) { ch.RemovePlayer(p); } p._status.ResetData(player_id); AllUtils.syncPlayerToFriends(p, false); AllUtils.syncPlayerToClanMembers(p); p.SimpleClear(); p.updateCacheInfo(); _player = null; } player_id = 0; } catch (Exception ex) { SaveLog.fatal("Error by: " + player_id + "\n" + ex.ToString()); Printf.b_danger("[GameClient.Close] Erro fatal!"); } } if (_client != null) { _client.Close(time); } Dispose(); }
public override void run() { try { if (_client == null) { return; } Account player = _client._player; if (player == null) { return; } player.LastLobbyEnter = DateTime.Now; if (player.channelId >= 0) { Channel ch = player.getChannel(); if (ch != null) { ch.AddPlayer(player.Session); } } Room room = player._room; if (room != null) { if (player._slotId >= 0 && (int)room._state >= 2 && (int)room._slots[player._slotId].state >= 9) { goto JumpToPacket; } else { room.RemovePlayer(player, false); } } AllUtils.syncPlayerToFriends(player, false); AllUtils.syncPlayerToClanMembers(player); AllUtils.GetXmasReward(player); JumpToPacket: _client.SendPacket(new LOBBY_ENTER_PAK()); } catch (Exception ex) { SaveLog.fatal(ex.ToString()); Printf.b_danger("[LOBBY_ENTER_REC.run] Erro fatal!"); } }
public override void run() { try { if (this._client == null) { return; } Account player = this._client._player; if (player == null) { return; } player.LastLobbyEnter = DateTime.Now; if (player.channelId >= 0) { player.getChannel().AddPlayer(player.Session); } Room room = player._room; if (room != null) { if (player._slotId < 0 || room._state < RoomState.Loading || room._slots[player._slotId].state < SLOT_STATE.LOAD) { room.RemovePlayer(player, false, 0); } else { goto label_9; } } AllUtils.syncPlayerToFriends(player, false); AllUtils.syncPlayerToClanMembers(player); AllUtils.GetXmasReward(player); label_9: this._client.SendPacket((SendPacket) new LOBBY_ENTER_PAK()); } catch (Exception ex) { Logger.warning("[LOBBY_ENTER_REC] " + ex.ToString()); } }
public override void run() { try { if (_client == null || _client._player == null) { return; } Account player = _client._player; Channel channel = player.getChannel(); if (player._room != null || player._match != null) { return; } if (channel == null || player.Session == null || !channel.RemovePlayer(player)) { erro = 0x80000000; } _client.SendPacket(new LOBBY_LEAVE_PAK(erro)); if (erro == 0) { player.ResetPages(); player._status.updateChannel(255); AllUtils.syncPlayerToFriends(player, false); AllUtils.syncPlayerToClanMembers(player); } else { _client.Close(1000); } } catch (Exception ex) { SaveLog.fatal(ex.ToString()); Printf.b_danger("[LOBBY_LEAVE_REC.AddItems] Erro fatal!"); _client.SendPacket(new LOBBY_LEAVE_PAK(0x80000000)); _client.Close(1000); } }
public override void run() { try { if (this._client == null || this._client._player == null) { return; } Account player = this._client._player; Channel channel = player.getChannel(); if (player._room != null || player._match != null) { return; } if (channel == null || player.Session == null || !channel.RemovePlayer(player)) { this.erro = 2147483648U; } this._client.SendPacket((SendPacket) new LOBBY_LEAVE_PAK(this.erro)); if (this.erro == 0U) { player.ResetPages(); player._status.updateChannel(byte.MaxValue); AllUtils.syncPlayerToFriends(player, false); AllUtils.syncPlayerToClanMembers(player); } else { this._client.Close(1000, false); } } catch (Exception ex) { Logger.info("LOBBY_LEAVE_REC: " + ex.ToString()); this._client.SendPacket((SendPacket) new LOBBY_LEAVE_PAK(2147483648U)); this._client.Close(1000, false); } }
public void Close(int time, bool kicked = false) { if (!this.closed) { try { this.closed = true; GameManager.RemoveSocket(this); Account player = this._player; if (this.player_id > 0L && player != null) { Channel channel = player.getChannel(); Room room = player._room; Match match = player._match; player.setOnlineStatus(false); room.RemovePlayer(player, false, kicked ? 1 : 0); match.RemovePlayer(player); channel.RemovePlayer(player); player._status.ResetData(this.player_id); AllUtils.syncPlayerToFriends(player, false); AllUtils.syncPlayerToClanMembers(player); player.SimpleClear(); player.updateCacheInfo(); this._player = (Account)null; } this.player_id = 0L; } catch (Exception ex) { Logger.warning("Error by: " + (object)this.player_id + "\n" + ex.ToString()); } } if (this._client != null) { this._client.Close(time); } this.Dispose(); }
/// <summary> /// Gera efeitos dos cupons na Database. /// </summary> /// <param name="cuponId">Id do cupom</param> /// <param name="cuponDays">Dias do cupom</param> /// <param name="p">Jogador</param> private void CreateCuponEffects(int cupomId, uint cuponDays, Account p) { switch (cupomId) { case 1201051000: if (string.IsNullOrEmpty(txt) || txt.Length > 16) { erro = 0x80001076; } else { Clan cln = ClanManager.getClan(p.clanId); if (cln._id > 0 && cln.owner_id == _client.player_id) { if (!ClanManager.isClanNameExist(txt) && ComDiv.updateDB("clan_data", "clan_name", txt, "clan_id", p.clanId)) { cln._name = txt; using (CLAN_CHANGE_NAME_PAK packet = new CLAN_CHANGE_NAME_PAK(txt)) ClanManager.SendPacket(packet, p.clanId, -1, true, true); } else { erro = 0x80001076; } } else { erro = 0x80001076; } } break; case 1201052000: Clan clan = ClanManager.getClan(p.clanId); if (clan._id > 0 && clan.owner_id == _client.player_id && !ClanManager.isClanLogoExist((uint)objetivo) && PlayerManager.updateClanLogo(p.clanId, (uint)objetivo)) { clan._logo = (uint)objetivo; using (CLAN_CHANGE_LOGO_PAK packet = new CLAN_CHANGE_LOGO_PAK((uint)objetivo)) ClanManager.SendPacket(packet, p.clanId, -1, true, true); } else { erro = 0x80000000; } break; case 1201047000: if (string.IsNullOrEmpty(txt) || txt.Length < ConfigGS.minNickSize || txt.Length > ConfigGS.maxNickSize || p._inventory.getItem(1200010000) != null) { erro = 0x80000000; } else if (!PlayerManager.isPlayerNameExist(txt)) { if (ComDiv.updateDB("contas", "player_name", txt, "player_id", p.player_id)) { AllUtils.AddNickHistory(p.player_id, p.player_name, txt); p.player_name = txt; if (p._room != null) { using (ROOM_GET_NICKNAME_PAK packet = new ROOM_GET_NICKNAME_PAK(p._slotId, p.player_name, p.name_color)) p._room.SendPacketToPlayers(packet); } _client.SendPacket(new AUTH_CHANGE_NICKNAME_PAK(p.player_name)); if (p.clanId > 0) { using (CLAN_MEMBER_INFO_UPDATE_PAK packet = new CLAN_MEMBER_INFO_UPDATE_PAK(p)) ClanManager.SendPacket(packet, p.clanId, -1, true, true); } AllUtils.syncPlayerToFriends(p, true); } else { erro = 0x80000000; } } else { erro = 2147483923; } break; case 1200006000: if (ComDiv.updateDB("contas", "name_color", (int)objetivo, "player_id", p.player_id)) { p.name_color = (int)objetivo; _client.SendPacket(new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "NameColor [Active]", 2, cuponDays, 0))); _client.SendPacket(new BASE_2612_PAK(p)); if (p._room != null) { using (ROOM_GET_NICKNAME_PAK packet = new ROOM_GET_NICKNAME_PAK(p._slotId, p.player_name, p.name_color)) p._room.SendPacketToPlayers(packet); } } else { erro = 0x80000000; } break; case 1200009000: if ((int)objetivo >= 51 || (int)objetivo < p._rank - 10 || (int)objetivo > p._rank + 10) { erro = 0x80000000; } else if (ComDiv.updateDB("player_bonus", "fakerank", (int)objetivo, "player_id", p.player_id)) { p._bonus.fakeRank = (int)objetivo; _client.SendPacket(new BASE_USER_EFFECTS_PAK(info.Length, p._bonus)); _client.SendPacket(new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "Patente falsa [Active]", 2, cuponDays, 0))); if (p._room != null) { p._room.updateSlotsInfo(); } } else { erro = 0x80000000; } break; case 1200010000: if (string.IsNullOrEmpty(txt) || txt.Length < ConfigGS.minNickSize || txt.Length > ConfigGS.maxNickSize) { erro = 0x80000000; } else if (ComDiv.updateDB("player_bonus", "fakenick", p.player_name, "player_id", p.player_id) && ComDiv.updateDB("contas", "player_name", txt, "player_id", p.player_id)) { p._bonus.fakeNick = p.player_name; p.player_name = txt; _client.SendPacket(new BASE_USER_EFFECTS_PAK(info.Length, p._bonus)); _client.SendPacket(new AUTH_CHANGE_NICKNAME_PAK(p.player_name)); _client.SendPacket(new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "FakeNick [Active]", 2, cuponDays, 0))); if (p._room != null) { p._room.updateSlotsInfo(); } } else { erro = 0x80000000; } break; case 1200014000: if (ComDiv.updateDB("player_bonus", "sightcolor", (int)objetivo, "player_id", p.player_id)) { p._bonus.sightColor = (int)objetivo; _client.SendPacket(new BASE_USER_EFFECTS_PAK(info.Length, p._bonus)); _client.SendPacket(new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "Cor da mira [Active]", 2, cuponDays, 0))); } else { erro = 0x80000000; } break; case 1200005000: Clan c = ClanManager.getClan(p.clanId); if (c._id > 0 && c.owner_id == _client.player_id && ComDiv.updateDB("clan_data", "color", (int)objetivo, "clan_id", c._id)) { c._name_color = (int)objetivo; _client.SendPacket(new CLAN_CHANGE_NAME_COLOR_PAK((byte)c._name_color)); } else { erro = 0x80000000; } break; case 1201085000: if (p._room != null) { Account pR = p._room.getPlayerBySlot((int)objetivo); if (pR != null) { _client.SendPacket(new ROOM_INSPECTPLAYER_PAK(pR)); } else { erro = 0x80000000; } } else { erro = 0x80000000; } break; default: SaveLog.error("[ITEM_EFFECT] Efeito do cupom não encontrado! Id: " + cupomId); erro = 0x80000000; break; } }
private void CreateCuponEffects(int cupomId, uint cuponDays, Account p) { switch (cupomId) { case 1200005000: Clan clan1 = ClanManager.getClan(p.clanId); if (clan1._id > 0 && clan1.owner_id == this._client.player_id && ComDiv.updateDB("clan_data", "color", (object)(int)this.objetivo, "clan_id", (object)clan1._id)) { clan1._name_color = (int)this.objetivo; this._client.SendPacket((SendPacket) new CLAN_CHANGE_NAME_COLOR_PAK((byte)clan1._name_color)); break; } this.erro = 2147483648U; break; case 1200006000: if (ComDiv.updateDB("accounts", "name_color", (object)(int)this.objetivo, "player_id", (object)p.player_id)) { p.name_color = (int)this.objetivo; this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "NameColor [Active]", 2, cuponDays, 0L))); this._client.SendPacket((SendPacket) new BASE_2612_PAK(p)); if (p._room == null) { break; } using (ROOM_GET_NICKNAME_PAK roomGetNicknamePak = new ROOM_GET_NICKNAME_PAK(p._slotId, p.player_name, p.name_color)) { p._room.SendPacketToPlayers((SendPacket)roomGetNicknamePak); break; } } else { this.erro = 2147483648U; break; } case 1200009000: if ((int)this.objetivo >= 51 || (int)this.objetivo < p._rank - 10 || (int)this.objetivo > p._rank + 10) { this.erro = 2147483648U; break; } if (ComDiv.updateDB("player_bonus", "fakerank", (object)(int)this.objetivo, "player_id", (object)p.player_id)) { p._bonus.fakeRank = (int)this.objetivo; this._client.SendPacket((SendPacket) new BASE_USER_EFFECTS_PAK(this.info.Length, p._bonus)); this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "Patente falsa [Active]", 2, cuponDays, 0L))); if (p._room == null) { break; } p._room.updateSlotsInfo(); break; } this.erro = 2147483648U; break; case 1200010000: if (string.IsNullOrEmpty(this.txt) || this.txt.Length < ConfigGS.minNickSize || this.txt.Length > ConfigGS.maxNickSize) { this.erro = 2147483648U; break; } if (ComDiv.updateDB("player_bonus", "fakenick", (object)p.player_name, "player_id", (object)p.player_id) && ComDiv.updateDB("accounts", "player_name", (object)this.txt, "player_id", (object)p.player_id)) { p._bonus.fakeNick = p.player_name; p.player_name = this.txt; this._client.SendPacket((SendPacket) new BASE_USER_EFFECTS_PAK(this.info.Length, p._bonus)); this._client.SendPacket((SendPacket) new AUTH_CHANGE_NICKNAME_PAK(p.player_name)); this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "FakeNick [Active]", 2, cuponDays, 0L))); if (p._room == null) { break; } p._room.updateSlotsInfo(); break; } this.erro = 2147483648U; break; case 1200014000: if (ComDiv.updateDB("player_bonus", "sightcolor", (object)(int)this.objetivo, "player_id", (object)p.player_id)) { p._bonus.sightColor = (int)this.objetivo; this._client.SendPacket((SendPacket) new BASE_USER_EFFECTS_PAK(this.info.Length, p._bonus)); this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(cupomId, 3, "Cor da mira [Active]", 2, cuponDays, 0L))); break; } this.erro = 2147483648U; break; case 1201047000: if (string.IsNullOrEmpty(this.txt) || this.txt.Length < ConfigGS.minNickSize || (this.txt.Length > ConfigGS.maxNickSize || p._inventory.getItem(1200010000) != null)) { this.erro = 2147483648U; break; } if (!PlayerManager.isPlayerNameExist(this.txt)) { if (ComDiv.updateDB("accounts", "player_name", (object)this.txt, "player_id", (object)p.player_id)) { NickHistoryManager.CreateHistory(p.player_id, p.player_name, this.txt, "Change nick"); p.player_name = this.txt; if (p._room != null) { using (ROOM_GET_NICKNAME_PAK roomGetNicknamePak = new ROOM_GET_NICKNAME_PAK(p._slotId, p.player_name, p.name_color)) p._room.SendPacketToPlayers((SendPacket)roomGetNicknamePak); } this._client.SendPacket((SendPacket) new AUTH_CHANGE_NICKNAME_PAK(p.player_name)); if (p.clanId > 0) { using (CLAN_MEMBER_INFO_UPDATE_PAK memberInfoUpdatePak = new CLAN_MEMBER_INFO_UPDATE_PAK(p)) ClanManager.SendPacket((SendPacket)memberInfoUpdatePak, p.clanId, -1L, true, true); } AllUtils.syncPlayerToFriends(p, true); break; } this.erro = 2147483648U; break; } this.erro = 2147483923U; break; case 1201051000: if (string.IsNullOrEmpty(this.txt) || this.txt.Length > 16) { this.erro = 2147483648U; break; } Clan clan2 = ClanManager.getClan(p.clanId); if (clan2._id > 0 && clan2.owner_id == this._client.player_id) { if (!ClanManager.isClanNameExist(this.txt) && ComDiv.updateDB("clan_data", "clan_name", (object)this.txt, "clan_id", (object)p.clanId)) { clan2._name = this.txt; using (CLAN_CHANGE_NAME_PAK clanChangeNamePak = new CLAN_CHANGE_NAME_PAK(this.txt)) { ClanManager.SendPacket((SendPacket)clanChangeNamePak, p.clanId, -1L, true, true); break; } } else { this.erro = 2147483648U; break; } } else { this.erro = 2147483648U; break; } case 1201052000: Clan clan3 = ClanManager.getClan(p.clanId); if (clan3._id > 0 && clan3.owner_id == this._client.player_id && (!ClanManager.isClanLogoExist(this.objetivo) && PlayerManager.updateClanLogo(p.clanId, this.objetivo))) { clan3._logo = this.objetivo; using (CLAN_CHANGE_LOGO_PAK clanChangeLogoPak = new CLAN_CHANGE_LOGO_PAK(this.objetivo)) { ClanManager.SendPacket((SendPacket)clanChangeLogoPak, p.clanId, -1L, true, true); break; } } else { this.erro = 2147483648U; break; } case 1201085000: if (p._room != null) { Account playerBySlot = p._room.getPlayerBySlot((int)this.objetivo); if (playerBySlot != null) { this._client.SendPacket((SendPacket) new ROOM_INSPECTPLAYER_PAK(playerBySlot)); break; } this.erro = 2147483648U; break; } this.erro = 2147483648U; break; default: Logger.error("[ITEM_EFFECT] Efeito do cupom não encontrado! Id: " + (object)cupomId); this.erro = 2147483648U; break; } }