Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement