Exemple #1
0
 public static function ConsoleInitEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("LoadFriendsCategories"));
     $response->WriteInt32(2000);
     $response->WriteInt32(300);
     $response->WriteInt32(800);
     $response->WriteInt32(1100);
     $response->WriteInt32(0);
     //count
     //int id
     //str name
     $user->Send($response->Finalize());
     $friends = $util->Database->Query("SELECT u.id,u.username,u.look,u.online,u.motto FROM messenger_friendships m, users u WHERE m.user_one_id = ? AND u.id = m.user_two_id ORDER BY online DESC", array($user->habbo['id']));
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("LoadFriendsMessageComposer"));
     $response->WriteInt32(1);
     $response->WriteInt32(0);
     $response->WriteInt32(count($friends));
     foreach ($friends as $friend) {
         $response->WriteInt32($friend['id']);
         $response->WriteString($friend['username']);
         $response->WriteInt32($friend['online']);
         $response->WriteBoolean(false);
         $response->WriteBoolean(false);
         $response->WriteString($friend['look']);
         $response->WriteInt32(0);
         $response->WriteString($friend['motto']);
         $response->WriteString("");
         $response->WriteString("");
         $response->WriteBoolean(true);
         //persistedMessageUser
         $response->WriteBoolean(false);
         $response->WriteBoolean(false);
         //pockethabbo ?
         $response->WriteInt16(0);
         //relationship
     }
     $user->Send($response->Finalize());
 }
Exemple #2
0
 public static function RoomGetHeightmapMessageEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $room = $user->currentLoadingRoom;
     $model = $room->getModel();
     $heightmap = String::replace($model['heightmap'], chr(0xa), '');
     $split = explode(chr(0xd), $heightmap);
     $sizeX = strlen($split[0]);
     $sizeY = count($split);
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("HeightMapMessageComposer"));
     $response->WriteInt32($sizeX);
     $response->WriteInt32($sizeX * $sizeY);
     for ($i = 0; $i < $sizeY; $i++) {
         for ($j = 0; $j < $sizeX; $j++) {
             $response->WriteInt16(0 * 256);
         }
     }
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("FloorMapMessageComposer"));
     $response->WriteBoolean(true);
     $response->WriteInt32(1);
     //wall height
     $response->WriteString($heightmap . chr(0xd));
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomFloorItemsMessageComposer"));
     $response->WriteInt32(1);
     //owner count
     $response->WriteInt32($room->getOwner()['id']);
     $response->WriteString($room->getOwner()['username']);
     $response->WriteInt32(0);
     //items count
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomWallItemsMessageComposer"));
     $response->WriteInt32(1);
     //owner count
     $response->WriteInt32($room->getOwner()['id']);
     $response->WriteString($room->getOwner()['username']);
     $response->WriteInt32(0);
     //items count
     $user->Send($response->Finalize());
 }