[附录] GMSV脚本的Lua接口 NpcEventCall

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

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
回复

使用道具 举报

快速回复 返回顶部 返回列表