|
脚本范例如下:
必读:
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
参数 类型 空 默认 注释
id integer 否 消息id(1-99)
userid string 否 玩家userid
parama string 否 传递的字符串1(字符串)
paramb string 否 传递的字符串2(字符串)
local userID = getbaseinfo(actor, 2)
kfbackcall(22,userID,"跨服发送1","跨服发送2") --玩家对象发送
-- kfbackcall(22,0,"跨服发送3","跨服发送4") --系统对象发送
--跨服通知触发本服QF
function kfsyscall22(actor,arg1,arg2)
local role_name = getbaseinfo(actor, 1)
release_print("跨服通知触发本服QF",role_name,arg1,arg2)
end
本服通知触发跨服QF
bfbackcall
参数 类型 空 默认 注释
id integer 否 消息id(1-99)
userid string 否 玩家userid
parama string 否 传递的字符串1(字符串)
paramb string 否 传递的字符串2(字符串)
local userID = getbaseinfo(actor, 2)
bfbackcall(22,userID,"本服发送1","本服发送2") --玩家对象发送
-- bfbackcall(22,0,"本服发送3","本服发送4") --系统对象发送
function bfsyscall22(actor,arg1,arg2)
local role_name = getbaseinfo(actor, 1)
release_print("本服通知触发跨服QF",role_name,arg1,arg2)
end
跨服变量传递
synzvar
参数 类型 空 默认 注释
itype integer 否 变量类型
1=全局G变量
2=全局A变量
3=全局自定义变量
4=行会变量
astr string 否 跨服全局变量
bstr string 否 存入本服全局变量
id integer 否 消息id
[[
跨服qf内先储存变量
注:(别用NPC去执行跨服的G15=996.因为NPC都是在本服的,执行了也是本服)
]]
function main(actor)
setsysvar("G15", 996)
end
[[
然后在本服NPC同步跨服G15变量到G16上例子
]]
synzvar(actor,3,"atest","btest",10)
function kfsynvar999()
print("同步成功",getsysvar("G16"))
end
检测当前服务器是否为跨服服务器
checkkuafuserver
local isKuafuSever = checkkuafuserver()
release_print("当前服务器是否为跨服服务器",type(isKuafuSever),tostring(isKuafuSever))
检测当前人物是否在跨服的地图
checkkuafu
参数 类型 空 默认 注释
actor obj 是 玩家对象
local isKuafuMap = checkkuafu(actor)
release_print("当前人物是否在跨服的地图",type(isKuafuMap),tostring(isKuafuMap))
检查跨服连接是否正常连接
checkkuafuconnect
local isKuafuSuc = checkkuafuconnect()
release_print("跨服连接是否正常连接",type(isKuafuSuc),tostring(isKuafuSuc))
所有跨服玩家回本服 根据执行区服自行处理
kuafuusergohome
kuafuusergohome()
release_print("a15")
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
【天天脚本库】--专业传奇脚本库,全网最全脚本库!
官方网站 :www.ttjbk.com
备用站点:www.gmjbk.com
备用站点:www.gmjbw.com
官方交流群:680930409
承接各种脚本版本制作 修改 等业务!有任何疑问可联系底部QQ联系方式!
所有收费脚本若不会安装可找客服收费安装!不提供免费安装服务!
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 |
上一篇:传奇脚本库教程-996LUANPC界面相关操作下一篇:传奇脚本库教程-996LUA英雄相关
|