查看: 1809|回复: 1

[已经解决] VX内如何使区域播放BGS

  [复制链接]
梦石
0
星屑
50
在线时间
6 小时
注册时间
2010-4-16
回帖
9
发表于 2011-8-26 11:02:33 | 显示全部楼层 |阅读模式

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

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

×
如图在喷泉四周可以听见水声,远离后消失,我想通过大地图的一个事件控制整体的BGS消失和这个区域的一个事件使BGS产生...
但我发现区域内的事件也是属于大地图的,所以只能采用踩事件的模式...不过那样用的事件太多了..能不能只用两个事件就达到区域内产生BGS的效果呢?
1.png
梦石
0
星屑
100
在线时间
169 小时
注册时间
2007-8-12
回帖
198
发表于 2011-8-26 14:31:29 | 显示全部楼层
本帖最后由 心雪 于 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的事件执行

点评

谢谢....  发表于 2011-8-26 20:12
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部