コード例 #1
0
        //internal void Serialize(ServerMessage Message)
        //{

        //    Message.Append(Id);
        //    Message.Append(0);
        //    if (mBaseItem == null)
        //        Logging.LogException("Unknown base: " + BaseItem);
        //    Message.Append(mBaseItem.Type.ToString().ToUpper());
        //    Message.Append(Id);
        //    Message.Append(mBaseItem.SpriteId);

        //    if (mBaseItem.Name.Contains("a2"))
        //        Message.Append(3);
        //    else if (mBaseItem.Name.Contains("wallpaper"))
        //        Message.Append(2);
        //    else if (mBaseItem.Name.Contains("landscape"))
        //        Message.Append(4);
        //    else
        //        Message.Append(0);

        //    Message.Append(ExtraData);
        //    Message.Append(mBaseItem.AllowRecycle);
        //    Message.Append(mBaseItem.AllowTrade);
        //    Message.Append(mBaseItem.AllowInventoryStack);
        //    Message.Append(Marketplace.CanSellItem(this));
        //    Message.Append(-1);

        //    if (mBaseItem.Type == 's')
        //    {
        //        Message.Append("");
        //        Message.Append(-1);
        //    }
        //}

        internal void SerializeWall(ServerMessage Message, Boolean Inventory)
        {
            Message.AppendUInt(Id);
            Message.AppendStringWithBreak(mBaseItem.Type.ToString().ToUpper());
            Message.AppendUInt(Id);
            Message.AppendInt32(GetBaseItem().SpriteId);

            if (GetBaseItem().Name.Contains("a2"))
            {
                Message.AppendInt32(3);
            }
            else if (GetBaseItem().Name.Contains("wallpaper"))
            {
                Message.AppendInt32(2);
            }
            else if (GetBaseItem().Name.Contains("landscape"))
            {
                Message.AppendInt32(4);
            }
            else
            {
                Message.AppendInt32(1);
            }

            Message.AppendStringWithBreak(ExtraData);
            Message.AppendBoolean(GetBaseItem().AllowRecycle);
            Message.AppendBoolean(GetBaseItem().AllowTrade);
            Message.AppendBoolean(GetBaseItem().AllowInventoryStack);
            Message.AppendBoolean(Marketplace.CanSellItem(this));
            Message.AppendInt32(-1);
        }
コード例 #2
0
        internal void SerializeFloor(ServerMessage Message, Boolean Inventory)
        {
            Message.AppendUInt(Id);
            Message.AppendStringWithBreak(mBaseItem.Type.ToString().ToUpper());
            Message.AppendUInt(Id);
            Message.AppendInt32(GetBaseItem().SpriteId);
            Message.AppendInt32(1);
            Message.AppendStringWithBreak(ExtraData);

            Message.AppendBoolean(GetBaseItem().AllowRecycle);
            Message.AppendBoolean(GetBaseItem().AllowTrade);
            Message.AppendBoolean(GetBaseItem().AllowInventoryStack);
            Message.AppendBoolean(Marketplace.CanSellItem(this));
            Message.AppendInt32(-1);
            Message.AppendStringWithBreak("");
            Message.AppendInt32(0);
        }
コード例 #3
0
        internal void SerializeWall(ServerMessage Message, Boolean Inventory)
        {
            try
            {
                Message.AppendUInt(Id);
                Message.AppendString(mBaseItem.Type.ToString().ToUpper());
                Message.AppendUInt(Id);
                Message.AppendInt32(mBaseItem.SpriteId);

                if (mBaseItem.Name.Contains("a2") || mBaseItem.Name.Contains("floor"))
                {
                    Message.AppendInt32(3);
                }
                else if (mBaseItem.Name.Contains("wallpaper") && mBaseItem.Name != "wildwest_wallpaper")
                {
                    Message.AppendInt32(2);
                }
                else if (mBaseItem.Name.Contains("landscape"))
                {
                    Message.AppendInt32(4);
                }
                else
                {
                    Message.AppendInt32(1);
                }
                Message.AppendInt32(0);
                Message.AppendString(ExtraData);
                Message.AppendBoolean(mBaseItem.AllowRecycle);
                Message.AppendBoolean(mBaseItem.AllowTrade);
                Message.AppendBoolean(mBaseItem.AllowInventoryStack);
                Message.AppendBoolean(Marketplace.CanSellItem(this));
                Message.AppendInt32(-1);
                Message.AppendBoolean(false);
                Message.AppendInt32(-1);

                if (mBaseItem.InteractionType == InteractionType.photo)
                {
                }
            }
            catch (Exception e)
            {
                Logging.LogPacketException("Error al serializar un item de pared en el inventario: <" + Id + "> : ", e.ToString());
            }
        }
