private void WriteData(ClanInvite invite, SendGPacket p)
        {
            p.writeQ(invite.player_id);
            Account pl = AccountManager.getAccount(invite.player_id, 0);

            if (pl != null)
            {
                p.writeS(pl.player_name, 33);
                p.writeC((byte)pl._rank);
            }
            else
            {
                p.writeB(new byte[34]);
            }
            p.writeD(invite.inviteDate);
        }
Example #2
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null || player.clanId <= 0)
         {
             client.SendCompletePacket(PackageDataManager.PROTOCOL_CLAN_LIST_ENLISTMENTS_ERROR_ACK);
             return;
         }
         List <ClanInvite> clanInvites = player.GetClanRequestEnlistment();
         using (PacketWriter writer = new PacketWriter())
         {
             int count = 0;
             for (int i = page * 13; i < clanInvites.Count; i++)
             {
                 ClanInvite invite = clanInvites[i];
                 writer.WriteQ(invite.playerId);
                 Account playerInvited = AccountManager.GetAccount(invite.playerId, 0);
                 if (playerInvited != null)
                 {
                     writer.WriteS(playerInvited.nickname, 33);
                     writer.WriteC(playerInvited.rankId);
                 }
                 else
                 {
                     writer.WriteB(new byte[34]);
                 }
                 writer.WriteD(invite.inviteDate);
                 if (count++ == 13)
                 {
                     break;
                 }
             }
             client.SendPacket(new PROTOCOL_CLAN_LIST_ENLISTMENTS_ACK(0, count, page, writer.memorystream.ToArray()));
         }
         clanInvites = null;
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }
Example #3
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null || text.Length > 200)
         {
             return;
         }
         ClanInvite invite = new ClanInvite
         {
             clanId     = clanId,
             playerId   = player.playerId,
             text       = text,
             inviteDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
         };
         if (player.clanId > 0 || player.nickname.Length == 0)
         {
             client.SendCompletePacket(PackageDataManager.CLAN_CREATE_INVITE_2147487836_PAK);
         }
         else if (ClanManager.GetClan(clanId).id == 0)
         {
             client.SendCompletePacket(PackageDataManager.CLAN_CREATE_INVITE_0x80000000_PAK);
         }
         else if (player.GetInvitesCount(clanId) >= 100)
         {
             client.SendCompletePacket(PackageDataManager.CLAN_CREATE_INVITE_2147487831_PAK);
         }
         else if (!player.InsertInvite(invite))
         {
             client.SendCompletePacket(PackageDataManager.CLAN_CREATE_INVITE_2147487848_PAK);
         }
         else
         {
             client.SendPacket(new PROTOCOL_CLAN_CREATE_INVITE_ACK(0, clanId));
         }
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }
Example #4
0
        public async Task InviteUser(int clanId, ulong userId) =>
        await _soraTransactor.DoInTransactionAsync(async context =>
        {
            // Check if same user was already invited to this clan
            if ((await context.ClanInvites
                 .CountAsync(x => x.ClanId == clanId && x.UserId == userId) > 0))
            {
                return;
            }

            // Otherwise create an invite
            var invite = new ClanInvite()
            {
                ClanId = clanId,
                UserId = userId
            };

            context.ClanInvites.Add(invite);
            await context.SaveChangesAsync();
        });
 public override void run()
 {
     try
     {
         Account p = _client._player;
         if (p == null)
         {
             return;
         }
         ClanInvite invite = new ClanInvite
         {
             clan_id    = clanId,
             player_id  = _client.player_id,
             text       = text,
             inviteDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
         };
         if (p.clanId > 0 || p.player_name.Length == 0)
         {
             erro = 2147487836;
         }
         else if (ClanManager.getClan(clanId)._id == 0)
         {
             erro = 0x80000000;
         }
         else if (PlayerManager.getRequestCount(clanId) >= 100)
         {
             erro = 2147487831;
         }
         else if (!PlayerManager.CreateInviteInDb(invite))
         {
             erro = 2147487848;
         }
         invite = null;
         _client.SendPacket(new CLAN_CREATE_INVITE_PAK(erro, clanId));
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[CLAN_CREATE_INVITE_REC.run] Erro fatal!");
     }
 }
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         if (player == null)
         {
             return;
         }
         ClanInvite invite = new ClanInvite()
         {
             clan_id    = this.clanId,
             player_id  = this._client.player_id,
             text       = this.text,
             inviteDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
         };
         if (player.clanId > 0 || player.player_name.Length == 0)
         {
             this.erro = 2147487836U;
         }
         else if (ClanManager.getClan(this.clanId)._id == 0)
         {
             this.erro = 2147483648U;
         }
         else if (PlayerManager.getRequestCount(this.clanId) >= 100)
         {
             this.erro = 2147487831U;
         }
         else if (!PlayerManager.CreateInviteInDb(invite))
         {
             this.erro = 2147487848U;
         }
         this._client.SendPacket((SendPacket) new CLAN_CREATE_INVITE_PAK(this.erro, this.clanId));
     }
     catch (Exception ex)
     {
         Logger.info("[CLAN_CREATE_INVITE_REC] " + ex.ToString());
     }
 }