切换菜单随机选择以获取菜单 | 如无任何获取则选择第一个菜单项 更新卡牌状态[不完美],仍需切换才能显示已获得的高亮状态 移除多处冗余代码,增加main文件 添加菜单选中纹理,对已获得菜单排序
收藏系统模块 (mod-Collection)
概述
这个模块为AzerothCore添加了收藏系统功能,玩家可以收藏坐骑、小伙伴、卡牌和物品,并获得相应的属性加成。
数据库表结构
经过优化,收藏系统现在使用以下数据库表:
1. __sm收藏系统属性加成表
属性加成配置表,存储各类收藏物品可获得的属性加成信息。
字段:
ID- 属性加成ID增加属性效果类型1~增加属性效果类型5- 加成属性类型提升类型1~提升类型5- 加成值类型(固定值/百分比)提升数值1~提升数值5- 加成数值
2. __sm收藏坐骑配置表
坐骑专用配置表,存储坐骑的描述信息和关联的属性加成。
字段:
ID- 坐骑ID(技能ID)描述信息- 坐骑描述属性加成ID- 关联到属性加成表的ID
3. __sm收藏小伙伴配置表
小伙伴专用配置表,存储小伙伴的描述信息和关联的属性加成。
字段:
ID- 小伙伴ID(技能ID)描述信息- 小伙伴描述属性加成ID- 关联到属性加成表的ID
4. __sm收藏卡牌配置表
卡牌专用配置表,存储卡牌的描述信息和关联的属性加成。
字段:
ID- 卡牌ID描述信息- 卡牌描述属性加成ID- 关联到属性加成表的ID
5. __sm收藏物品配置表
物品专用配置表,存储物品的描述信息、类型和关联的属性加成。
字段:
ID- 物品ID描述信息- 物品描述物品类型- 物品类型(如:头部、肩部、胸部等)属性加成ID- 关联到属性加成表的ID
6. 玩家收藏数据
玩家收藏数据表,存储玩家已收藏的物品。
字段:
玩家GUID- 玩家的唯一标识符收藏分类- 收藏类型物品ID- 物品ID收藏时间- 收藏时间
如何添加新收藏项
- 在属性加成表
__sm收藏系统属性加成表中添加属性加成配置 - 根据物品类型在对应的配置表中添加描述信息和其他专属数据,并关联到属性加成ID:
- 坐骑:在
__sm收藏坐骑配置表中添加描述和属性加成ID - 小伙伴:在
__sm收藏小伙伴配置表中添加描述和属性加成ID - 卡牌:在
__sm收藏卡牌配置表中添加描述和属性加成ID - 物品:在
__sm收藏物品配置表中添加描述、物品类型和属性加成ID
- 坐骑:在
使用示例
-- 添加一个属性加成配置
INSERT INTO acore_custom.`__sm收藏系统属性加成表` VALUES
(1001, '全属性', '百分比', 0.01, '', '', 0, '', '', 0, '', '', 0, '', '', 0);
-- 添加一个坐骑,关联到属性加成ID 1001
INSERT INTO acore_custom.`__sm收藏坐骑配置表` VALUES
(33391, '作为部落势力的象征,暗矛迅猛龙在投入战斗前,会用它锋利的牙齿和爪子杀死猎物,以鲜血祭祀战争之神。', 1001);
-- 添加一个小伙伴,关联到属性加成ID 1002
INSERT INTO acore_custom.`__sm收藏系统属性加成表` VALUES
(1002, '耐力', '固定值', 20, '', '', 0, '', '', 0, '', '', 0, '', '', 0);
INSERT INTO acore_custom.`__sm收藏小伙伴配置表` VALUES
(10673, '这只忠诚的猫咪会跟随你踏上冒险旅程。', 1002);
-- 添加一个物品,关联到属性加成ID 1003
INSERT INTO acore_custom.`__sm收藏系统属性加成表` VALUES
(1003, '智力', '固定值', 30, '精神', '固定值', 20, '', '', 0, '', '', 0, '', '', 0);
INSERT INTO acore_custom.`__sm收藏物品配置表` VALUES
(40395, '萨隆邪铁法袍散发着强大的能量。', '胸部', 1003);