コード例 #4
0
ファイル: UserItem.cs プロジェクト: Habbotard/Firewind
        //internal void Serialize(ServerMessage Message)
        //{

        //    Message.AppendUInt(Id);
        //    Message.AppendInt32(0);
        //    if (mBaseItem == null)
        //        Logging.LogException("Unknown base: " + BaseItem);
        //    Message.AppendString(mBaseItem.Type.ToString().ToUpper());
        //    Message.AppendUInt(Id);
        //    Message.AppendInt32(mBaseItem.SpriteId);

        //    if (mBaseItem.Name.Contains("a2"))
        //        Message.AppendInt32(3);
        //    else if (mBaseItem.Name.Contains("wallpaper"))
        //        Message.AppendInt32(2);
        //    else if (mBaseItem.Name.Contains("landscape"))
        //        Message.AppendInt32(4);
        //    else
        //        Message.AppendInt32(0);

        //    Message.AppendString(ExtraData);
        //    Message.AppendBoolean(mBaseItem.AllowRecycle);
        //    Message.AppendBoolean(mBaseItem.AllowTrade);
        //    Message.AppendBoolean(mBaseItem.AllowInventoryStack);
        //    Message.AppendBoolean(Marketplace.CanSellItem(this));
        //    Message.AppendInt32(-1);

        //    if (mBaseItem.Type == 's')
        //    {
        //        Message.AppendString("");
        //        Message.AppendInt32(-1);
        //    }
        //}

        internal void SerializeWall(ServerMessage Message, Boolean Inventory)
        {
            Message.AppendUInt(Id);
            Message.AppendString(mBaseItem.Type.ToString().ToUpper());
            Message.AppendUInt(Id);
            Message.AppendInt32(GetBaseItem().SpriteId);

            if (GetBaseItem().Name.Contains("floor"))
            {
                Message.AppendInt32(3);
            }
            else if (GetBaseItem().Name.Contains("wallpaper"))
            {
                Message.AppendInt32(2);
            }
            else if (GetBaseItem().Name.Contains("landscape"))
            {
                Message.AppendInt32(4);
            }
            else
            {
                Message.AppendInt32(1);
            }
            int result = 0;

            //if (this.GetBaseItem().InteractionType == InteractionType.gift && ExtraData.Contains(Convert.ToChar(5).ToString()))
            //{
            //    int color = int.Parse(ExtraData.Split((char)5)[1]);
            //    int lazo = int.Parse(ExtraData.Split((char)5)[2]);
            //    result = color * 1000 + lazo;
            //}
            Message.AppendInt32(result);
            Message.AppendString(Data.ToString());
            Message.AppendBoolean(GetBaseItem().AllowRecycle);
            Message.AppendBoolean(GetBaseItem().AllowTrade);
            Message.AppendBoolean(GetBaseItem().AllowInventoryStack);
            Message.AppendBoolean(Marketplace.CanSellItem(this));
            Message.AppendInt32(-1);
        }
