脚本调用LUA
切记:调用LUA时一般涉及到系统功能,比如某某排行榜需要做一些特殊的排序功能的脚本不太好计算的情况下调用一下,不要写在如:杀怪触发及切换地图触发等经常调用的功能里
另外调用时可在TXT里面上下位置写入打印耗时的命令,查看该调用的实际耗时,调用Lua时耗时大于20000微妙的全部需要优化
切记:调用LUA时一般涉及到系统功能,比如某某排行榜需要做一些特殊的排序功能的脚本不太好计算的情况下调用一下,不要写在如:杀怪触发及切换地图触发等经常调用的功能里
另外调用时可在TXT里面上下位置写入打印耗时的命令,查看该调用的实际损耗,调用Lua时耗时大于20000微妙的全部需要优化
切记:调用LUA时一般涉及到系统功能,比如某某排行榜需要做一些特殊的排序功能的脚本不太好计算的情况下调用一下,不要写在如:杀怪触发及切换地图触发等经常调用的功能里
另外调用时可在TXT里面上下位置写入打印耗时的命令,查看该调用的实际损耗,调用Lua时耗时大于20000微妙的全部需要优化
格式:CALLLUA 参数1
参数2
参数1:LUA文件名(文件必须放在Market_Def目录下,更新LUA文件重读NPC即可)
参数2:@调用LUA函数,向LUA脚本发送数据
注:向LUA发送数据用小写逗号,支持变量。保存LUA文件格式必须为(GB2312、ANSI)否则含有中文会乱码
注:txt调用lua会清空(-1)位置的数据!!!
txt调用lua会清空(-1)位置的数据!!!
txt调用lua会清空(-1)位置的数据!!!
示例一:
;==========================================
[@Main]
#IF
#ACT
;调用script.lua中的message函数
CallLua
script @message
;LUA脚本示例
function
message(player)
sendmsg(player,1,'{"Msg":"打印测试","FColor":255,"BColor":0,"Type":1,"Time":3,"SendName":"xxx","SendId":"123"}')
end
;==========================================
示例二:
;==========================================
[@Main]
#IF
#ACT
;调用script.lua中的message函数
MOV
S$lua文件 script
MOV
S$lua函数 message
MOV
S$发送数据 1000
CallLua
<$str(S$lua文件)> @<$str(S$lua函数)>,<$str(S$发送数据)>
;LUA脚本示例
function
message(player,ss)
for
i = 1, 100 do
ss
= ss + 1
sendmsg(player,1,'{"Msg":"'..ss..'","FColor":255,"BColor":0,"Type":1,"Time":3,"SendName":"xxx","SendId":"123"}')
end
end
;==========================================
配置文件:格式必须为GB2312(ANSI)
LuaCondList.txt,LuaFuncList.txt,LuaFunc-0.lua,LuaCond-0.lua,文件存放在
Envir\Market_Def 下。
LuaFunc-0.lua 为lua代码文件(功能执行)
LuaCond-0.lua
为lua代码文件(判断条件)
LuaFuncList.txt
调用方法自定义的执行命令(不可与服务端提供的脚本接口重复)
LuaCondList.txt
调用方法自定义的检测命令(不可与服务端提供的脚本接口重复)
执行后的结果传递到脚本中的常量 <$LUARESULT>
[@LUA函数]
#act
addnumber 2000000 403435
sendmsg 6
<$LUARESULT>
LuaFunc-0.lua文件:
function
addnumber(actor, aa, bb)
return aa+ bb
end
LuaFuncList.txt文件:
addnumber
=======================
[@LUA判断]
#if
checkbig 10000
#act
sendmsg 6
比1000大
#elseact
sendmsg 6 比1000小
LuaCond-0.lua文件:
function
checkbig(actor, aa)
if tonumber(aa)>1000
then
return true
else
return false
end
end
LuaFuncList.txt文件:
checkbig