Envir\Market_Def\QFunction-0.lua
官方底板中已经添加了 点击npc触发
--NPC点击触发
function clicknpc(actor, npcid)
local npcobj = getnpcbyindex(npcid)
GameEvent.push(EventCfg.onClicknpc, actor, npcid, npcobj)
end
上面的clicknpc
方法中调用了 Envir\QuestDiary\util\GameEvent.lua
封装的 GameEvent.push
GameEvent 模块,它实现了一个事件系统,允许开发者注册、移除和触发事件。
我们自己创建个 Envir\QuestDiary\game\J\Test.lua
注册一个点击NPC事件,然后在聊天窗口输出 npc的 id
-- 注册一个事件监听器,当角色点击NPC时触发
GameEvent.add(EventCfg.onClicknpc, function (actor, npcid, npcobj)
sendmsg(actor, ConstCfg.notice.own, '{"Msg":"<font color=\'#ff0000\'>NPC:'.. npcid ..'</font>","Type":1}')
end, {})
打个断点
attach
方式调试服务器进程 M2Server.exe