Skip to content

apoguita/Py4GW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,760 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Py4GW

Py4GW is a Python library designed to enhance the Guild Wars experience by providing tools for automation, scripting, and in-game interactions.

Features

  • Agent Handling: Manage agents (NPCs, enemies, allies) with ease.
  • Inventory Management: Automate inventory-related tasks such as item handling and categorization.
  • Pathfinding and Navigation: Built-in tools for pathfinding and movement.
  • Widgets: Extensible widgets for customizing user experiences, including travel, titles, and more.
  • Event Hooks: Hook into game events and create your own custom logic.
  • Multi-Account Support: Efficiently manage multiple accounts simultaneously.
  • Lightweight and Modular: Designed to be fast, modular, and easy to extend.

🚀 Getting Started

Prerequisites

  • Python 3.13.0 32-bit link (other versions could causes GW Client crashes)
  • Guild Wars client

Installation

  1. Clone the repository:
    git clone https://github.com/apoguita/Py4GW.git
  2. Navigate to the project directory:
    cd Py4GW
  3. Install dependencies:
    pip install -r requirements.txt

📂 Directory Structure

Py4GW/
├── Py4GW_python_files/             # Main directory containing all project files
│   ├── Addons/                     # Add-on extensions (e.g., GWBlackBOX.dll)
│   ├── DEMO/                       # Example scripts demonstrating library usage
│   ├── HeroAI/                     # Hero AI automation and logic
│   ├── Py4GWCoreLib/               # Core library for Guild Wars automation
│   ├── Widgets/                    # Widgets for in-game interactions
│   ├── resources/                  # Fonts, configs, and other resources
│   ├── stubs/                      # Type hint files for Python development
│   ├── build/                      # Build directory
│   ├── dist/                       # Distribution directory
│   ├── Legacy code and tests/      # Archived code and test scripts
│   ├── Working Miscelaneous code/  # Experimental or temporary scripts
│   ├── Py4GW.dll                   # Main DLL for the project
│   ├── Py4GW.ini                   # Configuration file
│   ├── Py4GW_Launcher.py           # Launcher script
│   ├── Barebones_Example_module.py # Minimal example script
│   └── requirements.txt            # Dependencies

📥 How to Download

  1. Go to the Releases Page.
  2. Download the files under "Assets."
  3. Extract them to your preferred directory.

🤝 Contributing

We welcome contributions from the community! Here’s how you can get involved:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Commit your changes and push the branch.
  4. Submit a pull request for review.

Stop tracking log/configuration files

If you want want to stop tracking local changes to the log and configuration files used by Py4GW you can use the following commands to temporarly remove them from the worktree.

git update-index --skip-worktree Py4GW_injection_log.txt
git update-index --skip-worktree Py4GW.ini
git update-index --skip-worktree Py4GW_Launcher.ini

You can then verify that the files are correctly skipped by running this command that should output the list of skipped files:

git ls-files -v | grep "^S"
S Py4GW.ini
S Py4GW_Launcher.ini
S Py4GW_injection_log.txt

To re-enable local tracking of the files run the following commands:

git update-index --no-skip-worktree Py4GW_injection_log.txt
git update-index --no-skip-worktree Py4GW.ini
git update-index --no-skip-worktree Py4GW_Launcher.ini

About

a Python based Library for the game Guild Wars

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 47

Languages