Example #1
0
 public static function RetrieveCitizenshipStatusEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("CitizenshipStatusMessageComposer"));
     $response->WriteString($packet->readString());
     $response->WriteInt32(4);
     $response->WriteInt32(4);
     $user->Send($response->Finalize());
 }
Example #2
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());
 }
Example #3
0
 public static function LandingRefreshRewardMessageEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $promo = $util->Cache->hotelviewrewardpromo[0];
     if ($promo['enabled'] == "1") {
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("LandingRewardMessageComposer"));
         $response->WriteString($promo['furni_name']);
         $response->WriteInt32($promo['furni_id']);
         $response->WriteInt32(120);
         $response->WriteInt32(120 - $user->habbo['respect']);
         $user->Send($response->Finalize());
     }
 }
Example #4
0
 public static function UserGetVolumeSettingsMessageEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("LoadVolumeMessageComposer"));
     $response->WriteInt32($user->habbo['volume']);
     $response->WriteInt32($user->habbo['volume']);
     $response->WriteInt32($user->habbo['volume']);
     $response->WriteBoolean(false);
     //old chat
     $response->WriteBoolean(false);
     //ignore room invite
     $response->WriteBoolean(false);
     //disable camera follow
     $response->WriteInt32(3);
     //collapse friends (3 = no)
     $response->WriteInt32(0);
     //bubble
     $user->Send($response->Finalize());
 }
Example #5
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());
 }
Example #6
0
 public function SerializeRoomData(ClassContainer $util, User $user, $isNotReload = false, $sendRoom = false, $show = true)
 {
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomDataMessageComposer"));
     $response->WriteBoolean($show);
     $this->Serialize($response, true, !$isNotReload);
     $response->WriteBoolean($isNotReload);
     $response->WriteBoolean(false);
     //public ?
     $response->WriteBoolean(!$isNotReload);
     $response->WriteBoolean($this->muted);
     $response->WriteInt32(0);
     //whocanmute
     $response->WriteInt32(0);
     //whocankick
     $response->WriteInt32(0);
     //whocanban
     $response->WriteBoolean(true);
     //room rights, need check here
     $response->WriteInt32(0);
     //chat type
     $response->WriteInt32(0);
     //chat balloon
     $response->WriteInt32(0);
     //chat speed
     $response->WriteInt32(14);
     //chat maxdistance
     $response->WriteInt32(0);
     //chat flood protection
     /* if ($sendRoom == null)
        return; */
     //if ($sendRoom) {
     //$this->Send($response->Finalize());
     //} else {
     //Console::WriteLine($response->Finalize());
     $user->Send($response->Finalize());
     //}
 }
Example #7
0
 public static function SearchNewNavigatorEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $name = $packet->readString();
     $junk = $packet->readString();
     switch ($name) {
         case "official_view":
             $navigatorlength = 2;
             break;
         case "myworld_view":
             $navigatorlength = 5;
             break;
         case "hotel_view":
         case "roomads_view":
             $navigatorlength = count($util->Cache->navigatorcategories) + 1;
             break;
         default:
             $navigatorlength = 1;
             break;
     }
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("SearchResultSetComposer"));
     $response->WriteString($name);
     $response->WriteString($junk);
     //$response->WriteInt32(strlen($junk) > 0 ? 1 : $navigatorlength);
     if (strlen($junk) > 0) {
         $response->WriteInt32(strlen($junk) > 0 ? 1 : $navigatorlength);
         SearchResultList::SerializeSearches($junk, $response, $util);
     } else {
         $response->WriteInt32(0);
         //SearchResultList::SerializeSearchResultListStatics($name, true, $response, $util);
     }
     $user->Send($response->Finalize());
 }
Example #8
0
 public static function SSOTicketMessageEvent(User $user, PacketParser $packet, ClassContainer $util)
 {
     $ticket = $packet->readString();
     $query = $util->Database->Query("SELECT * FROM users WHERE auth_ticket = ? LIMIT 1", array($ticket));
     if (count($query) == 0) {
         Console::WriteLine("User not found, ticket : " . $ticket);
         $user->disconnect();
     } else {
         $check = $util->index->GetUserbyHabboId($query[0]['id']);
         if ($check) {
             $check->disconnect();
         }
         $user->habbo = $query[0];
         $util->index->habboid[$user->habbo['id']] =& $user;
         Console::WriteLine("- " . $user->habbo['username'] . " logged in !");
         $util->Database->Exec("UPDATE users SET online = '1' WHERE id = ?", array($user->habbo['id']));
         $util->Database->Exec("UPDATE server_status SET users_online = users_online + 1");
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("UniqueMachineIDMessageComposer"));
         $response->WriteString($user->HWID);
         $user->Send($response->Finalize());
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("AuthenticationOKMessageComposer"));
         $user->Send($response->Finalize());
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("HomeRoomMessageComposer"));
         $response->WriteInt32($user->habbo['home_room']);
         $response->WriteInt32($user->habbo['home_room']);
         $user->Send($response->Finalize());
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("MinimailCountMessageComposer"));
         $response->WriteInt32(0);
         $user->Send($response->Finalize());
         $favoriterooms = $util->Database->Query("SELECT room_id FROM user_favorites WHERE user_id = ?", array($user->habbo['id']));
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("FavouriteRoomsMessageComposer"));
         $response->WriteInt32(30);
         $response->WriteInt32(count($favoriterooms));
         foreach ($favoriterooms as $favorite) {
             $response->WriteInt32($favorite['room_id']);
         }
         $user->Send($response->Finalize());
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("EnableNotificationsMessageComposer"));
         $response->WriteBoolean(true);
         $response->WriteBoolean(false);
         $user->Send($response->Finalize());
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("EnableTradingMessageComposer"));
         $response->WriteBoolean(true);
         $user->Send($response->Finalize());
     }
 }
Example #9
0
 public static function LoadRoomForUser(User $user, ClassContainer $util)
 {
     $room = $user->currentLoadingRoom;
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomGroupMessageComposer"));
     $response->WriteInt32(0);
     //count
     //id
     //string
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("InitialRoomInfoMessageComposer"));
     $response->WriteString($room->getModelName());
     $response->WriteInt32($room->getId());
     $user->Send($response->Finalize());
     if ($user->spectatorMode) {
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("SpectatorModeMessageComposer"));
         $user->Send($response->Finalize());
     }
     if ($room->getWallpaper() != "0.0") {
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("RoomSpacesMessageComposer"));
         $response->WriteString("wallpaper");
         $response->WriteString($room->getWallpaper());
         $user->Send($response->Finalize());
     }
     if ($room->getFloor() != "0.0") {
         $response = new PacketConstructor();
         $response->SetHeader($util->HeaderManager->Outgoing("RoomSpacesMessageComposer"));
         $response->WriteString("floor");
         $response->WriteString($room->getFloor());
         $user->Send($response->Finalize());
     }
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomSpacesMessageComposer"));
     $response->WriteString("landscape");
     $response->WriteString($room->getLandscape());
     $user->Send($response->Finalize());
     //owner rights, TODO: check rights
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomRightsLevelMessageComposer"));
     $response->WriteInt32(4);
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("HasOwnerRightsMessageComposer"));
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomRatingMessageComposer"));
     $response->WriteInt32($room->getScore());
     $response->WriteBoolean(false);
     //can vote ?
     $user->Send($response->Finalize());
     $response = new PacketConstructor();
     $response->SetHeader($util->HeaderManager->Outgoing("RoomUpdateMessageComposer"));
     $response->WriteInt32($room->getId());
     $user->Send($response->Finalize());
 }