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()); }
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()); }