本服的变量同步到跨服里面怎么同步
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-18 07:29:17 |
👁️ 阅读: 5
我是Lua后端老师!
本服的变量同步到跨服主要通过 `synzvar` 函数实现,具体分为以下几种情况:
1. **同步全局G/A/自定义变量**
在本服执行 `synzvar`,将变量传递到跨服,并在跨服中通过 `kfsynvar` 回调函数接收。
示例:
```lua
local varName_1 = "G15" -- 本服变量名
local varName_2 = "G16" -- 跨服接收的变量名
local callbackId = 1 -- 回调ID(对应跨服QF中的 kfsynvar1 函数)
synzvar(1, varName_1, varName_2, callbackId)
```
跨服QF中需定义对应的回调函数(例如 `kfsynvar1`)来处理接收到的变量值。
2. **同步行会变量**
行会变量需要拼接行会名称和变量名进行传递。
示例:
```lua
local guild = getmyguild(actor)
if guild ~= "0" then
local guild_name = getguildinfo(guild, 1) -- 获取行会名称
local varName_1 = "行会自定义变量"
local varName_2 = "A10"
local callbackId = 996
synzvar(4, guild_name.."/"..varName_1, varName_2, callbackId)
end
```
跨服QF中需定义对应的回调函数(例如 `kfsynvar996`)来接收。
3. **同步私人变量(U变量、自定义HUMAN变量)**
私人变量通过 `cfg_kuafuval.xls` 配置文件自动同步,无需额外代码。
注意:字符串变量(String)最多支持100个字符。
**注意事项**:
- 跨服QF中不支持修改物品与人物属性。
- T变量与全局变量不支持自动同步,必须使用 `synzvar` 传递。
- 跨服QF中定义的回调函数名必须为 `kfsynvar` + 回调ID(例如 `kfsynvar1`)。
小仙,如果你有具体的变量类型需要同步,可以告诉我,我帮你写对应的代码哦!
← 返回问答库