Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Text;
- using System.Collections.Generic;
- using Quasar.Utilities;
- using Quasar.HabboHotel.Rooms;
- using Quasar.HabboHotel.Items;
- using Quasar.HabboHotel.Groups;
- using Quasar.HabboHotel.Users;
- namespace Quasar.Communication.Packets.Outgoing.Rooms.Engine
- {
- class ObjectsComposer : ServerPacket
- {
- public ObjectsComposer(Item[] Objects, Room Room)
- : base(ServerPacketHeader.ObjectsMessageComposer)
- {
- base.WriteInteger(1);
- base.WriteInteger(Room.OwnerId);
- base.WriteString(Room.OwnerName);
- base.WriteInteger(Objects.Length);
- foreach (Item Item in Objects)
- {
- WriteFloorItem(Item, Convert.ToInt32(Item.UserID));
- }
- // ----------------------------------------------------------------------------
- if (Room.HideWired) {
- for (int i = 0; i < Objects.Count(); i++) {
- Item it = Objects;
- if (it == null) continue;
- if (it.IsWired) continue;
- l.Add(it);
- }
- Objects = l.ToArray();
- base.WriteInteger(Objects.Length);
- for (int i = 0; i < Objects.Count(); i++) {
- Item Item = Objects;
- WriteFloorItem(Item, Convert.ToInt32(Item.UserID));
- }
- }
- // ----------------------------------------------------------------------------
- }
- private void WriteFloorItem(Item Item, int UserID)
- {
- base.WriteInteger(Item.Id);
- base.WriteInteger(Item.GetBaseItem().SpriteId);
- base.WriteInteger(Item.GetX);
- base.WriteInteger(Item.GetY);
- base.WriteInteger(Item.Rotation);
- base.WriteString(String.Format("{0:0.00}", TextHandling.GetString(Item.GetZ)));
- base.WriteString(String.Empty);
- if (Item.LimitedNo > 0)
- {
- base.WriteInteger(1);
- base.WriteInteger(256);
- base.WriteString(Item.ExtraData);
- base.WriteInteger(Item.LimitedNo);
- base.WriteInteger(Item.LimitedTot);
- }
- else if (Item.Data.InteractionType == InteractionType.INFO_TERMINAL)
- {
- base.WriteInteger(0);
- base.WriteInteger(1);
- base.WriteInteger(1);
- base.WriteString("internalLink");
- base.WriteString(Item.ExtraData);
- }
- else if (Item.Data.InteractionType == InteractionType.FX_PROVIDER)
- {
- base.WriteInteger(0);
- base.WriteInteger(1);
- base.WriteInteger(1);
- base.WriteString("effectId");
- base.WriteString(Item.ExtraData);
- }
- else if (Item.Data.InteractionType == InteractionType.PINATA)
- {
- base.WriteInteger(0);
- base.WriteInteger(7);
- base.WriteString("6");
- if (Item.ExtraData.Length <= 0) base.WriteInteger(0);
- else base.WriteInteger(int.Parse(Item.ExtraData));
- base.WriteInteger(100);
- }
- else if (Item.Data.InteractionType == InteractionType.PINATATRIGGERED)
- {
- base.WriteInteger(0);
- base.WriteInteger(7); // miran2 grafic xq no c acuerda xdddddd kva men xDDDDDDDD esk me mandaron un guasap menju eeeer xqude popddddduddddddddddddddddxdd
- base.WriteString("0");
- if (Item.ExtraData.Length <= 0) base.WriteInteger(0);
- else base.WriteInteger(int.Parse(Item.ExtraData));
- base.WriteInteger(1);
- }
- else if (Item.Data.InteractionType == InteractionType.MAGICEGG)
- {
- base.WriteInteger(0);
- base.WriteInteger(7);
- base.WriteString(Item.ExtraData);
- if (Item.ExtraData.Length <= 0)
- {
- base.WriteInteger(0);
- }
- else
- {
- base.WriteInteger(int.Parse(Item.ExtraData));
- }
- base.WriteInteger(50);
- }
- else
- {
- ItemBehaviourUtility.GenerateExtradata(Item, this);
- }
- base.WriteInteger(-1); // to-do: check
- base.WriteInteger((Item.GetBaseItem().Modes > 1) ? 1 : 0);
- base.WriteInteger(UserID);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement