reputation_reward_rate 表
reputation_reward_rate表定义各阵营在不同来源(任务、击杀、法术)下获得的声望倍率。
表概述
reputation_reward_rate表是声望倍率系统的核心配置表。为每个阵营(faction)单独设置各类声望来源的倍率系数,支持任务(普通/日常/周常/月常/重复)、击杀生物和法术等多种来源的独立倍率。
主键为 faction,每条记录对应一个阵营的声望倍率配置。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| faction | INT UNSIGNED | 0 | 阵营ID(主键),对应faction.ID |
| quest_rate | FLOAT | 1 | 普通任务声望倍率 |
| quest_daily_rate | FLOAT | 1 | 日常任务声望倍率 |
| quest_weekly_rate | FLOAT | 1 | 周常任务声望倍率 |
| quest_monthly_rate | FLOAT | 1 | 月常任务声望倍率 |
| quest_repeatable_rate | FLOAT | 1 | 可重复任务声望倍率 |
| creature_rate | FLOAT | 1 | 击杀生物声望倍率 |
| spell_rate | FLOAT | 1 | 法术获取声望倍率 |
重要字段详解
faction (阵营ID)
对应faction表中的阵营ID。只有在此表中有记录的阵营才会应用自定义倍率,未配置的阵营默认为1.0倍。
各类声望倍率
每种来源都可以独立设置倍率。实际获得声望 = 基础声望值 × 对应倍率。
- quest_rate - 普通非重复任务
- quest_daily_rate - 蓝色感叹号日常任务
- creature_rate - 击杀生物获取
- spell_rate - 法术效果获取(如捐献符文布)
1.0 = 正常倍率,2.0 = 双倍,0.5 = 减半。
实战案例
查询所有阵营的声望倍率配置:
SELECT faction, quest_rate, quest_daily_rate, creature_rate, spell_rate
FROM reputation_reward_rate
ORDER BY faction;
设置某阵营双倍声望:
INSERT INTO reputation_reward_rate (faction, quest_rate, quest_daily_rate, creature_rate, spell_rate)
VALUES (69, 2.0, 2.0, 2.0, 2.0)
ON DUPLICATE KEY UPDATE quest_rate=2.0, quest_daily_rate=2.0, creature_rate=2.0, spell_rate=2.0;
查询声望倍率高于正常的阵营(加速声望):
SELECT rr.faction, f.Name_Lang_zhCN, rr.quest_rate
FROM reputation_reward_rate rr
LEFT JOIN faction f ON rr.faction = f.ID
WHERE rr.quest_rate > 1.0
ORDER BY rr.quest_rate DESC;
常见问题
Q: 为什么击杀怪物没有获得声望?
可能原因:
- 该生物的creature_template中未设置声望相关的faction
- reputation_reward_rate表中该阵营的creature_rate为0
- 玩家已经达到该阵营的声望上限
Q: 如何设置全服声望倍率?
可通过worldserver.conf中的Rate.Reputation相关配置项全局设置,或为每个阵营在reputation_reward_rate表中单独配置。