This project automates mouse clicks to complete a sequence of levels in the game Zup!, available on Steam. By leveraging Python, it simulates precise mouse interactions at specific screen coordinates, enabling seamless and efficient gameplay automation.
- Automated Mouse Clicks: Automate predefined sequences of clicks to progress through game levels.
- Real-Time Mouse Coordinates: Retrieve and display the current position of the mouse cursor.
- Modular and Extensible: Includes reusable utility functions for efficient automation and customization.
-
Levels.py
:
Implements therun_levels
function, which automates mouse clicks across multiple game levels. -
getMouse.py
:
Displays the current mouse position in real-time when a mouse click is detected. -
ZUP.py
:
The main script that initiates and manages gameplay automation for all predefined levels. -
common.py
:
A utility module containing shared functions for mouse control, including:level_template_click
: Manages level-specific automation sequences.mouse_click
: Simulates a single mouse click with optional coordinate conversion for different screen resolutions.
- Install Python (version 3.7 or later is recommended).
- Install required dependencies using the following command:
pip install -r requirements.txt
Use getMouse.py
to identify screen coordinates for automation. Each mouse click will print the current cursor position to the console, making it ideal for debugging and customization.
python getMouse.py
Run the main script ZUP.py
to initiate the automation. This script performs the following tasks:
- Resets the game state.
- Executes level-specific click sequences.
- Retries levels if necessary, based on timeout or unmet conditions.
python ZUP.py
Automates mouse clicks across multiple game levels, with customizable timing and positional parameters.
Displays the current mouse cursor position in the console when the mouse is clicked.
Handles the automation logic for individual levels, including:
- Resetting the game state.
- Simulating multiple clicks with precise timing.
- Implementing retries for unmet conditions or timeouts.
Simulates a mouse click at a specified position, with built-in support for screen resolution scaling.
- Customizable Click Sequences: The click positions, delays, and conditions can be easily modified in
Levels.py
to suit different levels or UI layouts. - Screen Resolution Adaptability: The
convert_coords
function ensures compatibility with various screen resolutions by scaling coordinates dynamically.
Contributions are welcome! Here's how you can help:
- Fork this repository: Create a branch for your changes.
- Submit a pull request: Share your improvements for review.
For significant changes, open an issue to discuss your ideas before implementation.
This project is licensed under the MIT License.
Developed by Carlos Valente.
Feel free to reach out with any questions, suggestions, or collaboration opportunities!