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

Project1

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

[已经解决] 关于事件保存位置脚本(已自行解决orz)

[复制链接]

Lv4.逐梦者

梦石
10
星屑
60
在线时间
337 小时
注册时间
2014-4-4
帖子
163
跳转到指定楼层
1
发表于 2014-11-30 21:50:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 auttbutt 于 2014-11-30 21:58 编辑

关于下面这个脚本,由于咱是脚本渣,求大大教我怎么样才能设置不保存某个事件?(完全看不懂QAQ)

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Game_Event
  3. #------------------------------------------------------------------------------
  4. #  处理事件的类。拥有条件判断、事件页的切换、并行处理、执行事件等功能。
  5. #   在 Game_Map 类的内部使用。
  6. #==============================================================================
  7.  
  8. class Game_Event < Game_Character
  9.   # 改为true将会变成保存被标记为不保存的事件
  10.   INVERSE_MARK = false
  11.   #--------------------------------------------------------------------------
  12.   # ● 是否储存位置
  13.   #--------------------------------------------------------------------------
  14.   def save_pos?
  15.     return true unless @list
  16.     return true if @list[0].code != 108
  17.     return (@list[0].parameters[0].include?("不保存事件位置") == INVERSE_MARK)
  18.   end
  19. end
  20. #==============================================================================
  21. # ■ Game_Map
  22. #------------------------------------------------------------------------------
  23. #  管理地图的类。拥有卷动地图以及判断通行度的功能。
  24. #   本类的实例请参考 $game_map 。
  25. #==============================================================================
  26.  
  27. class Game_Map
  28.   #--------------------------------------------------------------------------
  29.   # ● 初始化对象
  30.   #--------------------------------------------------------------------------
  31.   alias save_event_pos_initialize initialize
  32.   def initialize
  33.     save_event_pos_initialize
  34.     @event_pos = {}
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 设置
  38.   #--------------------------------------------------------------------------
  39.   alias save_event_pos_setup setup
  40.   def setup(map_id)
  41.     save_event_pos
  42.     save_event_pos_setup(map_id)
  43.     load_event_pos
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 保存事件位置
  47.   #--------------------------------------------------------------------------
  48.   def save_event_pos
  49.     return if @map_id == 0
  50.     @event_pos[@map_id] ||= []
  51.     @events.each{|i,e|
  52.     if e.save_pos?
  53.       @event_pos[@map_id][i] = [e.x,e.y,e.direction]
  54.     else
  55.       @event_pos[@map_id][i] = nil
  56.     end
  57.     }
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 读取事件位置
  61.   #--------------------------------------------------------------------------
  62.   def load_event_pos
  63.     return if @map_id == 0
  64.     @event_pos[@map_id] ||= []
  65.     @events.each{|i,e|
  66.       next unless @event_pos[@map_id][i]
  67.       e.moveto(@event_pos[@map_id][i][0],@event_pos[@map_id][i][1])
  68.       e.set_direction(@event_pos[@map_id][i][2])
  69.     }
  70.   end
  71. end


新作短十作品~《前夜祭-哀魔女之诗》
地址:https://rpg.blue/thread-383776-1-1.html

Lv4.逐梦者

梦石
10
星屑
60
在线时间
337 小时
注册时间
2014-4-4
帖子
163
2
 楼主| 发表于 2014-11-30 21:57:58 | 只看该作者
好吧,又再次自行解决orz

新作短十作品~《前夜祭-哀魔女之诗》
地址:https://rpg.blue/thread-383776-1-1.html
回复 支持 反对

使用道具 举报

Lv2.观梦者

故九江太守

梦石
0
星屑
394
在线时间
2101 小时
注册时间
2012-12-5
帖子
4420
3
发表于 2014-11-30 22:28:21 | 只看该作者
名字带<BC>的保存事件
  1. class Game_Map
  2. alias old_setup setup
  3. def setup(jiong)
  4.   if @lv_x == nil
  5.     @lv_x = []
  6.     @lv_y = []
  7.     @lv_direction = []
  8.   end
  9.   if @lv_x[jiong]==nil
  10.       @lv_x[jiong]=[]
  11.       @lv_y[jiong]=[]
  12.       @lv_direction[jiong]=[]
  13.   end
  14.   old_setup(jiong)
  15. end
  16. def lv_x(one,two)
  17.   return @lv_x[one][two]
  18. end
  19. def lv_y(one,two)
  20.   return @lv_y[one][two]
  21. end
  22. def lv_x2(one,two,three)
  23.   @lv_x[one][two]=three
  24. end
  25. def lv_y2(one,two,three)
  26.   @lv_y[one][two]=three
  27. end
  28. def lv_direction(one,two)
  29.   return @lv_direction[one][two]
  30. end
  31. def lv_direction2(one,two,three)
  32.   @lv_direction[one][two]=three
  33. end
  34. end


  35. class Game_Event
  36. attr_reader   :id
  37. attr_reader   :map_id
  38. alias old_update update
  39. def update
  40.   old_update
  41.   $game_map.lv_x2(@map_id,@id,self.x)
  42.   $game_map.lv_y2(@map_id,@id,self.y)
  43.   $game_map.lv_direction2(@map_id,@id,self.direction)
  44. end
  45. def initialize(map_id, event)
  46.   super()
  47.   @map_id = map_id
  48.   @event = event
  49.   @id = @event.id
  50.   @erased = false
  51.   @starting = false
  52.   @through = true
  53.   if $game_map.lv_x(@map_id,@id)!=nil and @event.name =~ "<BC>"
  54.     @event.x = $game_map.lv_x(@map_id,@id)
  55.     @event.y = $game_map.lv_y(@map_id,@id)
  56.     @direction = $game_map.lv_direction(@map_id,@id)
  57.   end
  58.   moveto(@event.x, @event.y)
  59.   refresh
  60. end
  61. end
复制代码

评分

参与人数 1星屑 +200 收起 理由
VIPArcher + 200 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 16:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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