必读:
1.跨服服务器,跨服QF 不支持 修改物品与人物属性!!(没有实体npc都属于QF)
2.跨服服务器,不支持 人物背包掉落物品
3.跨服服务器,不保存 自定义全局变量
4.跨服服务器,T变量不支持同步,需要使用变量传递功能传递,字符串变量(Str)只支持100个字符
5.跨服服务器,不支持对称号进行操作(跨服QF里保存在数据库的数据都不能修改)
6.跨服服务器,不支持地图操作检测(进入跨服后地图变量将固定为进入的地图,返回本服才会刷新)
7.跨服服务器,不支持拍卖行,交易,邮件,交易行
8.跨服服务器,支持 1:捡取物品到背包 2:掉落身上装备
9.退出跨服服务器,读取的是本服 Mir200\Market_Def\QFunction-0.lua 函数名:kuafuend 跨服结束触发
10.进入跨服服务器,读取的是跨服 Mir200-KF\Market_Def\QFunction-0.lua 函数名:kflogin 跨服成功触发
11.进入跨服服务器,读取的是跨服 Mir200-KF\Envir\cfg_mongen.xls
12.进入跨服服务器,读取的是本地 Mir200\MapInfo.txt 地图参数:Kuafu
13.进入跨服服务器,部分GM命令不支持
14.加载跨服脚本,必须同步到本服后再加载,重读跨服NPC脚本或主服NPC脚本 需要使用主服引擎重读
15.进入跨服服务器,定时器 新增参数是否跨服继续执行
16.进入跨服服务器,机器人脚本 新增参数空=本服执行 1=跨服执行 2=本服和跨服一起执行
#AutoRun NPC SEC 5 @shili2 2
跨服说明:
1.特别注意:跨服地图里面的NPC执行是脚本是返回到本服的,所以如果想在跨服执行NPC功能
2.建议做到跨服QFunction-0.lua 函数名:kflogin 跨服成功触发里面 比如拾取小精灵 个人定时器等等
3.跨服NPC里的变量常量为本服的, 跨服QF,QM里的变量常量为跨服的(部分功能跨服QF不支持)
第一步:例如本地版本目录为:D:\Mirserver 复制一份Mir200命名Mir200-KF
第二步:修改Mir200-KF!Setup.txt [Share]项 下面的路径为:D:\Mirserver\Mir200-KF\ (如果不修改,会读取到本服脚本内容了)
第三步:打开引擎控制器—配置向导—勾选开启跨服—点击保存
第四步:打开Mir200-KF文件m2server.exe程序(跨服需要打开2个M2程序)
注:跨服需要清空MapQuest.txt文件,不然M2会卡在加载任务地图
跨服需要的文件:
cfg_kuafuval.xls(私人变量同步文件,U变量全部支持 标识全部支持 自定义HUMAN类型变量 字符串(String) 整型(Integer) 各50个)
注:T变量与全局变量不支持同步,需要使用变量传递功能传递,字符串变量(String)只支持100个字符
MonGen.txt (跨服刷怪根据地图参数带:Kuafu参数的自动会刷到跨服服务器,本服就不会刷新了)
Mapinfo.txt (跨服地图根据地图参数带:Kuafu参数跨服服务器自动加载
cfg_npclist.xls 需要在该表中第17列配置显示(跨服NPC根据地图参数带:Kuafu跨服服务器自动加载)
跨服接口
跨服通知触发本服QF
kfbackcall
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
actor | object |
否 | 玩家对象 | |
id | int |
否 | 消息id(1-99) | |
parama | str |
否 | 传递的字符串1(字符串) | |
paramb | str |
否 | 传递的字符串2(字符串) |
kfbackcall(actor,22,0,"跨服发送","跨服发送2") --发送
function kfsyscall22(...) --接收
release_print(...)
end
本服通知触发跨服QF
bfbackcall
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
actor | object |
否 | 玩家对象 | |
id | int |
否 | 消息id(1-99) | |
parama | str |
否 | 传递的字符串1(字符串) | |
paramb | str |
否 | 传递的字符串2(字符串) |
bfbackcall(actor,22,0,"本服发送","本服发送2") --发送
function bfsyscall22(...) --接收
release_print(...)
end
跨服变量传递
synzvar
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
actor | object |
否 | 玩家对象 | |
itype | int |
否 | 变量类型 1=全局G变量 2=全局A变量 3=全局自定义变量 4=行会变量 |
|
astr | str |
否 | 跨服全局变量 | |
bstr | str |
否 | 存入本服全局变量 | |
id | int |
否 | 消息id(1-99) |
synzvar(actor,3,"atest","btest",10) --发送
function kfsynvar10(...) ---接收
release_print("kfsynvar110",...)
end
检测当前服务器是否为跨服服务器
checkkuafuserver
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
nil | nil |
否 | 无 |
local a = checkkuafuserver()
release_print("a12",type(a),a)
检测当前人物是否在跨服的地图
checkkuafu
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
nil | nil |
否 | 无 |
local a = checkkuafu()
release_print("a13",type(a),a)
检查跨服连接是否正常连接
checkkuafuconnect
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
nil | nil |
否 | 无 |
local a = checkkuafuconnect()
release_print("a14",type(a),a)
所有跨服玩家回本服 根据执行区服自行处理
kuafuusergohome
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
nil | nil |
否 | 无 |
kuafuusergohome()
release_print("a15")