工程参考/配置文件/Server/GuildMemberAccess.ini

来自天龙知识库
雪舞留言 | 贡献2026年9月12日 (六) 00:49的版本 (维护配置文件知识库:完整字段、读取范围、手工修改实例与核对状态)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索


首页 · 配置文件索引 · 修改约定

GuildMemberAccess.ini 原本用于登记「帮派职位 → 权限」的对照关系:[info] 里的 membertypecount 声明有几种职位,每种职位一个 [member_typeN] 节,节内是若干 access_type 键。

先说结论:**这份文件当前对游戏行为没有影响**。它被加载、被逐格读入内存,但全树检索不到任何一个读取这张表的调用方——帮派权限的实际判定走的是别处的硬编码常量。

位置与生效 · 文件格式 · 字段详解 · 修改实例

文件位置与生效

项目 说明
运行文件 ./Config/GuildMemberAccess.ini,由 FileDef.h 的 FILE_GUILD_MEMBER_ACCESS 定义,相对于 World 工作目录。
读取程序 World 进程:TableInit::Init_GuildMemberAccess 打开 FILE_GUILD_MEMBER_ACCESS 逐格读取;当前检索全树没有第二个引用点
生效方法 正常保存并停 World 后重启 World。**当前找不到任何消费方**,因此改动不会有可观察的效果;缺键则会在启动时触发断言中断。
样本格式 ASCIICRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。

加载流程在 WorldTable.cpp:先读 [info]::membertypecount(读不到直接 AssertEx 中断启动,并要求它小于 MAX_MEMBER_TYPES = 100),再双重循环 member_type%d / access_type%d

循环边界 说明
i < membertypecount 读取 [member_type0] 到 [member_typeN-1];样本为 5。
j < GUILD_AUTHORITY_NUMBER 只读 access_type0access_type7,共 8 个。
缺任意一个键 日志打印「INI: read section::key failed!!」并 AssertEx,World 起不来。

样本每个节实际写到 access_type22(23 个键),多出来的 15 个读不到也没有报错机会。

文件格式

使用 [节名] 与 Key=Value,节名和键名区分大小写,保持节标题位于行首。用单独一行分号写注释,保留原编码及 CRLF 换行;重复节或键取先匹配项,不依赖后写覆盖。缺项、空值与 0 分别按下表处理。

字段详解

模板 [n] 表示从 0 开始的序号,写入时应展开为实际数字;不是字面键名。

[info]

字段与类型 含义与修改要点 缺项或特殊值
membertypecount
整数,职位数量
要读取多少个 [member_typeN] 节。World 启动时先读它,读不到直接 AssertEx 中断启动;随后要求它小于 MAX_MEMBER_TYPES(100)。样本为 5。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。

[member_type0]

字段与类型 含义与修改要点 缺项或特殊值
access_type0
整数
第 0 号职位的第 0 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 0 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type1
整数
第 0 号职位的第 1 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 1 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type2
整数
第 0 号职位的第 2 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 2 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type3
整数
第 0 号职位的第 3 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 3 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type4
整数
第 0 号职位的第 4 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 4 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type5
整数
第 0 号职位的第 5 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 5 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type6
整数
第 0 号职位的第 6 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 6 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type7
整数
第 0 号职位的第 7 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 7 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type8
整数
第 0 号职位的第 8 项权限值。加载循环只跑到 j < 8,access_type8 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type9
整数
第 0 号职位的第 9 项权限值。加载循环只跑到 j < 8,access_type9 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type10
整数
第 0 号职位的第 10 项权限值。加载循环只跑到 j < 8,access_type10 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type11
整数
第 0 号职位的第 11 项权限值。加载循环只跑到 j < 8,access_type11 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type12
整数
第 0 号职位的第 12 项权限值。加载循环只跑到 j < 8,access_type12 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type13
整数
第 0 号职位的第 13 项权限值。加载循环只跑到 j < 8,access_type13 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type14
整数
第 0 号职位的第 14 项权限值。加载循环只跑到 j < 8,access_type14 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type15
整数
第 0 号职位的第 15 项权限值。加载循环只跑到 j < 8,access_type15 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type16
整数
第 0 号职位的第 16 项权限值。加载循环只跑到 j < 8,access_type16 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type17
整数
第 0 号职位的第 17 项权限值。加载循环只跑到 j < 8,access_type17 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type18
整数
第 0 号职位的第 18 项权限值。加载循环只跑到 j < 8,access_type18 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type19
整数
第 0 号职位的第 19 项权限值。加载循环只跑到 j < 8,access_type19 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type20
整数
第 0 号职位的第 20 项权限值。加载循环只跑到 j < 8,access_type20 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type21
整数
第 0 号职位的第 21 项权限值。加载循环只跑到 j < 8,access_type21 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type22
整数
第 0 号职位的第 22 项权限值。加载循环只跑到 j < 8,access_type22 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。

