# Tài Liệu Kỹ Thuật Hệ Thống JXHelper

## 1. Mục tiêu Dự án
Phát triển công cụ tự động hóa chuyên dụng cho Võ Lâm Truyền Kỳ (JX1) với các tiêu chuẩn công nghệ hiện đại kế thừa từ **AutoPOE2**:
- **Không chiếm chuột/phím người chơi (100% Background Input)** qua Windows Message Queue.
- **Tự động về thành an toàn** (Thổ Địa Phù).
- **Tự động sửa toàn bộ trang bị** bằng Túi Đồ Nghề trong rương F4 (tự động xử lý bảng thoại chọn Dòng 1).
- **Tự động quay lại bãi luyện công** bằng Thần Hành Phù / Phù cấp cao (gửi phím chọn menu bãi train).
- **Giao diện thân thiện phong cách VLAuto**, hỗ trợ tùy chỉnh linh hoạt, lưu cấu hình tức thì.
- **Sạch sẽ 100% trước Antivirus/Windows Defender** (Không DLL Injection, không can thiệp bộ nhớ nhạy cảm).

## 2. Kiến trúc Hệ thống 4 Lớp (Four-Layer Architecture)

```mermaid
flowchart TD
    UI[Tầng Giao Diện UI - MainForm VLAuto Style]
    Config[Tầng Cấu Hình - BotConfig SSoT]
    Core[Tầng Xử Lý Trung Tâm - BotBrain & FSM Engine]
    Platform[Tầng Tương Tác OS - Win32 Background Actuator]
    GameClient[(Cửa Sổ Game JX1 - game.exe)]

    UI <--> Config
    UI --> Core
    Core --> Platform
    Platform -- PostMessage WM_KEYDOWN / WM_RBUTTON --> GameClient
```

## 3. Luồng Thực thi Tự Hành Khép Kín (Closed-Loop Workflow)

```mermaid
sequenceDiagram
    autonumber
    participant Brain as BotBrain (FSM)
    participant Actuator as BackgroundInput
    participant Game as Client game.exe

    Note over Brain: Đến chu kỳ hoặc kích hoạt trigger
    Brain->>Actuator: SendKey(keyPhu, e.g. F8)
    Actuator->>Game: PostMessage(WM_KEYDOWN + WM_KEYUP)
    Note over Brain,Game: Chờ 2500ms nạp map về thành
    Brain->>Actuator: SendKey(keyInventory, e.g. F4)
    Actuator->>Game: PostMessage(F4 mở rương)
    Note over Brain,Game: Chờ 350ms hiển thị túi đồ
    
    rect rgb(240, 248, 255)
        Note over Brain,Game: Giai đoạn Sửa đồ (Túi Đồ Nghề)
        Brain->>Actuator: SendRightClick(RepairItemX, RepairItemY)
        Actuator->>Game: Click phải Túi Đồ Nghề
        Note over Brain,Game: Chờ 400ms bảng thoại hiện ra
        Brain->>Actuator: SendKey(0x31 - Phím '1')
        Actuator->>Game: Chọn dòng 1: Sửa toàn bộ trang bị
        Brain->>Actuator: SendKey(0x20 - Phím Space)
        Actuator->>Game: Đóng thông báo xác nhận nếu có
    end

    rect rgb(245, 255, 250)
        Note over Brain,Game: Giai đoạn Dịch chuyển (Thần Hành Phù)
        Brain->>Actuator: SendRightClick(TravelItemX, TravelItemY)
        Actuator->>Game: Click phải Thần Hành Phù
        Note over Brain,Game: Menu dịch chuyển hiện ra
        Brain->>Actuator: SendKey(TravelKeys, e.g. '1', '2')
        Actuator->>Game: Chọn bãi luyện công
        Note over Brain,Game: Teleport thẳng ra bãi train (1500ms)
    end

    Brain->>Actuator: SendKey(keyInventory, e.g. F4)
    Actuator->>Game: PostMessage(F4 đóng rương)
    Note over Brain: Hoàn tất chu kỳ khép kín 100% ngầm
```
