表概述

reputation_reward_rate表是声望倍率系统的核心配置表。为每个阵营(faction)单独设置各类声望来源的倍率系数,支持任务(普通/日常/周常/月常/重复)、击杀生物和法术等多种来源的独立倍率。

主键为 faction,每条记录对应一个阵营的声望倍率配置。

表结构

字段名数据类型默认值说明
factionINT UNSIGNED0阵营ID(主键),对应faction.ID
quest_rateFLOAT1普通任务声望倍率
quest_daily_rateFLOAT1日常任务声望倍率
quest_weekly_rateFLOAT1周常任务声望倍率
quest_monthly_rateFLOAT1月常任务声望倍率
quest_repeatable_rateFLOAT1可重复任务声望倍率
creature_rateFLOAT1击杀生物声望倍率
spell_rateFLOAT1法术获取声望倍率

重要字段详解

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: 为什么击杀怪物没有获得声望?

可能原因:

  1. 该生物的creature_template中未设置声望相关的faction
  2. reputation_reward_rate表中该阵营的creature_rate为0
  3. 玩家已经达到该阵营的声望上限

Q: 如何设置全服声望倍率?

可通过worldserver.conf中的Rate.Reputation相关配置项全局设置,或为每个阵营在reputation_reward_rate表中单独配置。