[member_type1]

字段与类型 含义与修改要点 缺项或特殊值
access_type0
整数
第 1 号职位的第 0 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 0 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type1
整数
第 1 号职位的第 1 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 1 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type2
整数
第 1 号职位的第 2 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 2 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type3
整数
第 1 号职位的第 3 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 3 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type4
整数
第 1 号职位的第 4 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 4 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type5
整数
第 1 号职位的第 5 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 5 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type6
整数
第 1 号职位的第 6 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 6 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type7
整数
第 1 号职位的第 7 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 7 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type8
整数
第 1 号职位的第 8 项权限值。加载循环只跑到 j < 8,access_type8 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type9
整数
第 1 号职位的第 9 项权限值。加载循环只跑到 j < 8,access_type9 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type10
整数
第 1 号职位的第 10 项权限值。加载循环只跑到 j < 8,access_type10 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type11
整数
第 1 号职位的第 11 项权限值。加载循环只跑到 j < 8,access_type11 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type12
整数
第 1 号职位的第 12 项权限值。加载循环只跑到 j < 8,access_type12 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type13
整数
第 1 号职位的第 13 项权限值。加载循环只跑到 j < 8,access_type13 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type14
整数
第 1 号职位的第 14 项权限值。加载循环只跑到 j < 8,access_type14 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type15
整数
第 1 号职位的第 15 项权限值。加载循环只跑到 j < 8,access_type15 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type16
整数
第 1 号职位的第 16 项权限值。加载循环只跑到 j < 8,access_type16 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type17
整数
第 1 号职位的第 17 项权限值。加载循环只跑到 j < 8,access_type17 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type18
整数
第 1 号职位的第 18 项权限值。加载循环只跑到 j < 8,access_type18 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type19
整数
第 1 号职位的第 19 项权限值。加载循环只跑到 j < 8,access_type19 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type20
整数
第 1 号职位的第 20 项权限值。加载循环只跑到 j < 8,access_type20 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type21
整数
第 1 号职位的第 21 项权限值。加载循环只跑到 j < 8,access_type21 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type22
整数
第 1 号职位的第 22 项权限值。加载循环只跑到 j < 8,access_type22 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。

[member_type2]

字段与类型 含义与修改要点 缺项或特殊值
access_type0
整数
第 2 号职位的第 0 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 0 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type1
整数
第 2 号职位的第 1 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 1 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type2
整数
第 2 号职位的第 2 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 2 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type3
整数
第 2 号职位的第 3 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 3 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type4
整数
第 2 号职位的第 4 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 4 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type5
整数
第 2 号职位的第 5 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 5 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type6
整数
第 2 号职位的第 6 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 6 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type7
整数
第 2 号职位的第 7 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 7 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type8
整数
第 2 号职位的第 8 项权限值。加载循环只跑到 j < 8,access_type8 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type9
整数
第 2 号职位的第 9 项权限值。加载循环只跑到 j < 8,access_type9 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type10
整数
第 2 号职位的第 10 项权限值。加载循环只跑到 j < 8,access_type10 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type11
整数
第 2 号职位的第 11 项权限值。加载循环只跑到 j < 8,access_type11 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type12
整数
第 2 号职位的第 12 项权限值。加载循环只跑到 j < 8,access_type12 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type13
整数
第 2 号职位的第 13 项权限值。加载循环只跑到 j < 8,access_type13 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type14
整数
第 2 号职位的第 14 项权限值。加载循环只跑到 j < 8,access_type14 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type15
整数
第 2 号职位的第 15 项权限值。加载循环只跑到 j < 8,access_type15 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type16
整数
第 2 号职位的第 16 项权限值。加载循环只跑到 j < 8,access_type16 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type17
整数
第 2 号职位的第 17 项权限值。加载循环只跑到 j < 8,access_type17 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type18
整数
第 2 号职位的第 18 项权限值。加载循环只跑到 j < 8,access_type18 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type19
整数
第 2 号职位的第 19 项权限值。加载循环只跑到 j < 8,access_type19 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type20
整数
第 2 号职位的第 20 项权限值。加载循环只跑到 j < 8,access_type20 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type21
整数
第 2 号职位的第 21 项权限值。加载循环只跑到 j < 8,access_type21 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type22
整数
第 2 号职位的第 22 项权限值。加载循环只跑到 j < 8,access_type22 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。

