工程参考/配置文件/Server/BaseValueTable.ini
BaseValueTable.ini 按门派存放 42 项战斗系数,例如初始生命、等级对生命的影响、命中、会心、势力 ID。人物二级属性从这些系数与一级属性一起算。它不是升级经验,也不是 AttrLevelUpTable 的五项一级属性。
文件位置与生效
| 项目 | 说明 |
|---|---|
| 运行文件 | ./Config/BaseValueTable.ini,相对于 Server 工作目录。源码宏 FILE_BASE_VALUE。
|
| 读取程序 | Server 在 TableInit::InitBaseValueTable 加载;门派对象按 AINFOTYPE 取值。GM 命令 reloadbasevalue 可重读 |
| 生效方法 | 推荐停服后备份并修改实际 Server/Config 副本,再重启 Server。已有最高 GM 权限的入口可执行 reloadbasevalue,命令名不区分大小写,不带等号和文件名。重载再次 ReadInt 覆盖内存表。客户端不加载本表。
|
| 样本格式 | GB18030-compatible,CRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。
|
十个节 [MENPAI0]..[MENPAI9],对应少林到无门派。每节必须有 AINFOTYPE0..AINFOTYPE41,缺项断言。样本少林 AINFOTYPE0=30500。
| AINFOTYPE | 含义 |
|---|---|
0
|
初始生命 |
1
|
体制对生命影响系数 |
2
|
等级对生命影响系数 |
3
|
初始生命回复 |
4
|
体制对生命回复影响系数 |
5
|
等级对生命回复影响系数 |
6
|
初始内力 |
7
|
定力对内力影响系数 |
8
|
等级对内力影响系数 |
9
|
初始内力回复 |
10
|
定力对内力回复影响系数 |
11
|
等级对内力回复影响系数 |
12
|
初始外功攻击 |
13
|
力量对外功攻击影响系数 |
14
|
等级对外功攻击影响系数 |
15
|
初始内功攻击 |
16
|
灵力对内功攻击影响系数 |
17
|
等级对内功攻击影响系数 |
18
|
初始外功防御 |
19
|
体制对外功防御影响系数 |
20
|
等级对外功防御影响系数 |
21
|
初始内功防御 |
22
|
定力对内功防御影响系数 |
23
|
等级对内功防御影响系数 |
24
|
初始命中 |
25
|
身法对命中影响系数 |
26
|
等级对命中影响系数 |
27
|
初始闪避 |
28
|
身法对闪避影响系数 |
29
|
等级对闪避影响系数 |
30
|
初始会心攻击 |
31
|
身法对会心攻击影响系数 |
32
|
等级对会心攻击影响系数 |
33
|
初始会心防御 |
34
|
身法对会心防御影响系数 |
35
|
等级对会心防御影响系数 |
36
|
攻击力浮动 |
37
|
受伤怒气增长 |
38
|
攻击怒气增长 |
39
|
怒气自然增长 |
40
|
势力ID |
41
|
攻击特性ID |
文件格式
使用 [节名] 与 Key=Value,节名和键名区分大小写,保持节标题位于行首。用单独一行分号写注释,保留原编码及 CRLF 换行;重复节或键取先匹配项,不依赖后写覆盖。缺项、空值与 0 分别按下表处理。
字段详解
模板 [n] 表示从 0 开始的序号,写入时应展开为实际数字;不是字面键名。
[MENPAI[n]]
| 字段与类型 | 含义与修改要点 | 缺项或特殊值 |
|---|---|---|
AINFOTYPE[n]整数,门派系数 |
n 门派 0..9,m 系数 0..41。加载双重循环 ReadInt。样本注释与枚举一致,加载器不读注释。 | 缺项断言失败。空或非数字经 atoi 可能为 0。不要增删节或跳号。 |
常用修改实例
示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。
把少林初始生命系数从 30500 改为 31000
修改前:
[MENPAI0] AINFOTYPE0=30500
修改后:
[MENPAI0] AINFOTYPE0=31000
在完整 BaseValueTable.ini 定位 [MENPAI0] 的 AINFOTYPE0。只把 30500 改为 31000,保留同节其余 41 项和其他门派。原行尾中文注释可保留。
门派 0 的初始生命系数变为 31000。具体生命上限还要乘体制、等级等系数,不能把 31000 当成血量。隔离加载读回 31000。可用 reloadbasevalue 热更。实际面板需要实测。
验证与排查
启动有 Load BaseValueTable.ini ... OK!。十个门派 42 项齐全,少林 AINFOTYPE0 为 31000。reloadbasevalue 后再查内存。恢复备份后重启或再 reload。
AINFOTYPE40 势力 ID、41 攻击特性 ID 不是生命系数。攻击特性另见表 AttackTraits.txt,本批未核对该表。
关联与依据
Server/AttrLevelUpTable.txt · Public/PlayerExpLevel.txt · Server/ConfigInfo.ini
其他配置及整理状态 · 服务端外网设置 · Lua 接口索引
Server/Server/GameServer/Server/Main/GameTable.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Main/GameTable.h:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/MenPai/MenPai.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/MenPai/MenPai.h:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Packets/CGCommandHandler.cpp:实际加载、解析、字段使用或示例关联依据Common/GameDefine2.h:实际加载、解析、字段使用或示例关联依据Common/ServerBase/Ini.cpp:实际加载、解析、字段使用或示例关联依据Common/ServerBase/Ini.h:实际加载、解析、字段使用或示例关联依据Common/ServerBase/FileDef.h:实际加载、解析、字段使用或示例关联依据resources/Server/Config/BaseValueTable.ini:实际加载、解析、字段使用或示例关联依据
原始 Ini 与 InitBaseValueTable 隔离测试。属性面板未在游戏中执行。