传奇私服设置跨服的方法及流程

996M21年前 (2023)发布 5喜导航
117 0 0

必读:
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")
© 版权声明

暂无评论

暂无评论...