[member_type3]

字段与类型 含义与修改要点 缺项或特殊值
access_type0
整数
第 3 号职位的第 0 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 0 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type1
整数
第 3 号职位的第 1 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 1 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type2
整数
第 3 号职位的第 2 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 2 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type3
整数
第 3 号职位的第 3 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 3 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type4
整数
第 3 号职位的第 4 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 4 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type5
整数
第 3 号职位的第 5 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 5 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type6
整数
第 3 号职位的第 6 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 6 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type7
整数
第 3 号职位的第 7 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 7 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type8
整数
第 3 号职位的第 8 项权限值。加载循环只跑到 j < 8,access_type8 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type9
整数
第 3 号职位的第 9 项权限值。加载循环只跑到 j < 8,access_type9 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type10
整数
第 3 号职位的第 10 项权限值。加载循环只跑到 j < 8,access_type10 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type11
整数
第 3 号职位的第 11 项权限值。加载循环只跑到 j < 8,access_type11 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type12
整数
第 3 号职位的第 12 项权限值。加载循环只跑到 j < 8,access_type12 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type13
整数
第 3 号职位的第 13 项权限值。加载循环只跑到 j < 8,access_type13 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type14
整数
第 3 号职位的第 14 项权限值。加载循环只跑到 j < 8,access_type14 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type15
整数
第 3 号职位的第 15 项权限值。加载循环只跑到 j < 8,access_type15 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type16
整数
第 3 号职位的第 16 项权限值。加载循环只跑到 j < 8,access_type16 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type17
整数
第 3 号职位的第 17 项权限值。加载循环只跑到 j < 8,access_type17 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type18
整数
第 3 号职位的第 18 项权限值。加载循环只跑到 j < 8,access_type18 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type19
整数
第 3 号职位的第 19 项权限值。加载循环只跑到 j < 8,access_type19 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type20
整数
第 3 号职位的第 20 项权限值。加载循环只跑到 j < 8,access_type20 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type21
整数
第 3 号职位的第 21 项权限值。加载循环只跑到 j < 8,access_type21 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type22
整数
第 3 号职位的第 22 项权限值。加载循环只跑到 j < 8,access_type22 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。

[member_type4]

字段与类型 含义与修改要点 缺项或特殊值
access_type0
整数
第 4 号职位的第 0 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 0 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type1
整数
第 4 号职位的第 1 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 1 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type2
整数
第 4 号职位的第 2 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 2 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type3
整数
第 4 号职位的第 3 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 3 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type4
整数
第 4 号职位的第 4 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 4 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type5
整数
第 4 号职位的第 5 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 5 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type6
整数
第 4 号职位的第 6 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 6 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type7
整数
第 4 号职位的第 7 项权限值。这是会被读入矩阵的 8 个键之一(j < GUILD_AUTHORITY_NUMBER)。当前源码树里读完之后没有任何地方再取用它,因此它的取值含义无法从源码确认——GUILD_AUTHORITY_* 是一组位标志(职务调动 0x1、权限调整 0x2、接收帮众 0x4、开除帮众 0x8、禅让 0x10、支取帮资 0x20、存入金额 0x40、离开帮会 0x80、解散帮会 0x100),但本表第 7 项与哪一位对应、以及这里应该写掩码还是序号,都没有调用点可以验证。样本所有键都是 0。 缺失会 AssertEx 中断启动,没有默认值。
access_type8
整数
第 4 号职位的第 8 项权限值。加载循环只跑到 j < 8,access_type8 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type9
整数
第 4 号职位的第 9 项权限值。加载循环只跑到 j < 8,access_type9 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type10
整数
第 4 号职位的第 10 项权限值。加载循环只跑到 j < 8,access_type10 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type11
整数
第 4 号职位的第 11 项权限值。加载循环只跑到 j < 8,access_type11 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type12
整数
第 4 号职位的第 12 项权限值。加载循环只跑到 j < 8,access_type12 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type13
整数
第 4 号职位的第 13 项权限值。加载循环只跑到 j < 8,access_type13 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type14
整数
第 4 号职位的第 14 项权限值。加载循环只跑到 j < 8,access_type14 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type15
整数
第 4 号职位的第 15 项权限值。加载循环只跑到 j < 8,access_type15 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type16
整数
第 4 号职位的第 16 项权限值。加载循环只跑到 j < 8,access_type16 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type17
整数
第 4 号职位的第 17 项权限值。加载循环只跑到 j < 8,access_type17 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type18
整数
第 4 号职位的第 18 项权限值。加载循环只跑到 j < 8,access_type18 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type19
整数
第 4 号职位的第 19 项权限值。加载循环只跑到 j < 8,access_type19 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type20
整数
第 4 号职位的第 20 项权限值。加载循环只跑到 j < 8,access_type20 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type21
整数
第 4 号职位的第 21 项权限值。加载循环只跑到 j < 8,access_type21 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。
access_type22
整数
第 4 号职位的第 22 项权限值。加载循环只跑到 j < 8,access_type22 属于多写出来的键,不会被读取。样本每节都写到 access_type22,全部为 0。 读了也没用;但缺失同样不影响启动,因为加载器根本不会来找它。

