查看: 2706|回复: 4

[已经解决] 怎么在公共事件中获取当前使用的物品ID(已解决)

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-1-30 10:29:33 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 yang1zhi 于 2017-1-31 19:17 编辑

就是在物品里使用公共事件。
怎么在公共事件的脚本里面获取这个物品的ID。

点评

貌似只能用全局变量  发表于 2017-1-30 10:32
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-1-30 10:51:47 来自手机 | 显示全部楼层
本帖最后由 guoxiaomi 于 2017-1-30 22:35 编辑

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

嗯,默认脚本 Scene_Item 的第188-195行
[pre lang="ruby" line="188"]# 公共事件 ID 有效的情况下
        if @item.common_event_id > 0
          # 预约调用公共事件
          $game_temp.common_event_id = @item.common_event_id
          # 切换到地图画面
          $scene = Scene_Map.new
          return
        end[/pre]

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

[pre lang="ruby"]$game_variables[1] = @item.id[/pre]

应该就可以。

所以说上面的点评是对的,简单的方法只能依靠全局变量。

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
130 小时
注册时间
2013-4-28
回帖
78
发表于 2017-1-31 09:49:32 | 显示全部楼层
既然是在物品里使用公共事件,那么这个公共事件就是和物品绑定的,这个物品id直接代入就好了

点评

对,独立的事件不受影响,但是楼主可能想把多个物品绑定到同一个公共事件。  发表于 2017-1-31 21:23
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部