Project1
标题:
RPGVA的一个小问题
[打印本页]
作者:
wp5512987
时间:
2013-7-29 21:59
标题:
RPGVA的一个小问题
在这之前我已经搜索过了,没有任何关于这个的记载。本人小白一个,请大神帮忙解决下,无耻了~
-------------------分割线-------------------下面是正题
我想问下就是RPGVA里有没有像RPGVX的就是圈定一块区域,然后在里面的任何一个地方都可以触发任务或者事件。。 RPGVA里面区域编辑模式有点摸不着头脑了。
作者:
wp5512987
时间:
2013-7-29 22:11
软件本身自带的,我记得好像是在右下角有编辑的。
作者:
wp5512987
时间:
2013-7-29 22:13
软件本身自带的,我记得好像是在右下角有编辑的。
作者:
喵呜喵5
时间:
2013-7-29 23:25
右下角什么都没有,你说的是哪个?
TM截图未命名.png
(42.57 KB, 下载次数: 35)
下载附件
保存到相册
2013-7-29 23:25 上传
作者:
gaogs123456
时间:
2013-7-29 23:46
这是一个靠近一定距离触发的脚本,使用方法是在事件的名称中加入 <SensorX> X值=距离,1就是1格距离。
要注意:1格以1距离来计算,不论拐弯还是斜对角都是,事件本身的那一格不计算在距离内。
然后第二页事件以D作为独立开关开启条件,用并行处理或者自动执行就OK啦。
#==============================================================================
# +++ MOG - Event Sensor Range (v1.0) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# Permite que o evento tenha dois comportamentos, de curta distância e de
# longa distância.
#===============================================================================
# - Utilização
# Crie uma página com a condição de ativação Self Switch D, está página será
# usada quando o player estiver perto do evento.
# Defina a area do sensor do evento colocando este nome no evento.
#
# <SensorX>
#
# X = Area do Sensor
#
#===============================================================================
module MOG_EVENT_SENSOR
#Definição da letra da Self Switch que ativará a página de curta distância.
SENSOR_SELF_SWITCH = "D"
end
#===============================================================================
# ■ GAME EVENT
#===============================================================================
class Game_Event < Game_Character
attr_reader :sensor_range
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_event_sensor_initialize initialize
def initialize(map_id, event)
mog_event_sensor_initialize(map_id, event)
setup_event_sensor
end
#--------------------------------------------------------------------------
# ● Setup Event Sensor
#--------------------------------------------------------------------------
def setup_event_sensor
@sensor_range = @event.name =~ /<Sensor(\d+)>/ ? $1.to_i : 0
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
alias mog_event_sensor_update update
def update
mog_event_sensor_update
update_event_sensor
end
#--------------------------------------------------------------------------
# ● Update Sensor
#--------------------------------------------------------------------------
def update_event_sensor
return if @sensor_range == 0
distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
enable = (distance <= @sensor_range)
key = [$game_map.map_id, self.id, MOG_EVENT_SENSOR::SENSOR_SELF_SWITCH]
last_enable = $game_self_switches[key]
execute_sensor_effect(enable,key) if enable != last_enable
end
#--------------------------------------------------------------------------
# ● Execute_Sensor Effect
#--------------------------------------------------------------------------
def execute_sensor_effect(enable,key)
@pattern = 0
@pattern_count = 0
$game_self_switches[key] = enable
self.refresh
end
end
$mog_rgss3_event_sensor = true
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1