Project1

标题: 地图文件 [打印本页]

作者: sblkhgm    时间: 2016-5-24 13:55
标题: 地图文件
我想给事件增加个 hp  ,然后把设定好的hp值存入地图文件里,在加载地图文件时可以读出来(p $game_map.events[2].hp)
作者: 图灵    时间: 2016-5-24 17:12
那你应该给事件增加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
复制代码

作者: RyanBern    时间: 2016-5-25 13:27
RUBY 代码复制
  1. class Game_Event < Game_Character
  2.   attr_writer :hp
  3.   #--------------------------------------------------------------------------
  4.   # ● 对象初始化
  5.   #--------------------------------------------------------------------------
  6.   alias rb_initialize_160525 initialize
  7.   def initialize(*arg)
  8.     rb_initialize_160525(*arg)
  9.     @hp = 0
  10.   end
  11.   #--------------------------------------------------------------------------
  12.   # ● 取得名字
  13.   #--------------------------------------------------------------------------
  14.   def get_name
  15.     return @event.name
  16.   end
  17.   def hp
  18.     return @hp || 0
  19. end
  20.  
  21. #==============================================================================
  22. # ■ Game_Map
  23. #==============================================================================
  24. class Game_Map
  25.   #--------------------------------------------------------------------------
  26.   # ● 设置事件
  27.   #--------------------------------------------------------------------------
  28.   alias rb_setup_events_160525 setup_events
  29.   def setup_events
  30.     rb_setup_events_160525
  31.     for i in @map.events.keys
  32.       @events[i].hp = $1.to_i if @events[i].get_name =~ /<HP\s*=\s*(\d+)\s*>/
  33.     end
  34.   end
  35. end

未测试。

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

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

作者: 图灵    时间: 2016-5-25 22:30
图灵 发表于 2016-5-24 17:12
那你应该给事件增加hp而不是在地图文件里

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




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