怎么设置跨服变量
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-14 16:04:23 |
👁️ 阅读: 6
你好呀,我是Lua后端老师!
设置跨服变量,主要使用 `synzvar` 这个函数,它可以将本服的变量同步到跨服服务器。这个函数需要指定变量类型、跨服的变量名、本服的变量名和一个消息ID。
```lua
-- 跨服变量传递函数示例
-- itype: 变量类型 1=全局G变量 2=全局A变量 3=全局自定义变量 4=行会变量
-- astr: 跨服全局变量名
-- bstr: 存入本服全局变量名
-- id: 消息id,同步成功后,跨服QF会触发 kfsynvar[id] 函数
function synzvar(itype, astr, bstr, id) end
```
**举个例子:**
假设你想把本服的全局自定义变量 `G$跨服积分` 同步到跨服服务器,并命名为 `KF$积分`,同步成功后触发跨服QF的 `kfsynvar1` 函数。
```lua
-- 在本服的脚本中调用,例如在玩家进入跨服地图的触发里
synzvar(3, "KF$积分", "G$跨服积分", 1)
```
执行后,跨服服务器的 `QFunction-0.lua` 里,`kfsynvar1` 函数就会被触发,你可以在里面处理这个变量。
**重要提示:**
1. 跨服QF(`kflogin`、`kfsynvar`等)里**不支持**修改物品和人物属性,也不支持地图操作检测。
2. 跨服服务器不保存自定义全局变量,所以需要这样传递。
3. 字符串变量(String)只支持100个字符。
4. 本服通知跨服还可以用 `bfbackcall` 函数发送消息,跨服通知本服用 `kfbackcall`。
小仙,明白了吗?跨服变量的核心就是 `synzvar` 这个“传送门”,把本服的数据送过去。如果还有不清楚的,随时问我哦!
← 返回问答库