Project1

标题: 请问怎么设置区域事件 [打印本页]

作者: 怨念之魂    时间: 2011-9-21 03:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 各种压力的猫君    时间: 2011-9-21 06:14
本帖最后由 各种压力的猫君 于 2011-9-21 06:24 编辑

不知道改哪里,就直接在main上面插入一个脚本:(原帖3楼
  1. class Game_Player < Game_Character
  2.   def area_id
  3.     $data_areas.values.each{|area| return area.id if in_area?(area)}
  4.   end
  5. end
复制代码
然后新建你所谓的“区域事件”,记下事件ID(显示在事件窗口标题栏,如果还找不到请重修计算机基础和RMVX新手教程)
最后新建一个并行事件,使用事件第3页高级里面的脚本项,输入以下内容:(原帖
  1. area = $game_player.area_id
  2. $game_map.events[1].start if area == 1
  3. $game_map.events[2].start if area == 2
  4. $game_map.events[3].start if area == 3
复制代码
这样的效果就是进入区域1启动事件1,进入区域2启动事件2,进入区域3启动事件3。
范例:(左上区域1,左下区域2,右侧区域3;地图左上3个事件依次为3个区域的事件,右下的事件为并行处理事件。
区域控制事件 范例.rar (231.98 KB, 下载次数: 96)
作者: 怨念之魂    时间: 2011-9-21 08:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 各种压力的猫君    时间: 2011-9-21 08:06
请注意我范例里的4个事件的“事件开始条件”(在事件窗口的左下角)
作者: 怨念之魂    时间: 2011-9-21 08:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: 各种压力的猫君    时间: 2011-9-21 08:19
怨念之魂 发表于 2011-9-21 08:08
事件执行条件是 并行处理的
  1. area = $game_player.area_id
  2. $game_map.events[2].start if area == 1
复制代码
$game_map.events[2].start 里面的2是指要启动的事件ID = = b 你这个2号事件不就是本身么……应该是启动1号才对;
area == 1 里面的1指的是进入的区域编号,区域编号和地图编号一样都是全局的,你这个是4号而不是1号。
作者: 怨念之魂    时间: 2011-9-21 08:21
提示: 作者被禁止或删除 内容自动屏蔽




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