exploration_basexp 表
exploration_basexp表定义了探索新区域时给予玩家的基础经验值,按玩家等级分档计算。
表概述
exploration_basexp表是Exploration System(探索系统)的核心数据表。当玩家首次进入一个新的区域时(地图上显示"发现xxx"),系统根据玩家当前等级查询此表获得基础经验值奖励。
主键为 level,每条记录对应一个玩家等级的经验值奖励基数。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| level | TINYINT UNSIGNED | 0 | 玩家等级 |
| basexp | INT | 0 | 该等级探索新区域的基础经验值 |
重要字段详解
level (玩家等级)
主键字段,代表玩家当前等级。等级范围通常为 0 到 80(含80级)。
当玩家发现新区域时,系统使用玩家的当前等级查询此表获取基础经验值。实际获得经验 = basexp * 区域等级修正系数 * 服务器经验倍率。
basexp (基础经验值)
对应等级探索新区域的基础经验值。经验值随等级增长:
- 低级区域探索(等级1-10):通常 5-85 经验
- 中级区域探索(等级20-40):通常 200-500 经验
- 高级区域探索(等级60+):通常 900-1350 经验
实际发放经验 = basexp × rate.xp.explore 配置值。
经验计算公式
探索经验值的最终发放量由以下公式计算:
最终经验 = exploration_basexp[玩家等级] × 探索经验倍率
其中探索经验倍率在 worldserver.conf 中通过 Rate.XP.Explore 配置。
实战案例
查询各等级探索经验值:
SELECT level, basexp
FROM exploration_basexp
ORDER BY level;
将探索经验翻倍:
UPDATE exploration_basexp
SET basexp = basexp * 2;
设置自定义等级探索经验:
INSERT INTO exploration_basexp (level, basexp)
VALUES (85, 2000)
ON DUPLICATE KEY UPDATE basexp = 2000;
常见问题
Q: 为什么探索新区域没有获得经验?
可能的原因:
- 玩家已达到最高等级
- exploration_basexp表中对应等级的basexp为0
- Rate.XP.Explore配置值设为0
- 该区域已被探索过
Q: 如何禁用探索经验?
两种方式:修改 worldserver.conf 中 Rate.XP.Explore = 0,或将 exploration_basexp 表中所有 basexp 设为 0。