常用修改实例

示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。

不建议修改:加载后没有任何消费方(片段用于说明键的结构)

修改前:

[info]
membertypecount=5

[member_type0]
access_type0=0
access_type1=0
; only access_type0 to access_type7 are read; the rest are ignored

修改后:

[info]
membertypecount=5

[member_type0]
access_type0=0
access_type1=0
; only access_type0 to access_type7 are read; the rest are ignored

这一条刻意不给「修改示例」:把矩阵里的值改成别的整数不会带来任何可观察的变化,因为当前没有代码读取这张表。

要动这份文件,真正有风险的方向是**减法**:删掉某个 [member_typeN] 节、删掉前 8 个 access_type 键里的任意一个,或者把 membertypecount 调大却没有对应的节——World 会在启动时断言失败并中断。membertypecount 调小则只会少读几个节,不会报错。

如果你手上的版本确实让这张表生效了,请先在那个版本里重新核对消费方,再决定怎么写值。

验证与排查

因为当前没有消费方,也不存在基于行为的验证路径。可以验证的只有「加载本身」:故意删掉某个 access_type0 键再启动 World,应当看到日志里的 read failed 提示并中断启动,这能确认该 Loader 仍然生效。

判断「没有消费方」的依据是全树检索 g_GuildMemberAccessTbl 只命中 WorldTable.cpp 的加载函数本身。若将来某个版本新增了权限判定或 Lua 接口用到它,需要重新核对本节与字段表。

写好了也与游戏无关

这是本文件最大的特点:加载却不使用。修改前先在源码里检索 g_GuildMemberAccessTbl,确认是否有查处方,不要只看文件存在就以为它控制帮派权限。

写入与读取的下标是反的

加载函数写的是 m_Table[j][i] = nValue(j 是 access_type 下标、i 是 member_type 下标),而结构体提供的唯一访问器是 Get(membertype, accesstype) → m_Table[membertype][accesstype]。两者行列相反,也就是说即使将来有代码调用 Get(),它取到的也是「另一种职位的那种权限」。这是本次核对发现的不一致,未做修改,仅作提示。

权限数量与枚举对不上

GUILD_AUTHORITY_NUMBER = 8,但 GUILD_AUTHORITY_* 的位标志列到 0x100(解散帮会权)共 9 项,并且组合值(普通帮众 0xC0、帮主 0x17F)超过一字节。这意味着第 8 位之后的权限无论如何配不到。

职位数量与职位枚举也不相等

GUILD_POSITION 有 9 个级别(含 INVALID 与 SIZE),样本却只声明 5 个 member_type。两者没有代码层面的对应关系可以参考。

缺键是致命的,多余键是理所当然的

前 8 个键缺一个就中断启动;第 9 个往后写了也没人读——样本每节都写到 access_type22。

关联与依据

其他配置及整理状态 · 服务端外网设置 · Lua 接口索引

  • Server/Server/WorldServer/World/Main/WorldTable.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/WorldServer/World/Main/WorldTable.h:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/FileDef.h:实际加载、解析、字段使用或示例关联依据
  • Common/GameDefine_Guild.h:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/Config.cpp:实际加载、解析、字段使用或示例关联依据
  • resources/Server/Config/GuildMemberAccess.ini:实际加载、解析、字段使用或示例关联依据

本页核对 Init_GuildMemberAccess 的读取范围、MAX_MEMBER_TYPES 与 GUILD_AUTHORITY_NUMBER 两个上限、样本里每节 23 个键只有前 8 个被读,以及全树检索未发现消费方的事实;未启动服务端与游戏,也未修改任何源码。