Project1

标题: 怎么在公共事件中获取当前使用的物品ID(已解决) [打印本页]

作者: yang1zhi    时间: 2017-1-30 10:29
标题: 怎么在公共事件中获取当前使用的物品ID(已解决)
本帖最后由 yang1zhi 于 2017-1-31 19:17 编辑

就是在物品里使用公共事件。
怎么在公共事件的脚本里面获取这个物品的ID。
作者: guoxiaomi    时间: 2017-1-30 10:51
本帖最后由 guoxiaomi 于 2017-1-30 22:35 编辑

[del]印象中是类似$scene.used_item_id的调用,看一眼脚本我应该能想起来……先占个坑,今天外出,明天回答吧。[/del]

嗯,默认脚本 Scene_Item 的第188-195行
RUBY 代码复制
  1. # 公共事件 ID 有效的情况下
  2.         if @item.common_event_id > 0
  3.           # 预约调用公共事件
  4.           $game_temp.common_event_id = @item.common_event_id
  5.           # 切换到地图画面
  6.           $scene = Scene_Map.new
  7.           return
  8.         end


这里调用了公共事件之后转移到了 Scene_Map, 从而原来的 @item 不能再被调用了。
但是在切换到地图画面之前加上一行

RUBY 代码复制
  1. $game_variables[1] = @item.id


应该就可以。

所以说上面的点评是对的,简单的方法只能依靠全局变量。
作者: 看花飞花落    时间: 2017-1-31 09:49
既然是在物品里使用公共事件,那么这个公共事件就是和物品绑定的,这个物品id直接代入就好了




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