Example #1
0
 /// <summary>
 /// Gera efeitos dos cupons na Database.
 /// </summary>
 /// <param name="cuponId">Id do cupom</param>
 /// <param name="cuponDays">Dias do cupom</param>
 /// <param name="player">Jogador</param>
 private void CreateCuponEffects(int cupomId, int cuponDays, Account player)
 {
     if (cupomId == 1201051000)
     {
         Clan clan = ClanManager.GetClan(player.clanId);
         if (clan.id > 0 && clan.ownerId == player.playerId)
         {
             if (!ClanManager.CheckNameLengthInvalid(txt) && StringFilter.CheckStringFilter(txt) && !ClanManager.IsClanNameExist(txt).Result&& clan.UpdateName(txt).Result)
             {
                 clan.name = txt;
                 List <Account> players = player.GetClanPlayers(-1);
                 using (CLAN_CHANGE_NAME_PAK packet = new CLAN_CHANGE_NAME_PAK(txt))
                 {
                     player.SendPacketForPlayers(packet, players);
                 }
             }
             else
             {
                 client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                 return;
             }
         }
     }
     else if (cupomId == 1201052000)
     {
         Clan clan = ClanManager.GetClan(player.clanId);
         if (clan.id > 0 && clan.ownerId == player.playerId && !ClanManager.IsClanLogoExist(objetivo).Result&& clan.UpdateLogo(objetivo).Result)
         {
             clan.logo = objetivo;
             List <Account> players = player.GetClanPlayers(-1);
             using (CLAN_CHANGE_LOGO_PAK packet = new CLAN_CHANGE_LOGO_PAK(objetivo))
             {
                 player.SendPacketForPlayers(packet, players);
             }
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
     }
     else if (cupomId == 1201047000)
     {
         if (!AccountManager.CheckNickLengthInvalid(txt) && StringFilter.CheckStringFilter(txt) && !AccountManager.CheckNicknameExist(txt).Result&& player.UpdateNick(txt).Result)
         {
             player.nickname = txt;
             if (!NickHistoryManager.CreateHistory(player.playerId, player.nickname, txt, "Change nick"))
             {
                 Logger.Warning($" [GAME] [PROTOCOL_INVENTORY_ITEM_EFFECT_REQ] (CuponId: 1201047000) Não foi possivel salvar o histórico de nome. PlayerId: {player.playerId} Nickname: {txt} Motivo: Change nick.");
             }
             if (player.room != null)
             {
                 using (PROTOCOL_ROOM_GET_NICKNAME_ACK packet = new PROTOCOL_ROOM_GET_NICKNAME_ACK(player.slotId, player.nickname, player.nickcolor))
                 {
                     player.room.SendPacketToPlayers(packet);
                 }
             }
             client.SendPacket(new PROTOCOL_AUTH_CHANGE_NICKNAME_ACK(player.nickname));
             if (player.clanId > 0)
             {
                 List <Account> players = player.GetClanPlayers(-1);
                 using (PROTOCOL_CLAN_MEMBER_INFO_UPDATE_ACK packet = new PROTOCOL_CLAN_MEMBER_INFO_UPDATE_ACK(player))
                 {
                     player.SendPacketForPlayers(packet, players);
                 }
             }
             player.SyncPlayerToFriends(true);
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_2147483923_PAK);
             return;
         }
     }
     else if (cupomId == 1200006000)
     {
         if (player.ExecuteQuery($"UPDATE accounts SET nickcolor='{(int)objetivo}' WHERE id='{player.playerId}'"))
         {
             player.nickcolor = (byte)objetivo;
             client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, new ItemsModel(cupomId, 3, "NameColor [Active]", 2, cuponDays, 0)));
             client.SendPacket(new BASE_2612_PAK(player));
             if (player.room != null)
             {
                 using (PROTOCOL_ROOM_GET_NICKNAME_ACK packet = new PROTOCOL_ROOM_GET_NICKNAME_ACK(player.slotId, player.nickname, player.nickcolor))
                 {
                     player.room.SendPacketToPlayers(packet);
                 }
             }
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
     }
     else if (cupomId == 1200009000)
     {
         if ((int)objetivo >= 51 || (int)objetivo < player.rankId - 10 || (int)objetivo > player.rankId + 10)
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
         else if (player.ExecuteQuery($"UPDATE player_bonus SET fakerank='{(int)objetivo}' WHERE player_id='{player.playerId}'"))
         {
             player.bonus.fakeRank = (int)objetivo;
             client.SendPacket(new PROTOCOL_BASE_USER_EFFECTS_ACK(info.Length, player.bonus));
             client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, new ItemsModel(cupomId, 3, "Patente falsa [Active]", 2, cuponDays, 0)));
             if (player.room != null)
             {
                 player.room.UpdateSlotsInfo();
             }
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
     }
     else if (cupomId == 1200010000)
     {
         if (AccountManager.CheckNickLengthInvalid(txt))
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
         if (StringFilter.CheckStringFilter(txt) && !AccountManager.CheckNicknameExist(txt).Result&& player.UpdateFakeNick().Result&& player.UpdateNick(txt).Result)
         {
             player.bonus.fakeNick = player.nickname;
             player.nickname       = txt;
             if (!NickHistoryManager.CreateHistory(player.playerId, player.nickname, txt, "Change nick false"))
             {
                 Logger.Warning($" [GAME] [PROTOCOL_INVENTORY_ITEM_EFFECT_REQ] (CuponId: 1200010000) Não foi possivel salvar o histórico de nome. PlayerId: {player.playerId} Nickname: {txt} Motivo: Change nick false.");
             }
             client.SendPacket(new PROTOCOL_BASE_USER_EFFECTS_ACK(info.Length, player.bonus));
             client.SendPacket(new PROTOCOL_AUTH_CHANGE_NICKNAME_ACK(player.nickname));
             client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, new ItemsModel(cupomId, 3, "FakeNick [Active]", 2, cuponDays, 0)));
             Room room = player.room;
             if (room != null)
             {
                 room.UpdateSlotsInfo();
             }
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_2147483923_PAK);
             return;
         }
     }
     else if (cupomId == 1200014000)
     {
         if (player.ExecuteQuery($"UPDATE player_bonus SET sightcolor='{(int)objetivo}' WHERE player_id='{player.playerId}'"))
         {
             player.bonus.sightColor = (short)objetivo;
             client.SendPacket(new PROTOCOL_BASE_USER_EFFECTS_ACK(info.Length, player.bonus));
             client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, new ItemsModel(cupomId, 3, "Cor da mira [Active]", 2, cuponDays, 0)));
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
     }
     else if (cupomId == 1200005000)
     {
         Clan clan = ClanManager.GetClan(player.clanId);
         if (clan.id > 0 && clan.ownerId == player.playerId && player.ExecuteQuery($"UPDATE clan_data SET color='{(int)objetivo}' WHERE clan_id='{clan.id}'"))
         {
             clan.nameColor = (byte)objetivo;
             client.SendPacket(new CLAN_CHANGE_NAME_COLOR_PAK(clan.nameColor));
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
     }
     else if (cupomId == 1201085000)
     {
         if (player.room != null)
         {
             Account playerRoom = player.room.GetPlayerBySlot((int)objetivo);
             if (playerRoom != null)
             {
                 client.SendPacket(new PROTOCOL_ROOM_INSPECTPLAYER_ACK(playerRoom));
             }
             else
             {
                 client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                 return;
             }
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
             return;
         }
     }
     else
     {
         Logger.Error("[ITEM_EFFECT] Efeito do cupom não encontrado! Id: " + cupomId);
         client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
         return;
     }
 }
