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()); }
public static function LandingLoadWidgetMessageEvent(User $user, PacketParser $packet, ClassContainer $util) { $widget = $packet->readString(); $response = new PacketConstructor(); $response->SetHeader($util->HeaderManager->Outgoing("LandingWidgetMessageComposer")); if (isset($widget) && $widget != "") { $eventData = explode(",", $widget); if (Regex::match("/gamesmaker/i", $eventData[1])) { return; } $response->WriteString($widget); $response->WriteString($eventData[1]); } else { $response->WriteString(""); $response->WriteString(""); } $user->Send($response->Finalize()); }
public static function EnterPrivateRoomMessageEvent(User $user, PacketParser $packet, ClassContainer $util) { $id = $packet->readInt32(); $password = $packet->readString(); $util->RoomManager->PrepareRoomForUser($user, $util, $id, $password); }
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()); }
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()); } }