查看: 2947|回复: 3

[已经解决] 地图文件

[复制链接]
梦石
0
星屑
50
在线时间
322 小时
注册时间
2011-6-24
回帖
133
发表于 2016-5-24 13:55:58 来自手机 | 显示全部楼层 |阅读模式

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

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

×
我想给事件增加个 hp  ,然后把设定好的hp值存入地图文件里,在加载地图文件时可以读出来(p $game_map.events[2].hp)
梦石
0
星屑
185
在线时间
49 小时
注册时间
2015-9-17
回帖
20
发表于 2016-5-24 17:12:24 | 显示全部楼层
那你应该给事件增加hp而不是在地图文件里
  1. class Game_Event < Game_Character
  2.   attr_accessor :hp
  3.   alias old_initialize initialize
  4.   def initialize(map_id, event)
  5.     @hp = 0
  6.     old_initialize(map_id, event)
  7.   end
  8. end
复制代码

点评

为什么要这么麻烦呢,地图文件应该没这个功能的。存取文件还要做个存取文件的脚本。做成脚本不是挺方便的吗。  发表于 2016-5-25 12:24
我是这样弄的啊,这个还是要设置hp=100 if mapid =18and event.id=5,我想把这先存进文件里,在读取文件时读取出来,而不是在脚本里读取  发表于 2016-5-25 09:49
我觉得他是想作全局使用  发表于 2016-5-24 21:59
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2016-5-25 13:27:49 | 显示全部楼层
[pre lang="Ruby"]class Game_Event < Game_Character
  attr_writer :hp
  #--------------------------------------------------------------------------
  # ● 对象初始化
  #--------------------------------------------------------------------------
  alias rb_initialize_160525 initialize
  def initialize(*arg)
    rb_initialize_160525(*arg)
    @hp = 0
  end
  #--------------------------------------------------------------------------
  # ● 取得名字
  #--------------------------------------------------------------------------
  def get_name
    return @event.name
  end
  def hp
    return @hp || 0
end

#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # ● 设置事件
  #--------------------------------------------------------------------------
  alias rb_setup_events_160525 setup_events
  def setup_events
    rb_setup_events_160525
    for i in @map.events.keys
      @events.hp = $1.to_i if @events.get_name =~ /<HP\s*=\s*(\d+)\s*>/
    end
  end
end[/pre]
未测试。

用法:在事件编辑器左上角的事件名称里面写<HP=100>即可设定该事件的HP是100。

目前此功能不支持事件翻页,即一个事件的所有页的HP都是一样的,如果要让同一事件的不同事件页对应的HP不同请另行告知。
回复

使用道具 举报

梦石
0
星屑
185
在线时间
49 小时
注册时间
2015-9-17
回帖
20
发表于 2016-5-25 22:30:08 | 显示全部楼层
图灵 发表于 2016-5-24 17:12
那你应该给事件增加hp而不是在地图文件里

这个不需要判断地图 应该自动会存到存档里 你可以参考RyanBern的 用名称设置或者用我这个使用$game_map.events[ID号].hp = xxx 设置
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部