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

[TSDA] Mog Event Sensor

Iniciado por thiago_d_d, 18/12/2012 às 22:26

18/12/2012 às 22:26 Última edição: 20/01/2017 às 09:37 por King Gerar


TSDA Mog Event Sensor
[info float=left border=#6587E4]
Informações:
--------------------------------------------------
.
• Autor: Moghunter - thiago_d_d
• Versão: 1.0
• Incompatibilidade: Pequena
• Lag gerado: Pouco
• Customizável: Sim
• Requer Recursos Extras: Não
[/info][box class=catbg2]
Resumo
[/box][box class=catbg4]
É uma modificação do Event Sensor do Moghunter. Este script possibilita que um evento aja de forma diferente caso haja outro evento em uma área perto dele. O script original do Moghunter fazia o evento agir de forma diferente caso o PERSONAGEM estivesse em uma área perto dele.
[/box]


[box class=catbg2]
Instalação e configuração
[/box]
Para instalar o script, cole o código a seguir acima de Main. Não se esqueça de ler as instruções contidas no script:
#==============================================================================
# MOG VX - Event Sensor Range
#==============================================================================
# By Moghunter
# modificado por thiago_d_d para funcionar com eventos
# http://www.atelier-rgss.com/
#
# ■ Ativa uma determinada página (SELF SWITCH D)do evento dependendo da
# distância de outro evento com determinado comentário.
# ---------------------------------------------------------------------------
# Para definir a distância do sensor do evento basta colocar no nome
# a seguinte syntax.
#
# xxNomedoEvento
#
# xx - Distância do sensor. (Exemplos: 1, 10, 30)
# Ex - 5Placa
# Além disso, os outros eventos deverão ter
# um comentário em sua primeira página, sendo este comentário o próprio nome
# do evento que tem sensor.
# Por exemplo se o nome do evento que tem sensor é:
# 5Placa
# O comentário dos outro eventos que sensibilizarão o evento com sensor deve
# ser:
# 5Placa
# ---------------------------------------------------------------------------
# NOTA - Não esqueça de criar uma nova página com a chave de ativação, está
# página será ativada quando o personagem entrar no sensor do evento.
#==============================================================================
module MOG
  # Definição da chave de switch. ( A, B , C ,D )
  SENSOR_KEY = "D"
end
class Game_Event < Game_Character
  attr_reader      :event
  #--------------------------------------------------------------------------
  # ● initialize
  #--------------------------------------------------------------------------
  alias mog_sensor_range initialize
  def initialize(map_id, event)
    @sensor_comment = event.name
    @sensor_range = event.name.to_i
    @key_act = false
    @key_act_old = @key_act
    mog_sensor_range(map_id, event)   
  end   
  #--------------------------------------------------------------------------
  # ● update
  #--------------------------------------------------------------------------
  alias mog_sensor_update update
  def update
      mog_sensor_update
      if @sensor_range > 0
        $game_map.events.each do |a, i|
          if i == self
            next
          end
           command_param = i.event.pages[0].list[0].parameters[0]
           if command_param == @sensor_comment
             sx = @x - i.x
             sy = @y - i.y
             range = (sx.abs + sy.abs)
             sensor = (range >= @sensor_range)     
             if sensor
                @key_act = false
              else
                @key_act = true
                break
             end
           end
         end
      end
     page_check if @key_act_old != @key_act
   end
  #--------------------------------------------------------------------------
  # ● page_check
  #--------------------------------------------------------------------------   
   def page_check
      @key_act_old = @key_act
      key = [@map_id, @id, MOG::SENSOR_KEY]
      $game_self_switches[key] = @key_act
      refresh
   end
end




[box class=catbg2]
Demo e Imagens
[/box]
Minha net está meio ruim para upar a Demo, depois faço isso. Screens:



[box class=catbg2]
Créditos
[/box]

  • Moghunter por fazer o script
    thiago_d_d por modificá-lo.

Muito bem feito, obrigado por compartilhar.