设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2052|回复: 12
打印 上一主题 下一主题

[有事请教] 如何用脚本方式进行物品选择处理

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2334
在线时间
521 小时
注册时间
2019-6-30
帖子
237
跳转到指定楼层
1
发表于 2022-1-19 17:45:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
100星屑
本帖最后由 入坑小萌新 于 2022-1-21 14:28 编辑

如图,用图中这种方式

在还没有选择物品就返回变量值了

看了下源代码好像要加等待

但不懂怎么写

有没有大佬知道怎么弄




360截图17411031356850.png (20 KB, 下载次数: 7)

360截图17411031356850.png

最佳答案

查看完整内容

应该你也看出来了,后续的事情其实就是写到这个onOk里面。 不过看你的意思似乎是要把后面处理的事情交回到事件中去实现, 这方面,MV本身真不太好实现。 如果可以折冲一点的话那就是, 要么另外开个公共并行去判断, 要么setTimeout 带个回调。 要么在onOK的最后加个$gameMap.event(事件ID).start() 去启动一个新的事件。 或者继续探讨你自己的方法,看看还可以怎么个待机时间。 ...

Lv3.寻梦者

梦石
0
星屑
3053
在线时间
318 小时
注册时间
2015-4-30
帖子
92
2
发表于 2022-1-19 17:45:39 | 只看该作者
应该你也看出来了,后续的事情其实就是写到这个onOk里面。
不过看你的意思似乎是要把后面处理的事情交回到事件中去实现,
这方面,MV本身真不太好实现。
如果可以折冲一点的话那就是,
要么另外开个公共并行去判断,
要么setTimeout 带个回调。
要么在onOK的最后加个$gameMap.event(事件ID).start() 去启动一个新的事件。
或者继续探讨你自己的方法,看看还可以怎么个待机时间。

点评

谢谢,好像有点头绪了,我去试试  发表于 2022-1-23 17:49
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3053
在线时间
318 小时
注册时间
2015-4-30
帖子
92
3
发表于 2022-1-20 15:08:13 | 只看该作者
这个代码确实是没有做物品选择啊,
顶多就是弹出个窗口,然后把对应类型的物品展示出来。
这个aa的值应该是0吧,那是MV变量默认的初始值,不是返回值。
虽然不明白这样做的目的是什么,不过如果对这个很执着的话,
那不妨考虑把Window_EventItem.prototype.onOk里的代码也翻一下。
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2334
在线时间
521 小时
注册时间
2019-6-30
帖子
237
4
 楼主| 发表于 2022-1-20 17:04:40 | 只看该作者
在野月光族 发表于 2022-1-20 15:08
这个代码确实是没有做物品选择啊,
顶多就是弹出个窗口,然后把对应类型的物品展示出来。
这个aa的值应该是 ...

因为自定义了别的物品类型
然后物品选择只能用脚本的方式做,
但是运行那个脚本,在还没有确定选择物品时候
就执行下面的内容了,所以值会等于0,
然后下次选择值等于上一次选择物品的值
用事件自带的做就不会这样,搞不清楚这里面的区别
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3053
在线时间
318 小时
注册时间
2015-4-30
帖子
92
5
发表于 2022-1-22 06:13:46 | 只看该作者
.....
$gameMessage.setItemChoice是给出了选择,但没有参与选择。
“选择”这个动作需要玩家来完成。
变量值的改动发生在Window_EventItem.prototype.onOk里被执行。
而Window_EventItem.prototype.onOk这个指令,就是被玩家行为触发的。
就是说,1楼贴图的代码只是会弹出个选择窗口,
并预设了一个自定义编号的变量,但没有参与"选择"这个行为。
就算直接调用command104也一样,
就不说只是调用了104下属的$gameMessage.setItemChoice 了。

回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2334
在线时间
521 小时
注册时间
2019-6-30
帖子
237
6
 楼主| 发表于 2022-1-22 15:33:38 | 只看该作者
在野月光族 发表于 2022-1-22 06:13
.....
$gameMessage.setItemChoice是给出了选择,但没有参与选择。
“选择”这个动作需要玩家来完成。


还是不太清楚...
我看了下Window_EventItem.prototype.onOk,
是当玩家确定了时候改变值,但我不知道这怎么做判断..
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2334
在线时间
521 小时
注册时间
2019-6-30
帖子
237
7
 楼主| 发表于 2022-1-22 15:39:27 | 只看该作者
在野月光族 发表于 2022-1-22 06:13
.....
$gameMessage.setItemChoice是给出了选择,但没有参与选择。
“选择”这个动作需要玩家来完成。

大佬,我有个疑问就是怎么做到等玩家选择物品后再执行后面的内容
我试加了一下等待几秒时间,然后在等待时间内选择物品
他后面的值就是选中物品的值
但是这样测试的时候等待时间是写死的
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
953
在线时间
191 小时
注册时间
2017-10-30
帖子
29
8
发表于 2022-2-14 03:06:26 | 只看该作者
要加个等待还是暂停类型是什么message吧  去看一下命令文档就好
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
118
在线时间
11 小时
注册时间
2022-3-17
帖子
8
9
发表于 2022-4-16 11:12:26 | 只看该作者
this.setWaitMode('message');
加在setItemChoice后面就行

点评

这样加并没有用啊  发表于 2022-4-16 13:41
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
118
在线时间
11 小时
注册时间
2022-3-17
帖子
8
10
发表于 2022-4-16 17:27:11 | 只看该作者
我试了一下,可以用啊。
选择之后获取到了物品id

回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-11 01:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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