Project1

标题: VX内如何使区域播放BGS [打印本页]

作者: zzz32167    时间: 2011-8-26 11:02
标题: VX内如何使区域播放BGS
如图在喷泉四周可以听见水声,远离后消失,我想通过大地图的一个事件控制整体的BGS消失和这个区域的一个事件使BGS产生...
但我发现区域内的事件也是属于大地图的,所以只能采用踩事件的模式...不过那样用的事件太多了..能不能只用两个事件就达到区域内产生BGS的效果呢?
dsu_plus_rewardpost_czw

1.png (88.94 KB, 下载次数: 18)

1.png

作者: 心雪    时间: 2011-8-26 14:31
本帖最后由 心雪 于 2011-8-26 14:32 编辑
  1. class Game_Event
  2.   def name
  3.     return @event.name
  4.   end
  5. end
  6. class Game_Player
  7.   alias __move_by_input__SH__ move_by_input
  8.   def move_by_input
  9.     areaid = 0
  10.     for area in $data_areas.values
  11.       if in_area?(area)
  12.         areaid = area.id
  13.       end
  14.     end
  15.     __move_by_input__SH__
  16.     newareaid = 0
  17.     for area in $data_areas.values
  18.       if in_area?(area)
  19.         newareaid = area.id
  20.       end
  21.     end
  22.     if areaid != newareaid
  23.       for event in $game_map.events.values
  24.         if (event.name =~ /\<AreaEvent\s*(\d)+\>/i) != nil
  25.           if $1.to_i == newareaid
  26.             event.start
  27.             return
  28.           end
  29.         end
  30.       end
  31.     end
  32.    
  33.   end
  34. end
复制代码
将以上脚本插入到Main之前
然后再地图上建立事件,事件名中包含: <AreaEvent区域id>  不区分大小写
当角色进入某一区域后,会自动执行对应的事件,如果没有进入任何区域,会寻找区域id=0的事件执行




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