客户端 / 服务器字段分组
游戏里同一张表,客户端和服务器拿到的列可以不一样。这由 ##group(以及程序在表级设置的 group)控制。
怎么填
在 ##group 行,对着每一列:
| 单元格 | 含义 |
|---|---|
c | 只给客户端 |
s | 只给服务器 |
c,s | 两边都要 |
| 留空 | 字段级通常表示两边都要(与表级规则略有不同,以程序说明为准) |
示例:
| ##var | id | name | icon | price | drop_weight |
|---|---|---|---|---|---|
| ##type | int | string | string | int | int |
| ##group | c,s | c | c,s | s | |
| ## | ID | 名称 | 图标 | 价格 | 掉落权重 |
| 1001 | 金币 | icons/gold | 0 | 100 |
导出结果直觉上:
| 端 | 大致能看到 |
|---|---|
| 客户端 | id, name, icon, price |
| 服务器 | id, name, price, drop_weight |
(icon 仅 c,drop_weight 仅 s。)
表级分组
程序还可能把整张表标成只属于客户端或只属于服务器。那时整表不会出现在另一端的导出里。以程序给你的表说明为准。
填的时候怎么想
| 内容类型 | 常见 group |
|---|---|
| 显示名、图标、描述、品质色 | c 或 c,s |
| 掉落权重、暴击公式参数、作弊相关阈值 | 通常 s |
| 两边逻辑都要用的 id、关联键 | c,s 或留空 |
原则:
- 不确定就问程序,不要为了省事全留空,再抱怨客户端包体变大或数值被解包。
- 不要把「只有服务器该有的权重」标成
c。 - 改 group 后要重新生成,旧客户端数据不会自动变。
和「某一行不导出」不是一回事
| 机制 | 管的是 |
|---|---|
##group | 列给哪一端 |
行首 tag / ## 注释行 | 行出不出(见程序文档 tag;或把整行当注释) |