THE NVL Maker

 找回密码
 注册
搜索
查看: 1976|回复: 4

[脚本编辑] 请问有办法在游戏中做出类似AI检测关键词回复的功能吗?

[复制链接]

6

主题

14

帖子

0

精华

游戏开发者

积分
14
发表于 2022-8-26 18:05:01 | 显示全部楼层 |阅读模式
想问问D大,识别玩家输入的一段话中的某几个关键字,然后触发回答。这种效果有办法用nvlmaker实现嘛?
我只会用@edit name="f.词"配合分歧来检测关键词,但是这种办法只限输入完整关键词,有什么办法可以检测出输入文字的一部分内容吗

回复

使用道具 举报

16

主题

982

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1003
发表于 2022-8-28 23:41:54 | 显示全部楼层
indexOf
 indexOf メソッドは、部分文字列の位置を返します。

構文 : indexOf(<部分文字列>[,<検索開始位置>])

 文字列から、<部分文字列> を<検索開始位置>から検索し、最初に見つかった位置を返します。 0 が返されれば文字列の先頭です。-1 が返されたときは見つからなかったときです。<検索開始位置>を省略すると、文字列の先頭からの検索になります。


例:
    var str = "abcdefghijkl";
    var n = str.indexOf("fgh"); // n には 5 が代入される
    var n = str.indexOf("xyz"); // n には -1 が代入される
即,找不到关键字就是-1,因此不等于-1就是找到了。
回复

使用道具 举报

6

主题

14

帖子

0

精华

游戏开发者

积分
14
 楼主| 发表于 2022-8-29 11:52:27 | 显示全部楼层
感谢D大!我学会了~
贴一下我的脚本,以便后面的朋友参考
示例:当玩家输入文字包含“吃”字时,触发对话“午饭要吃什么?”
@dia
@eval exp="f.词='说点什么'"
@nowait
@edit name="f.词" opacity="0" color="0xFFFFFF"
@r
@links target="*输入完毕" text="确定" hint="点这里继续"
@endnowait
@s
;----------
*输入完毕
@commit
@er
[iscript]
    var str = f.词;
    var n = str.indexOf("吃");
[endscript]
@if exp="(n!=-1)"
@dia
午饭要吃些什么?[w]
@endif

点评

直接使用f.词.indexOf("吃")也可以哦,这样可以少引入一些变量~  发表于 2022-9-11 11:44
回复

使用道具 举报

6

主题

29

帖子

0

精华

游戏开发者

积分
29
发表于 2022-9-9 15:34:47 | 显示全部楼层
xiaoyewan 发表于 2022-8-29 11:52
感谢D大!我学会了~
贴一下我的脚本,以便后面的朋友参考
示例:当玩家输入文字包含“吃”字时,触发对话“ ...

感谢示例!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-3-28 18:33 , Processed in 0.010670 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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