跨服系统

第一步:cfg_mapinfo表第I列ServerNum字段设置为8(传送到带该参数的地图时进入跨服)
第二步:复制一份Mir200改名为Mir200-kf
第三步:引擎控制器--服务器设置--勾选跨服--设置跨服IP和端口(可默认,修改时注意占用)
第四步:引擎控制器--服务器设置--保存设置--启动跨服--启动游戏服务器
说明:进入cfg_mapinfo表第I列ServerNum字段设置为8的地图时代表进入跨服
在进入跨服触发[@KFLOGIN]里,重新增加自定义按钮(同步数据会有延迟,需要延迟跳转增加)
进入跨服时本服U,T,J,Z,个人标记自动传递到跨服,退出跨服时跨服U,T,J,Z,个人标记自动传递到本服
跨服支持,掉落捡取装备,押镖,沙巴克,国家,行会战,属性相关操作,称号相关操作
BUFF相关操作,装备相关操作,给与扣除物品等等.....除下方功能不支持其他全部支持
注意:在跨服拍卖行,求购行,交易行,摆摊,充值,行会进入退出操作,需使用脚本禁止
注意:在跨服M2发送的邮件,当跨服M2重启时将消失,建议直接给物品不发送邮件
跨服相关接口
检测跨服是否正常连接//KUAFUCONNECTED
检测当前是否是跨服M2//ISKUAFUSERVER
同步本服行会信息到跨服//SynGuildToKuafu
进入跨服触发跨服Mir200-KF\Market_Def\QFunction-0.txt
[@KFLOGIN]
退出跨服触发本服Mir200\Market_Def\QFunction-0.txt [@KFEND]
跨服沙巴克服务端路径:Mir200\Castle\0\SabukW-KF.txt
跨服应急地图:cfg_startpoint.xls表M列(应急地图必须能正常进入,不能设置为跨服地图)
当前区服所有跨服玩家回到本服
格式:KUAFUUSERGOHOME 参数1
参数2 参数3 参数4
参数1:MAP
参数2:X坐标
参数3:Y坐标
参数4:范围
注:该命令只能在本服使用,跨服使用无效
跨服相关常量
跨服服务器组分区名称常量(只能在正式服显示)\
<$KUAFUSERVERNAME1>
<$KUAFUSERVERNAME2> <$KUAFUSERVERNAME3>
<$KUAFUSERVERNAME4>
<$KUAFUSERVERNAME5> <$KUAFUSERVERNAME6>
<$KUAFUSERVERNAME7>
<$KUAFUSERVERNAME8>
跨服服务器组分区ID常量(只能在正式服显示)\
<$KUAFUSERVERID1>
<$KUAFUSERVERID2> <$KUAFUSERVERID3>
<$KUAFUSERVERID4>
<$KUAFUSERVERID5> <$KUAFUSERVERID6>
<$KUAFUSERVERID7> <$KUAFUSERVERID8>
自定义变量推送
注:个人U,J,D,T自动推送,其他变量需在传送到对应M2时使用脚本推送
例如:放在本服传送跨服地图的NPC脚本,点击传送时先执行该命令再执行传送地图命令
自定义变量推送:PushVar 参数1 参数2
参数3
参数1:HUMAN(只支持整数型自定义变量和字符型自定义变量)
参数2:变量名#变量名(格式:元宝捐献#灵符捐献)
参数3:推送目标M2ID(格式:推送到跨服=KUAFU
推送到所有M2=ALL 推送到对应M2=0-7)
注:参数3填写ALL和0-7时必须是开启了多M2
[@main]
#IF
#Act
PushVar
HUMAN 捐献元宝 KUAFU
MAP kf3
SENDMSG 0 你传送到跨服盟重省
[@声明变量]
#IF
#act
VAR
Integer HUMAN 捐献元宝
sendmsg 6 声明变量成功!
[@捐献元宝]
#IF
#act
calcvar HUMAN 捐献元宝 + 8
sendmsg 6 捐献元宝是<$HUMAN(捐献元宝)>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
跨服与本服之间数据传递
本服通知触发跨服QF//BFBACKCALL 参数1 参数2 参数3
参数4
参数1 IDX(QF触发标签编号)
参数2 UID(某玩家UID,0 =
系统触发)
参数3 传递的字符串1(字符串)
参数4 传递的字符串2(字符串)
注:参数2=<$USERID>时触发本服QF//BFSYSCALLX
(X=参数1ID)
注:参数2=0时为系统触发一次本服QF//G_BFSYSCALLX
(X=参数1ID)
注:返回参数传递的字符串1:<$PARAM1>传递的字符串2:<$PARAM2>
;//指定玩家触发示例,该玩家必须在跨服
[@本服执行命令]
#ACT
BFBACKCALL
22 <$USERID> 测试字符串1 测试字符串2
;//该<$USERID>玩家触发
[@BFSYSCALL22]
#IF
#ACT
SendMsg 0
本服通知跨服<$PARAM1>=测试字符串1----------- <$PARAM2>=测试字符串2
;//指定系统触发示例
[@支持跨服NPC、本服QF/Qm执行命令]
#ACT
BFBACKCALL
23 0 测试字符串1 测试字符串2
;//本服QF触发一次
[@BFSYSCALL23]
#IF
#ACT
SendMsg 0
本服通知跨服<$PARAM1>=测试字符串1----------- <$PARAM2>=测试字符串2
跨服通知本服触发QF//KFBACKCALL 参数1 参数2 参数3
参数4
参数1 IDX(QF触发标签编号)
参数2 UID(某玩家UID,0 =
系统触发)
参数3 传递的字符串1(字符串)
参数4 传递的字符串2(字符串)
注:参数2=<$USERID>时触发本服QF//KFSYSCALLX
(X=参数1ID)
注:参数2=0时为系统触发一次本服QF//G_KFSYSCALLX
(X=参数1ID)
注:返回参数传递的字符串1:<$PARAM1>传递的字符串2:<$PARAM2>
;//指定玩家触发示例
[@支持跨服QF/Qm执行命令]
#ACT
KFBACKCALL
32 <$USERID> 测试字符串1 测试字符串2
;//该<$USERID>玩家触发
[@KFSYSCALL32]
#IF
#ACT
SendMsg 0
本服通知跨服<$PARAM1>=测试字符串1----------- <$PARAM2>=测试字符串2
;//指定系统触发示例
[@支持跨服QF/Qm执行命令]
#ACT
KFBACKCALL 33 0
测试字符串1 测试字符串2
;//本服QF触发一次
[@KFSYSCALL33]
#IF
#ACT
SendMsg 0
本服通知跨服<$PARAM1>=测试字符串1-----------
<$PARAM2>=测试字符串2