https://github.com/cfmvcarlos/zup-game-bot
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.
https://github.com/cfmvcarlos/zup-game-bot
pil-image pyautogui python python-bot python-game python-keyboard python-mouse python3
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cfmvcarlos/zup-game-bot
- Owner: CFMVCarlos
- License: mit
- Created: 2024-11-24T00:17:37.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-24T00:19:30.000Z (6 months ago)
- Last Synced: 2025-01-30T13:28:35.780Z (4 months ago)
- Topics: pil-image, pyautogui, python, python-bot, python-game, python-keyboard, python-mouse, python3
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Programming Click Mouse
This project automates mouse clicks to complete a sequence of levels in the game **Zup!**, available on [Steam](https://store.steampowered.com/app/533300/Zup/). By leveraging Python, it simulates precise mouse interactions at specific screen coordinates, enabling seamless and efficient gameplay automation.
---
## Features
- **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.---
## Project Structure
- **`Levels.py`**:
Implements the `run_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.---
## Setup and Usage
### Prerequisites
1. Install Python (version 3.7 or later is recommended).
2. Install required dependencies using the following command:
```bash
pip install -r requirements.txt
```### Running the Scripts
#### 1. Display Mouse Position
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.
```bash
python getMouse.py
```#### 2. Automate Gameplay
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.
```bash
python ZUP.py
```---
## Core Functions
### `run_levels` (in `Levels.py`)
Automates mouse clicks across multiple game levels, with customizable timing and positional parameters.### `display_mouse_position` (in `getMouse.py`)
Displays the current mouse cursor position in the console when the mouse is clicked.### `level_template_click` (in `common.py`)
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.### `mouse_click` (in `common.py`)
Simulates a mouse click at a specified position, with built-in support for screen resolution scaling.---
## Additional Notes
- **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.---
## Contributing
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.
---
## License
This project is licensed under the [MIT License](LICENSE).
---
## Author
Developed by [Carlos Valente](https://github.com/CFMVCarlos).
Feel free to reach out with any questions, suggestions, or collaboration opportunities!