Giới thiệu WarcraftHelper
WarcraftHelper là một công cụ nguồn mở chuyên dụng cho Warcraft III, hỗ trợ các phiên bản từ 1.20e đến 1.27b. Công cụ này giải quyết các vấn đề tương thích trên hệ điều hành hiện đại, bao gồm: điều chỉnh分辨率, phá vỡ giới hạn kích thước bản đồ, và mở khóa giới hạn FPS.
Các vấn đề tương thích phổ biến
Trên các máy tính hiện đại với hệ điều hành mới và màn hình độ phân giải cao, Warcraft III gặp nhiều vấn đề:
- Màn hình rộng bị kén đen hai bên
- Chữ và UI bị đè chồng ở độ phân giải cao
- Giới hạn 60 FPS gây giật lag trên màn hình tần số quét cao
- Giới hạn 8MB cho bản đồ tùy chỉnh
- Lỗi hiển thị với đường dẫn và tên file tiếng Việt
Hướng dẫn cài đặt nhanh
Bước 1: Tải và giải nén
Tải phiên bản mới nhất từ repository và giải nén vào thư mục cài đặt Warcraft III:
git clone https://gitcode.net/warcraft/warcraft-helper
Bước 2: Khởi động lần đầu
Quan trọng: Khởi động game ở chế độ cửa sổ để hoàn tất thiết lập ban đầu. Sau đó có thể chuyển sang chế độ toàn màn hình.
Bước 3: Cấu hình file INI
Mở file WarcraftHelper.ini để tùy chỉnh các tính năng:
[CauHinh]
# Mo khoa FPS
MoKhoaFPS = true
# Hien thi FPS trong game
HienThiFPS = true
# Ho tro man hinh rong
ManHinhRong = true
# Pha gioi han kich thuoc ban do
PhaGioiHanBanDo = true
# Tu dong luu replay
LuuReplay = true
# Target FPS
TargetFps = 144
Chi tiết các tính năng chính
Hỗ trợ màn hình rộng
Tính năng này tự động điều chỉnh tỉ lệ khung hình 16:9 hoặc 16:10, loại bỏ viền đen hai bên trong khi giữ nguyên UI không bị biến dạng.
Mở khóa FPS
Giới hạn FPS mặc định 60 được gỡ bỏ, cho phép thiết lập từ 60Hz đến 300Hz, giảm độ trễ input và cải thiện trải nghiệm.
Phá vỡ giới hạn bản đồ
Cho phép chạy các bản đồ tùy chỉnh lớn hơn 8MB, tương thích với hầu hết các định dạng bản đồ.
Bảng tương thích phiên bản
| Tính năng | 1.20e | 1.24e | 1.26a | 1.27a-1.27b |
|---|---|---|---|---|
| Màn hình rộng | ✓ | ✓ | ✓ | ✓ |
| Mở khóa FPS | ✓ | ✓ | ✓ | ✓ |
| Phá giới hạn bản đồ | ✓ | ✓ | ✓ | ✓ |
| Lưu replay tự động | ✓ | ✓ | ✓ | ✓ |
| Sửa lỗi tiếng Việt | ✓ | ✓ | ✓ | ✓ |
Câu hỏi thường gặp
Q: Chữ bị đè chồng ở độ phân giải cao?
A: Nhấn F7 trong game (chế độ cửa sổ) để làm mới giao diện.
Q: Game bị giật ở phiên bản cũ?
A: Cài đặt patch d3d8to9 cho phiên bản 1.20e và 1.24e để cải thiện tương thích.
Q: Replay được lưu ở đâu?
A: Thư mục `replay/WHReplay/` trong game, tự động phân loại theo ngày giờ.
Hướng dẫn biên dịch cho người phát triển
Cấu trúc source code:
WarcraftHelper/
├── Config/
│ └── WarcraftHelper.ini
├── Core/
│ ├── ManHinhRong.cpp
│ ├── MoKhoaFPS.cpp
│ └── PhaGioiHanBanDo.cpp
├── Loader/
└── DirectX/
└── d3d9/
Yêu cầu biên dịch:
- CMake 3.10+
- Visual Studio 2022
Lệnh biên dịch:
cmake . -A win32 -B build
cmake --build build --config Release
Cấu hình tối ưu theo loại người chơi
Đối với game thủ thi đấu
[CauHinh]
MoKhoaFPS = true
HienThiFPS = true
TargetFps = 240
HienThanhMau = true
Đối với người chơi RPG
[CauHinh]
ManHinhRong = true
PhaGioiHanBanDo = true
SuaLoiTiengViet = true
Đối với người chơi hoài niệm
[CauHinh]
ManHinhRong = true
MoKhoaFPS = true
TargetFps = 60
CheDoCuaSo = true
Lưu ý quan trọng
- Luôn khởi động ở chế độ cửa sổ lần đầu sử dụng
- Sao lưu file INI trước khi chỉnh sửa
- Kiểm tra phiên bản tương thích với game
- Chỉ tải từ repository chính thức
Nguyên lý hoạt động
WarcraftHelper sử dụng kỹ thuật DLL injection để sửa đổi dữ liệu memory của game, áp dụng các hook để can thiệp vào hàm system calls, quản lý cấu hình qua file INI và tự động nhận diện phiên bản game.