GMSV脚本的Lua接口 NpcEventCall
NpcEventCall可以让用户在GMSV自身的脚本(data/npc/*.txt)中传递和获取值给lua引擎中处理
定义方式
在npc脚本中,使用关键字luac来传递参数给lua引擎
在lua脚本的init.lua或其他脚本中加入一个名为ScriptCall的lua函数,函数的参数下面会介绍
当ScriptCall返回值的时候,会设置该值为localcount31
ScriptCall参数定义 ScriptCall(npc, player, s)
- npc: [数值型] NPC的对象实例的索引
- player: [数值型] 玩家的对象实例的索引
- s: [字符串] luac中传递的参数
其他说明
传递的字符串中,由于gmsv自身的处理,所有字符会变为小写,且删除了所有的空格和大部分符号。
例子
npc脚本
block
luac myplayer set 1
if localcount 31 == 1
luac countsetdone!
function ScriptCall(npc, player, s)
if(string.find(s,"myplayerset")then
NLG.SystemMessage(player, s)
return 1
end
if(string.find(s,"countsetdone")then
NLG.SystemMessage(player, "countsetdone,Lua<->npc脚本 互通正常")
return 1
end
return 1
end