魔力宝贝

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

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

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

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

使用道具 举报

Archiver|魔力研究社

GMT+8, 2025-5-12 19:14 , Processed in 0.114236 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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