O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

(RMVXACE) Sensor + evento

Iniciado por Destroyer, 13/02/2013 às 12:06

13/02/2013 às 12:06 Última edição: 13/02/2013 às 15:38 por Destroyer
#==============================================================================
# +++ 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


Esse é o Sensorial events do MogHunter...
Eu curti ele d+ ... podem eu queria saber se da pra fazer algumas modificações nele.

O script faz com que o valor do X seja o tanto de tiles que o jogador se alcançar, o evento irá fazer uma ação.

Eu queria saber se da pra modifica-lo, dando pra estabelecer um tamanho para X ( ← e →) e Y (↑ e ↓) e que o evento só faça a ação caso o evento estiver de lado ou de frente, ou seja, impossibilitado de "ver" o jogador estando de costas...

caso nao dê para modificar... tem algum outro jeito de fazer isso ou um outro script? Obg


Aew sim ein xD
Vlw Raizen =)

Ahm... então, daria pra vc fazer os 2 scripts la?