背包扩展到 5 页:服务端补丁 + DB 迁移 + 客户端 mt_inventory
- GameType.h: c_Inventory_Page_Count 2 -> 5; SQuickSlot.Position BYTE -> WORD - quickslot 包/接口 pos 改为 WORD(CG/GC 5 字节),wire_classic 同步 - mt_inventory PORT 模块:inventorywindow.py 装备格 90 -> EQUIPMENT_SLOT_START 重映射、5 个小页签、 自动药水高亮与 SelectItemWindow 扫描全部 5 页;40250 脚本保持不变 - tools/server/inventory-5-pages: server.patch(格子布局 +135、quickslot WORD)、migrate_db.py、README Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
22d534c5eb
commit
e33e41c12b
@@ -728,10 +728,10 @@ struct CGItemUseToItem { uint8_t header; ItemPos pos; ItemPos target_pos; };
|
||||
static_assert(sizeof(CGItemUseToItem) == 7);
|
||||
struct CGGiveItem { uint8_t header; uint32_t target_vid; ItemPos pos; uint8_t count; };
|
||||
static_assert(sizeof(CGGiveItem) == 9);
|
||||
struct CGQuickSlotAdd { uint8_t header; uint8_t pos; uint8_t type; uint8_t position; };
|
||||
struct CGQuickSlotAdd { uint8_t header; uint8_t pos; uint8_t type; uint16_t position; }; // position WORD: 5-page bag
|
||||
struct CGQuickSlotDel { uint8_t header; uint8_t pos; };
|
||||
struct CGQuickSlotSwap { uint8_t header; uint8_t pos; uint8_t pos_to; };
|
||||
static_assert(sizeof(CGQuickSlotAdd) == 4 && sizeof(CGQuickSlotDel) == 2 &&
|
||||
static_assert(sizeof(CGQuickSlotAdd) == 5 && sizeof(CGQuickSlotDel) == 2 &&
|
||||
sizeof(CGQuickSlotSwap) == 3);
|
||||
|
||||
// --- P8 social / exchange / storage intents -------------------------------
|
||||
@@ -1049,11 +1049,11 @@ static_assert(sizeof(PlayerSkill3) == 6);
|
||||
struct GCSkillLevel { uint8_t header; PlayerSkill3 skills[SKILL_MAX_NUM]; }; // header 76
|
||||
static_assert(sizeof(GCSkillLevel) == 1 + 255 * 6); // 1531
|
||||
|
||||
struct QuickSlot2 { uint8_t type; uint8_t position; }; // TQuickSlot / TQuickslot
|
||||
struct QuickSlot2 { uint8_t type; uint16_t position; }; // TQuickSlot / TQuickslot (position WORD: 5-page bag)
|
||||
struct GCQuickSlotAdd { uint8_t header; uint8_t pos; QuickSlot2 slot; }; // header 28
|
||||
struct GCQuickSlotDel { uint8_t header; uint8_t pos; }; // header 29
|
||||
struct GCQuickSlotSwap { uint8_t header; uint8_t pos; uint8_t pos_to; }; // header 30
|
||||
static_assert(sizeof(GCQuickSlotAdd) == 4 && sizeof(GCQuickSlotDel) == 2 &&
|
||||
static_assert(sizeof(GCQuickSlotAdd) == 5 && sizeof(GCQuickSlotDel) == 2 &&
|
||||
sizeof(GCQuickSlotSwap) == 3);
|
||||
|
||||
// --- GC affects ---
|
||||
|
||||
Reference in New Issue
Block a user