Project1

标题: 求大佬解答如何在菜单中选择物品使用 [打印本页]

作者: 筱叶子    时间: 2018-2-22 21:19
标题: 求大佬解答如何在菜单中选择物品使用
因为想增加解密难度,就想做成要在菜单栏选择需要使用的物品再使用,而不是直接在事件上使用分支条件判断物品是否存在而直接使用……想了半天没想出来如何编这个事件,请问要达成这个条件是需要脚本吗,还是单纯的可以用事件编写?
作者: MireniamuYuki    时间: 2018-2-22 21:46

物品→使用效果→其他→公共事件
作者: 文雅夕露    时间: 2018-2-22 22:02
“在菜单栏选择需要使用的物品再使用”是什么意思?
就是一个门事件,使用菜单中的钥匙后,门就打开了这样吗?
如果是这样的话,楼上的方法就可以实现啦。
作者: RaidenInfinity    时间: 2018-2-22 22:10
本帖最后由 RaidenInfinity 于 2018-2-22 22:12 编辑

范例: Project35.rar (286.14 KB, 下载次数: 136)

假设你是要站在一个固定位置的事件的前面使用物品,然后达成效果(可以是在门前使用钥匙之类的)。
上面附上的范例内用了公共事件和事件脚本指令。

数据库的部分:
需要设置道具的使用范围为无,只有在菜单内可使用,然后非消耗品。
特性就放触发公共事件。

公共事件:
范例里可以看到一段脚本指令。(注:如果你的事件指令框装不下,你是该考虑下买正版VA了)
RUBY 代码复制
  1. gp = $game_player
  2. x = $game_map.round_x_with_direction(gp.x, gp.direction)
  3. y = $game_map.round_y_with_direction(gp.y, gp.direction)
  4. map_id = $game_map.instance_variable_get(:@map_id)
  5. $game_switches[1] = (x == 8 && y == 6 && map_id == 1)

第一行把玩家角色的实例代入变量,以缩短代码的长度。
第二行和第三行分别是获取玩家角色前方的X和Y坐标。
第四行强制获取当前地图的ID。
第五行是判断:x 等于 目标事件的X坐标 而且 y 等于 目标事件的Y坐标 而且 map_id 等于目标地图的ID
然后把这个结果存入1号开关里。
接下来就是用1号开关来做条件分歧了。
(以上脚本用于判定玩家角色是不是站在目标事件的前方。)
  
脚本是万能的(除非遇上效率问题)。如果对脚本有兴趣的话,可以阅读下本区置顶的脚本教程。
编辑器的右下角可以看到当前地图的ID和选中地点的坐标。
比如:001:MAP001 (17x13)  | 008, 006 | 001:EV001
指的是:1号地图,名称是MAP001,大小是17x13 | 目前选中的X坐标是8而Y坐标是6 | 目前选中的是1号事件,名称是EV001

作者: chd114    时间: 2018-2-23 02:08
本帖最后由 chd114 于 2018-2-23 10:03 编辑

mo.zip (1.43 MB, 下载次数: 90)
配合楼上的版主的脚本,你也可以用这个方法
在使用物品时获取物品id(这个物品最好不要设置成对某个目标使用、获取事件名称
脚本

用来示范的物品(妖精盐巴,当你对下面的npc用了3次妖精盐巴以后你就可以从地上捡走一个新物品)
如果你给物品设置了消耗,那么无论是否可以使用的场合,你用了都会消耗,如果不能用的场合不消耗,你就把是否消耗改了,在处理成功的时候顺带消耗
物品

公共事件里根据你使用的物品的id来决定做什么,坐标和事件这些你可以自己改,如果你要做挖宝,那坐标就用玩家的坐标就行了
公共事件
可以被你变成灰的npc

因为事件页出现条件里的独立开关就4个,所以给npc留了可以捡的灰
作者: jianyulei    时间: 2018-2-23 14:58
https://rpg.blue/forum.php?mod=v ... 6orderby%3Ddateline




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