示例#1
0
        public void Accepte(int TrocId, int UserId)
        {
            RPTroc Troc = GetTroc(TrocId);

            if (Troc == null)
            {
                return;
            }

            RPTrocUser UserTroc = Troc.GetUser(UserId);

            if (UserTroc == null)
            {
                return;
            }

            if (Troc.AllAccepted || Troc.AllConfirmed)
            {
                return;
            }

            if (UserTroc.Accepted)
            {
                UserTroc.Accepted = false;
            }
            else
            {
                UserTroc.Accepted = true;
            }


            this.SendPacketUsers(new RpTrocAccepteComposer(UserId, UserTroc.Accepted), Troc);
        }
示例#2
0
        public void Confirme(int TrocId, int UserId)
        {
            RPTroc Troc = GetTroc(TrocId);

            if (Troc == null)
            {
                return;
            }

            RPTrocUser UserTroc = Troc.GetUser(UserId);

            if (UserTroc == null || UserTroc.Confirmed)
            {
                return;
            }

            if (!Troc.AllAccepted)
            {
                return;
            }

            UserTroc.Confirmed = true;

            if (!Troc.AllConfirmed)
            {
                return;
            }

            if (!EndTrade(Troc))
            {
                //SendPacket erreur ?
            }

            this.CloseTrade(Troc);
        }
示例#3
0
        public void AddItem(int TradeId, int UserId, int ItemId)
        {
            RPTroc Troc = GetTroc(TradeId);

            if (Troc == null)
            {
                return;
            }

            if (Troc.AllAccepted || Troc.AllConfirmed)
            {
                return;
            }

            RPTrocUser TrocUser = Troc.GetUser(UserId);

            if (TrocUser == null || TrocUser.Accepted || TrocUser.Confirmed)
            {
                return;
            }

            RPItem RpItem = ButterflyEnvironment.GetGame().GetRoleplayManager().GetItemManager().GetItem(ItemId);

            if (RpItem == null || RpItem.Category == RPItemCategory.QUETE || !RpItem.AllowStack)
            {
                return;
            }

            RolePlayerManager RPManager = ButterflyEnvironment.GetGame().GetRoleplayManager().GetRolePlay(Troc.RPId);

            if (RPManager == null)
            {
                return;
            }

            RolePlayer Player = RPManager.GetPlayer(UserId);

            if (Player == null)
            {
                return;
            }
            RolePlayInventoryItem Item = Player.GetInventoryItem(ItemId);

            if (Item == null)
            {
                return;
            }
            if (TrocUser.GetCountItem(ItemId) >= Item.Count)
            {
                return;
            }

            TrocUser.AddItemId(ItemId);

            this.SendPacketUsers(new RpTrocUpdateItemsComposer(UserId, TrocUser.ItemIds), Troc);
        }