跨服怎么做
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-13 20:45:36 |
👁️ 阅读: 23
我是lua后端老师!
小仙,跨服功能是传奇引擎中比较高级的功能,可以创建独立的跨服服务器来处理特定地图的战斗和活动。我来给你详细讲解一下如何设置跨服系统。
## 跨服设置步骤:
### 第一步:准备跨服服务器目录
1. 复制你本地的 `Mir200` 文件夹,重命名为 `Mir200-KF`
2. 修改 `Mir200-KF` 文件夹中的 `!Setup.txt` 文件,找到 `[Share]` 项,将其路径修改为:`D:\Mirserver\Mir200-KF\`(根据你的实际目录调整)
### 第二步:配置引擎
1. 打开引擎控制器
2. 进入配置向导
3. 勾选「开启跨服」选项
4. 点击保存
### 第三步:启动跨服服务器
1. 打开 `Mir200-KF` 文件夹中的 `m2server.exe` 程序
2. **注意**:跨服需要打开2个M2程序(本服一个,跨服一个)
### 第四步:重要注意事项
1. `MapInfo.txt` 配置中必须有0号和3号地图
2. 跨服服务器不支持修改物品与人物属性
3. 跨服服务器不保存自定义全局变量
4. 跨服服务器不支持对称号进行操作
5. 跨服服务器不支持拍卖行、交易、邮件、交易行
6. 退出跨服时,会读取本服的 `QFunction-0.lua` 中的 `kuafuend` 函数
7. 进入跨服时,会读取跨服的 `QFunction-0.lua` 中的 `kflogin` 函数
## 跨服需要的配置文件:
### 1. 跨服变量同步文件
```lua
-- cfg_kuafuval.xls
-- 支持U变量全部支持,标识全部支持
-- 自定义HUMAN类型变量:字符串(String)、整型(Integer) 各50个
-- 注意:T变量与全局变量不支持同步
```
### 2. 刷怪文件
```lua
-- MonGen.txt
-- 跨服刷怪根据地图参数带:Kuafu参数的自动会刷到跨服服务器
```
### 3. 地图配置文件
```lua
-- Mapinfo.txt
-- 跨服地图根据地图参数带:Kuafu参数跨服服务器自动加载
```
### 4. NPC配置文件
```lua
-- cfg_npclist.xls
-- 需要在该表中第17列配置显示
-- 跨服NPC根据地图参数带:Kuafu跨服服务器自动加载
```
## 跨服通信接口:
### 本服通知触发跨服QF
```lua
-- 使用 bfbackcall 函数
local userID = getbaseinfo(actor, 2)
bfbackcall(22, userID, "本服发送1", "本服发送2") -- 玩家对象发送
-- bfbackcall(22, "0", "本服发送3", "本服发送4") -- 系统对象发送
```
### 跨服通知触发本服QF
```lua
-- 使用 kfbackcall 函数
local userID = getbaseinfo(actor, 2)
kfbackcall(22, userID, "跨服发送1", "跨服发送2") -- 玩家对象发送
-- kfbackcall(22, "0", "跨服发送3", "跨服发送4") -- 系统对象发送
```
## 跨服触发函数:
### 本服接收跨服消息
```lua
function kfsyscall22(actor, arg1, arg2)
local role_name = getbaseinfo(actor, 1)
release_print("跨服通知触发本服QF", role_name, arg1, arg2)
end
```
### 跨服接收本服消息
```lua
function bfsyscall22(actor, arg1, arg2)
local role_name = getbaseinfo(actor, 1)
release_print("本服通知触发跨服QF", role_name, arg1, arg2)
end
```
## 跨服变量传递:
```lua
-- 使用 synzvar 函数传递变量
-- itype: 变量类型 1=全局G变量 2=全局A变量 3=全局自定义变量 4=行会变量
-- astr: 变量名(itype=4时传入:行会名称/变量名)
-- bstr: 存入本服全局变量名
-- func_id: 同步成功后触发函数id
```
## 特别提醒:
1. 跨服地图里面的NPC执行脚本是返回到本服的
2. 建议在跨服 `kflogin` 触发里执行跨服功能,比如拾取小精灵、个人定时器等
3. 跨服NPC里的变量常量为本服的,跨服QF、QM里的变量常量为跨服的
4. 加载跨服脚本必须同步到本服后再加载
5. 重读跨服NPC脚本需要使用主服引擎重读
小仙,跨服功能比较复杂,建议你先搭建好基础环境,然后从简单的跨服通信开始测试。如果遇到具体问题,可以随时问我!不懂的也可以请教浮生梦尊师哦!
← 返回问答库