internal void SerializeFloor(ServerMessage Message, Boolean Inventory) { Message.AppendUInt(Id); Message.AppendString(mBaseItem.Type.ToString().ToUpper()); Message.AppendUInt(Id); Message.AppendInt32(GetBaseItem().SpriteId); Message.AppendInt32(Extra); // extra Message.AppendInt32(Data.GetTypeID()); Data.AppendToMessage(Message); Message.AppendBoolean(GetBaseItem().AllowRecycle); Message.AppendBoolean(GetBaseItem().AllowTrade); Message.AppendBoolean(GetBaseItem().AllowInventoryStack); Message.AppendBoolean(Marketplace.CanSellItem(this)); Message.AppendInt32(-1); Message.AppendString(""); Message.AppendInt32(0); }
internal void Serialize(ServerMessage Message, int UserId) { // int // int // int // int // int // string // int (extra) // int data type (0,1,2,3,4) ( // 0 = (StringData?) - string // 1 = (MapStuffData) - int i, foreach i { string, string } // 2 = (StringArrayStuffData) - int i, foreach i { string } // 3 = (?) - string, int // 4 = not implemented? // ---data // int // int // int // int // if type < 0, string if (IsFloorItem) { Message.AppendUInt(Id); Message.AppendInt32(GetBaseItem().SpriteId); // type Message.AppendInt32(mX); // x Message.AppendInt32(mY); // y Message.AppendInt32(Rot); // dir Message.AppendString(String.Format("{0:0.00}", TextHandling.GetString(mZ))); // z Message.AppendInt32(Extra); // extra Message.AppendInt32(data.GetTypeID()); // data type data.AppendToMessage(Message); //if (this.GetBaseItem().InteractionType == InteractionType.gift) //{ // int result = 0; // if (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); // if (this.ExtraData.Contains(Convert.ToChar(5).ToString())) // { // uint PurchaserId = (uint)int.Parse(ExtraData.Split(';')[0]); // Habbo Purchaser = FirewindEnvironment.getHabboForId(PurchaserId); // if (Purchaser != null) // { // // "MESSAGE", "PRODUCT_CODE", "EXTRA_PARAM", "PURCHASER_NAME", "PURCHASER_FIGURE"; // Message.AppendInt32(1); // Message.AppendInt32(6); // Message.AppendString("EXTRA_PARAM"); // Message.AppendString(""); // Message.AppendString("MESSAGE"); // Message.AppendString(ExtraData.Split(';')[1].Split((char)5)[0]); // Message.AppendString("PURCHASER_NAME"); // Message.AppendString(Purchaser.Username); // Message.AppendString("PURCHASER_FIGURE"); // Message.AppendString(Purchaser.Look); // Message.AppendString("PRODUCT_CODE"); // Message.AppendString(""); // Message.AppendString("state"); // Message.AppendString(MagicRemove ? "1" : "0"); // } // else // { // Message.AppendInt32(0); // } // } // // this.ExtraData.Contains(Convert.ToChar(5).ToString()) ? ExtraData.Split((char)5)[1] : "0" // else // Message.AppendInt32(0); //} //else //{ // Message.AppendInt32(0); // Message.AppendInt32(0); // if (GetBaseItem().InteractionType != InteractionType.fbgate) // Message.AppendString(ExtraData); // else // Message.AppendString(string.Empty); //} Message.AppendInt32(-1); Message.AppendInt32(1); // Type New R63 ('use bottom') Message.AppendInt32(UserId); } else if (IsWallItem) { Message.AppendString(Id + String.Empty); Message.AppendInt32(GetBaseItem().SpriteId); Message.AppendString(wallCoord.ToString()); switch (GetBaseItem().InteractionType) { case InteractionType.postit: Message.AppendString(data.GetData().ToString().Split(' ')[0]); break; default: Message.AppendString(data.ToString()); break; } Message.AppendInt32(1); // Type New R63 ('use bottom') Message.AppendInt32(UserId); if (data.GetType() != typeof(StringData)) { Logging.LogException(string.Format("Strange wallitem, {2}, {3}, {0}, \"{1}\"", Id, data.ToString(), GetBaseItem().Name, GetBaseItem().Type)); using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor()) dbClient.runFastQuery(string.Format("DELETE FROM items_extradata WHERE item_id = {0}", Id)); } } }