我正在使用最新的lua界面并尝试运行此代码
luanet.load_assembly("Phoenix")
luanet.load_assembly("Phoenix.Structures")
NpcDialog = luanet.import_type("Phoenix.Structures.NpcDialog")
function npc(request, client)
local dialog = new NpcDialog(client)
dialog.Text("hi this is a test")
dialog.Send()
end
但是得到了这个错误 LuaInterface.LuaException:[string“chunk”]:6:尝试调用全局'NpcDialog '(零值)
exe名称为Map Server.exe
大会名称Map Server
默认名称空间Phoenix
有没有办法让它在不改变程序集名称的情况下工作
答案 0 :(得分:1)
Lua中没有new
运算符。写:
function npc(request, client)
local dialog = NpcDialog(client)
如果在此修复后仍然遇到同样的问题,则NpcDialog
为零:也许导入的返回值为nil,或者可能在导入行和调用npc(r,c)
的行之间填充。也许试试
assert( NpcDialog )
如果失败意味着load_assembly("Phoenix")
失败,可能是因为程序集不是“Phoenix”而是“Map Server”,所以试试
luanet.load_assembly("Map Server")
NpcDialog = luanet.import_type("Phoenix.Structures.NpcDialog")
assert(NpcDialog)
答案 1 :(得分:0)
第6行是有效的Lua代码,但它不符合你的想法。 Lua解析它好像有一个;在new
之后,因此尝试拨打NpcDialog
。