SHARE
TWEET

Untitled

a guest Oct 21st, 2019 80 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4. using System.Collections.Generic;
  5.  
  6. using Quasar.Utilities;
  7. using Quasar.HabboHotel.Rooms;
  8. using Quasar.HabboHotel.Items;
  9. using Quasar.HabboHotel.Groups;
  10. using Quasar.HabboHotel.Users;
  11.  
  12. namespace Quasar.Communication.Packets.Outgoing.Rooms.Engine
  13. {
  14.     class ObjectsComposer : ServerPacket
  15.     {
  16.         public ObjectsComposer(Item[] Objects, Room Room)
  17.             : base(ServerPacketHeader.ObjectsMessageComposer)
  18.         {
  19.             base.WriteInteger(1);
  20.  
  21.             base.WriteInteger(Room.OwnerId);
  22.            base.WriteString(Room.OwnerName);
  23.  
  24.             base.WriteInteger(Objects.Length);
  25.             foreach (Item Item in Objects)
  26.             {
  27.                 WriteFloorItem(Item, Convert.ToInt32(Item.UserID));
  28.             }
  29.         }
  30.  
  31.         private void WriteFloorItem(Item Item, int UserID)
  32.         {
  33.  
  34.             base.WriteInteger(Item.Id);
  35.             base.WriteInteger(Item.GetBaseItem().SpriteId);
  36.             base.WriteInteger(Item.GetX);
  37.             base.WriteInteger(Item.GetY);
  38.             base.WriteInteger(Item.Rotation);
  39.            base.WriteString(String.Format("{0:0.00}", TextHandling.GetString(Item.GetZ)));
  40.            base.WriteString(String.Empty);
  41.  
  42.             if (Item.LimitedNo > 0)
  43.             {
  44.                 base.WriteInteger(1);
  45.                 base.WriteInteger(256);
  46.                 base.WriteString(Item.ExtraData);
  47.                 base.WriteInteger(Item.LimitedNo);
  48.                 base.WriteInteger(Item.LimitedTot);
  49.             }
  50.             else if (Item.Data.InteractionType == InteractionType.INFO_TERMINAL)
  51.             {
  52.                 base.WriteInteger(0);
  53.                 base.WriteInteger(1);
  54.                 base.WriteInteger(1);
  55.                 base.WriteString("internalLink");
  56.                 base.WriteString(Item.ExtraData);
  57.             }
  58.             else if (Item.Data.InteractionType == InteractionType.FX_PROVIDER)
  59.             {
  60.                 base.WriteInteger(0);
  61.                 base.WriteInteger(1);
  62.                 base.WriteInteger(1);
  63.                 base.WriteString("effectId");
  64.                 base.WriteString(Item.ExtraData);
  65.             }
  66.  
  67.             else if (Item.Data.InteractionType == InteractionType.PINATA)
  68.             {
  69.                 base.WriteInteger(0);
  70.                 base.WriteInteger(7);
  71.                 base.WriteString("6");
  72.                 if (Item.ExtraData.Length <= 0) base.WriteInteger(0);
  73.                 else base.WriteInteger(int.Parse(Item.ExtraData));
  74.                 base.WriteInteger(100);
  75.             }
  76.             else if (Item.Data.InteractionType == InteractionType.PINATATRIGGERED)
  77.             {
  78.                 base.WriteInteger(0);
  79.                 base.WriteInteger(7);  // miran2 grafic xq no c acuerda xdddddd kva men xDDDDDDDD esk me mandaron un guasap menju eeeer xqude popddddduddddddddddddddddxdd
  80.                 base.WriteString("0");
  81.                 if (Item.ExtraData.Length <= 0) base.WriteInteger(0);
  82.                 else base.WriteInteger(int.Parse(Item.ExtraData));
  83.                 base.WriteInteger(1);
  84.             }
  85.               else if (Item.Data.InteractionType == InteractionType.MAGICEGG)
  86.             {
  87.                 base.WriteInteger(0);
  88.                 base.WriteInteger(7);
  89.                 base.WriteString(Item.ExtraData);
  90.                 if (Item.ExtraData.Length <= 0)
  91.                 {
  92.                     base.WriteInteger(0);
  93.                 }
  94.                 else
  95.                 {
  96.                     base.WriteInteger(int.Parse(Item.ExtraData));
  97.                 }
  98.                 base.WriteInteger(50);
  99.             }
  100.             else
  101.             {
  102.                 ItemBehaviourUtility.GenerateExtradata(Item, this);
  103.             }
  104.  
  105.             base.WriteInteger(-1); // to-do: check
  106.             base.WriteInteger((Item.GetBaseItem().Modes > 1) ? 1 : 0);
  107.             base.WriteInteger(UserID);
  108.         }
  109.     }
  110. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top