查看: 2279|回复: 0

[已经过期] 运行时更改地图图块的脚本求修改

[复制链接]
梦石
0
星屑
94
在线时间
648 小时
注册时间
2009-2-3
回帖
208
发表于 2013-9-5 16:52:20 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 lanyaolove 于 2013-9-5 16:54 编辑

这个脚本是把更改后的数据存在存档中的 可否更改后直接更改Map文件 而不需要存档?
使用方法:事件脚本中 $game_map.hzhj(384)
384为第一个图块
  1. #==============================================================================
  2. # ■ Game_System
  3. #==============================================================================

  4. class Game_System
  5.   attr_accessor :hzhj_map
  6.   alias hzhj_sys_ini initialize
  7.   def initialize
  8.     @hzhj_map = {}
  9.     hzhj_sys_ini
  10.   end
  11. end


  12. #==============================================================================
  13. # ■ Game_Map
  14. #==============================================================================

  15. class Game_Map
  16.   alias hzhj_setup_map setup
  17.   def setup(map_id)
  18.     hzhj_setup_map(map_id)
  19.     if $game_system.hzhj_map[@map_id] != nil
  20.       for a in $game_system.hzhj_map[@map_id]
  21.         @map.data[a[0],a[1],a[2]] = a[3]
  22.       end
  23.     end
  24.   end
  25.   
  26.   def data=(new_data)
  27.     @map.data = new_data
  28.     return @map
  29.   end
  30.   
  31.   def hzhj(c, f = 0)
  32.     a = $game_player.x;b = $game_player.y
  33.     d = [];d.push(a);d.push(b);d.push(f)
  34.     d.push(c)
  35.     e = $game_map.map_id
  36.     if $game_system.hzhj_map[e] == nil
  37.       $game_system.hzhj_map[e] = []
  38.       $game_system.hzhj_map[e].push(d)
  39.     else
  40.       $game_system.hzhj_map[e].push(d)
  41.     end
  42.     $game_map.data[a,b,f] = c
  43.   end
  44. end

  45. #==============================================================================
  46. # ■ Spriteset_Map
  47. #==============================================================================
  48. class Spriteset_Map
  49.   alias hzhj_spri_map_upd update
  50.   def update
  51.     if @tilemap.map_data != $game_map.data
  52.       @tilemap.map_data = $game_map.data
  53.     end
  54.     hzhj_spri_map_upd
  55.   end
  56. end
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部