Project1

标题: 请教一下,如何一次判断包里有没有若干件物品... [打印本页]

作者: gxlmx2    时间: 2022-9-28 10:01
标题: 请教一下,如何一次判断包里有没有若干件物品...
本帖最后由 gxlmx2 于 2022-9-28 10:10 编辑

如题,在写一个任务,需要找到几件物品才能提交任务(纯脚本不是用任务插件)。
在判断背包有没有任务物品时,分支条件里只能选择一件物品来做判断,像我这样需要一次判断背包里有没有若干物品应该怎么写呢?
分支条件里再添加一个分支条件的套娃写法是可以实现,但实在繁琐,也不会写脚本代码,只想知道简单点的写法.....
作者: 多睡觉少操心Nmo    时间: 2022-9-28 10:14
如果说直接来看,大概没什么办法,毕竟MV本体中只能用if这种流程语句而不能自己设置对象数组

不过可以尝试在事件中把获得物品设置为更改变量,最后只判断一次变量这种形式
事件页1:             事件页2:               最终判断事件:
获得道具A             获得道具B               如果变量α >= ??
变量α +1              变量α +1                 则任务完成
作者: cmyx    时间: 2022-9-28 11:08
本帖最后由 cmyx 于 2022-9-28 11:11 编辑

分支条件,第四页,脚本:$gameParty.numItems($dataItems[n]) === x; 判断物品n的数量是否等于x
> ⼤于
<  ⼩于
>= ⼤于或等于
<= ⼩于或等于
=== 等于
&& 和
|| 或
!== 不等于
! 否
作者: gxlmx2    时间: 2022-9-28 13:00
谢谢上面的方法,不过我是要判定是否有若干物品,不是判定某物品的数量...
(如果队伍持有物品A和物品B,任务通过,没有或只有A或B,不通过...)
看来还是用套娃写法好了,如果任务物品需要好多种,脚本就会很冗长,不过也没办法了。
作者: cmyx    时间: 2022-9-28 14:24
&& 和 不就是给你做这个判断的吗。。。。。。
例如:$gameParty.numItems($dataItems[1]) > 1 && $gameParty.numItems($dataItems[2]) > 1
作者: gxlmx2    时间: 2022-9-28 19:47
有空试一试,会写代码就是好..............
作者: 御曹司    时间: 2022-9-29 00:37
本帖最后由 御曹司 于 2022-9-29 12:20 编辑

其实用RM自带的功能足以。。,,既不用套娃也不用代码
根据你的描述
只要泛用变量1
变量1数值带入1
然后若物品a不存在 变量1改为0
然后若物品b不存在 变量1改为0
然后若物品c不存在 变量1改为0
最后根据变量1的值决定是否达成条件。

不过会代码终究还是可以解决很多问题的。。。
作者: lqi991    时间: 2022-9-29 01:31
# 在分支判断输入下面代码.
# 在 [ID] 输入物品ID,可以输入多个ID例如: [1,2,3]    // 注意:符号都是英文的

  1. [ID].every(i=>$gameParty.numItems(i))
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1