Project1
标题: 如何用脚本方式进行物品选择处理 [打印本页]
作者: 入坑小萌新 时间: 2022-1-19 17:45
标题: 如何用脚本方式进行物品选择处理
本帖最后由 入坑小萌新 于 2022-1-21 14:28 编辑
如图,用图中这种方式
在还没有选择物品就返回变量值了
看了下源代码好像要加等待
但不懂怎么写
有没有大佬知道怎么弄
-
360截图17411031356850.png
(20 KB, 下载次数: 64)
作者: 在野月光族 时间: 2022-1-19 17:45
应该你也看出来了,后续的事情其实就是写到这个onOk里面。
不过看你的意思似乎是要把后面处理的事情交回到事件中去实现,
这方面,MV本身真不太好实现。
如果可以折冲一点的话那就是,
要么另外开个公共并行去判断,
要么setTimeout 带个回调。
要么在onOK的最后加个$gameMap.event(事件ID).start() 去启动一个新的事件。
或者继续探讨你自己的方法,看看还可以怎么个待机时间。
作者: 在野月光族 时间: 2022-1-20 15:08
这个代码确实是没有做物品选择啊,
顶多就是弹出个窗口,然后把对应类型的物品展示出来。
这个aa的值应该是0吧,那是MV变量默认的初始值,不是返回值。
虽然不明白这样做的目的是什么,不过如果对这个很执着的话,
那不妨考虑把Window_EventItem.prototype.onOk里的代码也翻一下。
作者: 入坑小萌新 时间: 2022-1-20 17:04
因为自定义了别的物品类型
然后物品选择只能用脚本的方式做,
但是运行那个脚本,在还没有确定选择物品时候
就执行下面的内容了,所以值会等于0,
然后下次选择值等于上一次选择物品的值
用事件自带的做就不会这样,搞不清楚这里面的区别
作者: 在野月光族 时间: 2022-1-22 06:13
.....
$gameMessage.setItemChoice是给出了选择,但没有参与选择。
“选择”这个动作需要玩家来完成。
变量值的改动发生在Window_EventItem.prototype.onOk里被执行。
而Window_EventItem.prototype.onOk这个指令,就是被玩家行为触发的。
就是说,1楼贴图的代码只是会弹出个选择窗口,
并预设了一个自定义编号的变量,但没有参与"选择"这个行为。
就算直接调用command104也一样,
就不说只是调用了104下属的$gameMessage.setItemChoice 了。
作者: 入坑小萌新 时间: 2022-1-22 15:33
还是不太清楚...
我看了下Window_EventItem.prototype.onOk,
是当玩家确定了时候改变值,但我不知道这怎么做判断..
作者: 入坑小萌新 时间: 2022-1-22 15:39
大佬,我有个疑问就是怎么做到等玩家选择物品后再执行后面的内容
我试加了一下等待几秒时间,然后在等待时间内选择物品
他后面的值就是选中物品的值
但是这样测试的时候等待时间是写死的
作者: simyaoyao 时间: 2022-2-14 03:06
要加个等待还是暂停类型是什么message吧 去看一下命令文档就好
作者: 18772799953 时间: 2022-4-16 11:12
this.setWaitMode('message');
加在setItemChoice后面就行
作者: 18772799953 时间: 2022-4-16 17:27
我试了一下,可以用啊。
选择之后获取到了物品id
作者: 入坑小萌新 时间: 2022-4-16 18:08
谢谢!确实是可以了!
我之前把输出的那个脚本直接写一起了,那样就会失效
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |