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

Project1

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

[已经解决] 如何 获取当前地图的备注

[复制链接]

Lv1.梦旅人

梦石
0
星屑
130
在线时间
11 小时
注册时间
2018-1-11
帖子
2
跳转到指定楼层
1
发表于 2018-5-21 17:56:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
class Scene_ItemBase
  alias escape_use_item use_item
  def use_item
    escape_use_item
    use_escape_item if item.note.include?("<ESCAPE>")
  end
  def use_escape_item
    m = $game_variables[21]
    x = $game_variables[22]
    y = $game_variables[23]
    $game_player.reserve_transfer(m, x, y)
    SceneManager.goto(Scene_Map)
  end
end

class Game_BattlerBase
  alias escape_usable_item_conditions_met? usable_item_conditions_met?
  def usable_item_conditions_met?(item)
    if item.note.include?("<ESCAPE>") && $game_variables[21] == 0
      false
    else
      escape_usable_item_conditions_met?(item)
    end
  end
end
本人萌新,有点小想法,但却遇到点困难,上方代码是在做帮助文档里的实践篇里制作逃脱物品时的代码
红色部分是用于判断是否可以使用该物品的片段,我想加一段内容大概是 人物当前所在的地图的备份中存在<NO ESCAPE>
使得该片段需要判断 1.物品备注中存在<ESCAPE> 2.21号变量为0 3.人物当前所在的地图的备份中存在<NO ESCAPE>
若上述三者为真则道具为无法使用状态
求问:人物当前所在的地图的备份中存在<NO ESCAPE>应当如何实现

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2018-5-21 21:18:41 | 只看该作者
Game_Map类存储的就是当前地图的数据
参考其中的setup(map_id)方法可以知晓任一地图的数据读取方式
而其中的@map实例变量就是存储的RPG::Map地图数据类,其note属性就是地图的备注栏内容(字符串)
但这个实例变量并没有写外部读取接口
你在Game_Map类中添加
  1.   attr_reader   :map
复制代码

那么就能用 $game_map.map.note 获取到当前地图的备注栏了
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
130
在线时间
11 小时
注册时间
2018-1-11
帖子
2
3
 楼主| 发表于 2018-5-23 22:08:08 | 只看该作者
百里_飞柳 发表于 2018-5-21 21:18
Game_Map类存储的就是当前地图的数据
参考其中的setup(map_id)方法可以知晓任一地图的数据读取方式
而其中 ...

    if item.note.include?("<ESCAPE>") && $game_variables[21] == 0 && $game_map.map.note == ("<NO ESCAPE>")
我这样写对吗

点评

$game_map.map.note.include?("<ESCAPE>")  发表于 2018-5-23 22:19
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 07:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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