Greasy Fork is available in English.
Sets the tour's starting point from the itinerary and prevents booking the same club in the same week. Includes selector fixes, a simplified settings form, a stop button, and complete storage cleanup. Now with dynamic start/end dates.
当前为
This Tampermonkey script automates the process of booking a concert tour in the online game Popmundo. It operates from the "Book Show" page, following a predefined itinerary and user-configurable rules to find and book suitable venues.
This script is designed to streamline the tedious task of scheduling a long tour. It intelligently calculates dates, travel times, and available show slots to book a series of concerts automatically.
TOUR_ITINERARY) with specified travel times between cities. You can start the tour from any city in this list.localStorage) and settings (sessionStorage), allowing it to automatically resume its task even after the page reloads, which is necessary when changing cities in the game.Here’s how to get the script up and running.
You must have a browser extension for managing userscripts. The most common ones are:
+ tab.File > Save. The script will automatically activate when you visit a Popmundo page.https://*.popmundo.com/World/Popmundo.aspx/Artist/BookShow/*.If you need to stop the process, simply click the red Stop Booker button at the bottom-right of the screen. The script will halt and clean up all its stored data.
This section explains the core components of the script's logic.
At the top of the script, you'll find the main configuration objects:
DEFAULTS: This object holds the default values that appear in the settings form, such as the initial date, club price range, and show times. The start and end dates are dynamically set to a 7-day period starting from today.TOUR_ITINERARY: This is an array of objects, where each object represents a leg of the tour. It defines the city and the travelHours required to get there from the previous city in the list. This is the master plan the script follows.generateAndStoreTour FunctionThis is the "brain" of the script. It runs once at the beginning to create a complete schedule based on your settings.
INITIAL_CITY in the TOUR_ITINERARY and starts planning from there.lastActionTime variable, which is updated after every planned show and travel leg.SHOWS_PER_CITY).findNextShowSlot to determine the soonest valid date and time for a concert.FINAL_DATE, the entire planning process would stop. The corrected logic uses a simple break instead of a labeled break (break tourPlanningLoop). This ensures that if the final date is reached for one city, the script simply stops planning for that city and moves on to the next one, rather than ending the tour prematurely.// --- 🛠️ FIX APPLIED HERE ---
// If the next show is past the final date, stop adding shows for THIS city and move to the next.
if (nextShowTime > finalDate) {
console.log(`🛑 Final date ${settings.FINAL_DATE} reached while planning for ${leg.city}. Moving to the next city.`);
break; // This now only breaks the inner loop (for shows per city), not the 'tourPlanningLoop'.
}
runAutoBooker FunctionThis is the main "engine" that executes on the "Book Show" page. It acts as a state machine that determines what to do based on the current page content and the saved tour plan.
localStorage: Used for data that needs to persist even if you close the browser tab. This includes the full popmundo_planned_tour, the popmundo_show_index (which show is next), and the list of popmundo_booked_clubs.sessionStorage: Used for data that should only last for the current browser session. This includes your chosen popmundo_session_settings and a flag to stop the script.sessionStorage to restore them after the reload.handleConfirmationPopup to automatically click "Yes" on the confirmation dialog.