赞 | 2 |
VIP | 0 |
好人卡 | 20 |
积分 | 5 |
经验 | 26304 |
最后登录 | 2024-2-11 |
在线时间 | 487 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 473
- 在线时间
- 487 小时
- 注册时间
- 2011-10-12
- 帖子
- 407
|
事件与事件之间绝对无法穿透,不管优先级是最低与最高,只有开启“可穿透”才行。
你把陷阱事件弄成并行处理,事件接触:貌似只对玩家有效,我还没用过那样的,所以不知道有没有效。
我觉得那个播放动画,不要在等待结束在弹对话的好,可以用等待较短的帧。
你可以换成这样的思路呢?
将陷阱处于一条只能笔直通行的道路中,然后设置成小狗到达陷阱的前一格就能触发事件(立即让小狗穿透下前进一步)。
我收集有一个脚本,传感器的脚本(根据设置的距离,在接近玩家后自动开启独立开关的D事件页;每一格算1距离,也就是说拐弯相邻的两格也算2个距离);使用方法,在事件的名称用这样的命令:<SensorX>X就是距离- #==============================================================================
- # +++ 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
复制代码 |
|