Example #2
0
        public override void RunImplement()
        {
            try
            {
                Account player = client.SessionPlayer;
                if (player == null)
                {
                    return;
                }
                Clan clan = new Clan
                {
                    name         = clanName,
                    informations = clanInfo,
                    logo         = 0,
                    ownerId      = player.playerId,
                    creationDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
                };
                if (player.clanId > 0 || player.GetRequestClanId() > 0)
                {
                    client.SendCompletePacket(PackageDataManager.CLAN_CREATE_0x8000105C_PAK);
                }
                else if ((player.gold - Settings.ClanCreateGold) < 0 || Settings.ClanCreateRank > player.rankId)
                {
                    client.SendCompletePacket(PackageDataManager.CLAN_CREATE_0x8000104A_PAK);
                }
                else if (ClanManager.clans.Count > Settings.MaxClanActive)
                {
                    client.SendCompletePacket(PackageDataManager.CLAN_CREATE_0x80001055_PAK);
                }
                if ((player.gold - Settings.ClanCreateGold) < 0)
                {
                    client.SendCompletePacket(PackageDataManager.CLAN_CREATE_0x80001048_PAK);
                }
                else if (!ClanManager.IsClanNameExist(clan.name).Result&& clan.CreateClan().Result&& player.UpdateAccountGold(player.gold - Settings.ClanCreateGold) && player.ExecuteQuery($"UPDATE accounts SET clan_authority='1', clan_date='{clan.creationDate}', clan_id='{clan.id}' WHERE id='{player.playerId}'"))
                {
                    clan.BestPlayers.SetDefault();
                    player.clanDate      = clan.creationDate;
                    player.clanId        = clan.id;
                    player.clanAuthority = ClanAuthorityEnum.Master;
                    ClanManager.AddClan(clan);
                    player.gold -= Settings.ClanCreateGold;
                    client.SendPacket(new CLAN_CREATE_PAK(0, clan, player));
                }
                else
                {
                    client.SendCompletePacket(PackageDataManager.CLAN_CREATE_0x8000105A_PAK);
                }
            }
            catch (Exception ex)
            {
                PacketLog(ex);
            }

            /*
             * 80001055 - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_OVERFLOW
             * 8000105C - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_ALREADY
             * 8000105A - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_OVERLAPPING
             * 80001048 - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING
             * Padrão: STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_ADMIN
             */
        }
Example #3
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null)
         {
             return;
         }
         Clan clan = ClanManager.GetClan(player.clanId);
         if (ClanManager.CheckNameLengthInvalid(clanName) || !StringFilter.CheckStringFilter(clanName) || ClanManager.IsClanNameExist(clanName).Result)
         {
             client.SendCompletePacket(PackageDataManager.CLAN_CHECK_NAME_ERROR_ACK);
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.CLAN_CHECK_NAME_SUCCESS_ACK);
         }
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }