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

Sensor Event 1.0

Iniciado por Kvothe, 20/12/2012 às 10:35

20/12/2012 às 10:35 Última edição: 20/01/2017 às 09:37 por King Gerar
Sensor Event 1.0




Dados:

Criador: Das-Aquatic/Das (ou Dax)
Versão: 1.0
Bugs encontrados: Nenhum por enquanto!
Estado comercial: Livre uso! Desde que mantenha os créditos!




Informação:

Como utilizar: Basta você criar um evento, abrir primeira aba dos comandos de eventos, ir no comando de comentários e digitar assim: <sensor: X> 'X' é o número da área onde o será acionado o sensor, exemplo se você por 2, o sensor será acionado quando o jogador estiver 2 casa próxima a do evento; Depois basta você criar uma 2 página com a switche local "D"(pode se configurar) ativada, é logo após você pode inserir os paramentos do evento com o sensor acionado!

Serve para que? Serve para fazer 'puzzles', ou até 'ABS's', irá depender de sua imaginação;




Script:

#==============================================================================
# ??? DAS - Sensor Event (v1.0)                                             ???
#==============================================================================
# By: Das-Aquatic
# Site: ~~~~~~~~
#==============================================================================
# Permite que o evento tenha dois comportamentos, de curta distância e de 
# longa distância.
#===============================================================================
# - Utilização
# Crie um comentário no evento assim:
# <sensor: N>
# *N -?> Area do sensor { números }
# Depois crie uma página com a switche local determinada no 'module', está página
# ficará a função de quando o personagem atingir a área do sensor.
#===============================================================================
module Das
  # Defina aqui a switche local usada para o sensor
  Switche_Local_Sensor_Event = "D"
end
#==============================================================================
# ??? Game_Event;                                                           ???
#==============================================================================
# Recomendado você mecher aqui somente se você tiver um nível considerado na área
# de scripts!
#==============================================================================
class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  # ? Variavéis públicas
  #--------------------------------------------------------------------------
  attr_accessor :sensor
  #--------------------------------------------------------------------------
  # ? Lista de aliasing
  #--------------------------------------------------------------------------
  alias event_sensor_setup_page_settings setup_page_settings
  alias event_sensor_update update
  #--------------------------------------------------------------------------
  # ? Configuração da pagina
  #--------------------------------------------------------------------------
  def setup_page_settings
    event_sensor_setup_page_settings
    setup_event
  end
  #--------------------------------------------------------------------------
  # ? Configuração do comentário
  #--------------------------------------------------------------------------
  def setup_event
    return if @list.nil?
    for command in @list
      if command.code == 108
        @sensor = command.parameters[0] =~ /<sensor: (\d+)>/ ? $1.to_i : 0 
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? Atualiza o processo
  #--------------------------------------------------------------------------
  def update
    event_sensor_update
    update_sensor_event
  end
  #--------------------------------------------------------------------------
  # ? Atualiza o processo do sensor
  #--------------------------------------------------------------------------
  def update_sensor_event
    return if @sensor == 0 or @sensor.nil?
    distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
      enable = (distance <= @sensor)
    key = [$game_map.map_id, self.id, Das::Switche_Local_Sensor_Event]
    last_enable = $game_self_switches[key]
    execute_sensor(enable,key) if enable != last_enable
  end
  #--------------------------------------------------------------------------
  # ? Executa o sensor
  #--------------------------------------------------------------------------
  def execute_sensor(enable,key)
    @pattern = 0
    @pattern_count = 0               
    $game_self_switches[key] = enable
    self.refresh
  end
end




Créditos

Das-AquaticX; (= eu)



Parece muito com o script do Mog, até o comando da switch local D... mas não analisei o código, então...
Mesmo assim, ótimo script, eu gosto de fazer por eventos, mas por scripts poupa trabalho.

Citação de: MayLeone online 20/12/2012 às 11:07
Parece muito com o script do Mog, até o comando da switch local D... mas não analisei o código, então...
Mesmo assim, ótimo script, eu gosto de fazer por eventos, mas por scripts poupa trabalho.

Pois achei parecido também, mas não estou dizendo que foi plágio, só parece.

Parece bom,
Acho q usarei em meu projeto, evita muitos eventos rsrs