コード例 #5
0
        internal void SerializeFloor(ServerMessage Message, Boolean Inventory)
        {
            Message.AppendUInt(Id);
            Message.AppendString(mBaseItem.Type.ToString().ToUpper());
            Message.AppendUInt(Id);
            Message.AppendInt32(mBaseItem.SpriteId);
            var result = 1;

            if (mBaseItem.InteractionType == InteractionType.gift)
            {
                result = 9;
            }
            else if (mBaseItem.InteractionType == InteractionType.seed)
            {
                result = 19;
            }

            Message.AppendInt32(result); // category
            if (mBaseItem.IsGroupItem)
            {
                try
                {
                    uint GroupID = uint.Parse(ExtraData.Split(';')[1]);

                    var Group = OtanixEnvironment.GetGame().GetGroup().LoadGroup(GroupID);
                    Message.AppendInt32(2);
                    Message.AppendInt32(5);
                    Message.AppendString(ExtraData.Split(';')[0]);
                    Message.AppendString(GroupID.ToString());
                    Message.AppendString(Group == null ? "" : Group.GroupImage);
                    Message.AppendString(ExtraData.Split(';')[2]);
                    Message.AppendString(ExtraData.Split(';')[3]);
                }
                catch
                {
                    Message.AppendInt32(2);
                    Message.AppendInt32(0);
                }
            }
            else if (mBaseItem.LimitedStack > 0)
            {
                Message.AppendString("");
                Message.AppendBoolean(true);
                Message.AppendBoolean(false);
            }
            else if (mBaseItem.InteractionType == InteractionType.badge_display)
            {
                Message.AppendInt32(2);
            }
            else if (mBaseItem.InteractionType == InteractionType.maniqui || mBaseItem.InteractionType == InteractionType.yttv || mBaseItem.InteractionType == InteractionType.seed)
            {
                Message.AppendInt32(1);
            }
            else
            {
                Message.AppendInt32(0);
            }

            if (mBaseItem.InteractionType == InteractionType.maniqui)
            {
                if (ExtraData.Length <= 0 || !ExtraData.Contains(";") || ExtraData.Split(';').Length < 3)
                {
                    Message.AppendInt32(3); // Coun Of Values
                    Message.AppendString("GENDER");
                    Message.AppendString("m");
                    Message.AppendString("FIGURE");
                    Message.AppendString("");
                    Message.AppendString("OUTFIT_NAME");
                    Message.AppendString("");
                }
                else
                {
                    var Extradatas = ExtraData.Split(';');

                    Message.AppendInt32(3); // Count Of Values
                    Message.AppendString("GENDER");
                    Message.AppendString(Extradatas[0]);
                    Message.AppendString("FIGURE");
                    Message.AppendString(Extradatas[1]);
                    Message.AppendString("OUTFIT_NAME");
                    Message.AppendString(Extradatas[2]);
                }
            }
            else if (mBaseItem.InteractionType == InteractionType.yttv)
            {
                Message.AppendInt32(1);
                Message.AppendString("THUMBNAIL_URL");
                Message.AppendString(ExtraData);
            }
            else if (mBaseItem.InteractionType == InteractionType.badge_display)
            {
                Message.AppendInt32(4); // Count of Values
                Message.AppendString("0");
                if (ExtraData.Split(';').Length == 3)
                {
                    Message.AppendString(ExtraData.Split(';')[0]); // BadgeCode
                    Message.AppendString(ExtraData.Split(';')[1]); // OwnerName
                    Message.AppendString(ExtraData.Split(';')[2]); // DateBuyed
                }
                else
                {
                    Message.AppendString(ExtraData); // BadgeCode
                    Message.AppendString("");        // OwnerName
                    Message.AppendString("");        // DateBuyed
                }
            }
            else if (mBaseItem.InteractionType == InteractionType.seed)
            {
                Message.AppendInt32(1);
                Message.AppendString("rarity");
                Message.AppendString(ExtraData);
            }
            else if (mBaseItem.IsGroupItem)
            {
            }
            else
            {
                Message.AppendString(ExtraData);
            }

            if (mBaseItem.LimitedStack > 0)
            {
                Message.AppendInt32(LimitedValue);
                Message.AppendInt32(mBaseItem.LimitedStack);
            }

            Message.AppendBoolean(mBaseItem.AllowRecycle);
            Message.AppendBoolean(mBaseItem.AllowTrade);
            Message.AppendBoolean(mBaseItem.AllowInventoryStack);
            Message.AppendBoolean(Marketplace.CanSellItem(this));
            Message.AppendInt32(-1);
            Message.AppendBoolean(false);
            Message.AppendInt32(-1);
            Message.AppendString("");

            int giftValue = 0;

            if (mBaseItem.InteractionType == InteractionType.gift)
            {
                int.TryParse(ExtraData.Split(';')[1], out giftValue);
            }

            Message.AppendInt32(giftValue);
        }