引擎lua模块提供客户端与服务端消息接发的机制可实现服务端与客户端的请求与响应,客户端目录内的lua文件夹为登录器内置释,同名lua文件专属目录优先使用,客户端Lua游戏中重载在M2-GM管理命令中查看
详细说明:(lua小白必看)
客户端目录内的lua文件夹,为登录器内置释放,同名lua文件专属目录优先使用。
自定义有三种方式:
1、直接在自己专属目录内起和登录器内置的lua文件同名,覆盖掉对应功能。
2、可以使用c.event.bind来重新或新增绑定对应事件。
3、使用元表方式重写官方对应某过程,我们提供的hint美化版例子(测试包中),使用的元表重写方式。
醉重要的:main.lua为入口文件,万变不离其宗。
lua内置信息输出函数print与c.share.dbg作用相同
lua脚本错误日志保存在:专属目录Log文件夹下
lua脚本排错指南:
当游戏中功能异常,可以运行DbgView再次实行出错功能,查看输出,对应修改错误。
如果玩家遇到错误,可以查看lua脚本错误日志。
客户端Lua游戏中重载:在M2-GM管理命令中查看
服务端说明:
--------------------------------------------------------------------------------
流程图:
使用说明:
(1)在init.lua文件中,绑定所需的事件
s.event.bind(1, "on_first_in_game")--绑定事件1(一号次进游戏时回调)到on_first_in_game函数,具体格式参看绑定M2事件
(2)在BindEvent.lua文件写入on_first_in_game()函数脚本
function on_first_in_game(player)
local playername = player:getCharName();--取角色名
s.obj.sendBroadcastMsg("玩家["..playername.."]加入游戏")--进行全服公告
end
功能:执行LUA脚本段
格式: RunLuaScript LUA函数名
说明:LUA函数需要先绑定,才可以使用
使用说明:
1.const.lua 增加以下声明
ebind_RunLuaScript = 52,--脚本命令RunLuaScript调用LUA脚本
2.init.lua 绑定LUA函数事件
s.event.bind(const.ebind_RunLuaScript, "RunLuaScript1")--脚本命令RunLuaScript调用LUA脚本
s.event.bind(const.ebind_RunLuaScript, "RunLuaScript2")--脚本命令RunLuaScript调用LUA脚本
3.编写LUA函数事件
--脚本命令RunLuaScript调用LUA脚本
function RunLuaScript1(actor)
local actorname = actor:getCharName()
print("["..actorname.."]通过脚本命令执行LUA函数1")
end
--脚本命令RunLuaScript调用LUA脚本
function RunLuaScript2(actor)
local actorname = actor:getCharName()
print("["..actorname.."]通过脚本命令执行LUA函数2")
end
4.普通脚本命令调用
[@执行LUA函数1]
#IF
#ACT
RunLuaScript RunLuaScript1
[@执行LUA函数2]
#IF
#ACT
RunLuaScript RunLuaScript2