Maker Palace

¡El Reino del RpgMaker y del Ocio!
 
ÍndiceBuscarGrupos de UsuariosScriptsRecursosTutorialesPalaceJuegosPalaceWikiFAQRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Temas similares
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Reparación de Conjuros
por kyonides-arkanthos Jue Oct 12, 2017 12:22 am

» Screenshot del nuevo KUnits XP oon menú
por LinkLuis55 Sáb Sep 23, 2017 10:03 pm

» Dando una vuelta por acá
por LinkLuis55 Dom Ago 20, 2017 2:56 pm

» Heroes del Crimen 2 DEMO
por jasuso Mar Ago 01, 2017 12:04 am

» The Legend of Celestia II: A World of Twilight Shadows Demo
por Jlopez_96 Vie Jul 28, 2017 6:20 pm

» The Legend of Celestia: Four Cristals
por Jlopez_96 Mar Abr 25, 2017 4:59 pm

» [VXAce] Burando Doragon
por gantzer49 Dom Abr 23, 2017 7:43 pm

Recomendados
RPG en RPG Maker
La importancia de un Backup
Que requiere un sistema de Batalla para ser exitoso
9 Minutos de Juegos por fans
Guía de Subforos para Tontos de Maker Palace
Indice de Scripts Locales XP
Falcao Pearl ABS Liquid
¿Quién está en línea?
En total hay 9 usuarios en línea: 0 Registrados, 0 Ocultos y 9 Invitados :: 1 Motor de búsqueda

Ninguno

La mayor cantidad de usuarios en línea fue 179 el Mar Ago 30, 2011 10:06 pm.
MiniChat
Mejores posteadores
Raiden (3346)
 
DaviX (2740)
 
Frikilangelo (2461)
 
SagahonArturo (1806)
 
Falcao (1775)
 
kyonides-arkanthos (1768)
 
Mur-mai-der (1755)
 
Ares (1613)
 
LinkLuis55 (1558)
 
Webmaster24 (1354)
 
Afiliados
Crear foro Mundo Maker Foro de anime y RM2k3/XP/VX Computer mix
Flag Counter
free counters
Visitas


Comparte | 
 

 Infinity - Sensor Events Range 1.6

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Raiden
Admin
Admin
avatar

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Infinity - Sensor Events Range 1.6   Vie Jun 07, 2013 9:53 pm


Sensor Event Range


Hola gente aquí les traigo una actualización de mi script del sensor para los eventos.
Citación :

simula un sensor, rango de visión o como prefieran llamarlo dentro de los eventos.

Su función es simple, activa un interruptor del evento (A, B, C o D) cuando el héroe se acerca a cierta distancia del evento. Exactamente lo mismo que hace el xas con el rango de visión de los enemigos.

Por defecto activara el interruptor D pero pueden cambiarlo dentro del script.

Esta nueva versión incluye 1 nuevo tipos de sensor, que es un estilo similar al circular pero tiene en cuenta la dirección hacia la que mira el evento.

Para colocar un evento con sensor, colocan un comentario (anotación o nota según la versión del maker que usen) así:

Sensor circular
Código:

sensor_circle x

Sensor en cuadro
Código:

sensor_square x

Sensor en cruz
Código:

sensor_cross x


Sensor "Realista"
Código:

sensor_real x

siendo x el rango del sensor.

Los sensores se comportan así:
Spoiler:
 

Aquí el script:
Código:

#-------------------------------------------------------------------------------
#-----------------Infinity Sensor Event Range (XP/VX/ACE)-----------------------
# By:Raiden (Shooter)
# 23/06/2013 - V 1.6
# Establece un sensor en los eventos
#-------------------------------------------------------------------------------
# Los eventos con sensor activo deben llevar un comentario (nota o anotacion, el
# nombre cambia segun la version de maker que uses) el cual variara segun el
# tipo de sensor que quieras colocar, a continuacion los tipos de sensores y los
# comentarios que se deben incluir:
# sensor_circle x => este es el sensor el forma de circulo
# sensor_square x => sensor cuadrado
# sensor_cross x => sensor en forma de cruz
# sensor_real x => sensor que tiene en cuanta la dirección a la que mira el
#                  evento
# siendo x la vision que tendran.
#-------------------------------------------------------------------------------
class Game_Event
  LocalSwitch = 'D'#Interruptor que se activara cuando el heroe este en el rango
  ActiveSensor = 1 #Interruptor que activa el sensor
#-------------------------------------------------------------------------------
# alias a los metodos initialize y update
#-------------------------------------------------------------------------------
  alias supersensorevents_initialize initialize unless $@
  alias supersensorevents_update update unless $@
#-------------------------------------------------------------------------------
# Modificacion al metodo initialize, para verificar si usa el sensor, su tipo y
# rango de funcionamiento
#-------------------------------------------------------------------------------
  def initialize(map_id, event)
    @sensor = check_sensor event
    @range = range(@sensor[:sensor]) if @sensor
    @range = @range.to_s.to_i if @range
    supersensorevents_initialize(map_id, event)
  end
#-------------------------------------------------------------------------------
# Modificacion al metodo update para actualizar el sensor en caso que este
# activo.
#-------------------------------------------------------------------------------
  def update
    supersensorevents_update
  case @sensor[:type]
    when 1
      update_sensor_circle
    when 2
      update_sensor_square
    when 3
      update_sensor_cross
    when 4
      update_sensor_real
    end if $game_switches[ActiveSensor] and @sensor[:type] and @sensor[:type] < 5 and @range
  end
#-------------------------------------------------------------------------------
# update para el sensor cuando su tipo de rango es circular
#-------------------------------------------------------------------------------
  def update_sensor_circle
    sx = ($game_player.x - @x).abs
    sy = ($game_player.y - @y).abs
    key = [@map_id, @event.id, LocalSwitch]
    if sx + sy <= @range
      $game_self_switches[key] = true
      $game_map.need_refresh = true
    else
      $game_self_switches[key] = false
      $game_map.need_refresh = true
    end
  end
#-------------------------------------------------------------------------------
# update para el sensor cuando su tipo de rango es el cuadro
#-------------------------------------------------------------------------------
  def update_sensor_square
    sx = $game_player.x
    sy = $game_player.y
    key = [@map_id, @event.id, LocalSwitch]
    if sx >= @x - @range and sx <= @x + @range and sy >= @y - @range and sy <= @y + @range
      $game_self_switches[key] = true
      $game_map.need_refresh = true
    else
      $game_self_switches[key] = false
      $game_map.need_refresh = true
    end
  end
#-------------------------------------------------------------------------------
# update para el sensor cuando su tipo es en cruz
#-------------------------------------------------------------------------------
  def update_sensor_cross
    sx = $game_player.x
    sy = $game_player.y
    key = [@map_id, @event.id, LocalSwitch]
    if sx == @x and sy <= @y + @range and sy >= @y - @range or
      sy == @y and sx <= @x + @range and sx >= @x - @range
      $game_self_switches[key] = true
      $game_map.need_refresh = true
    else
      $game_self_switches[key] = false
      $game_map.need_refresh = true
    end
  end
#-------------------------------------------------------------------------------
# Update del sensor realista
#-------------------------------------------------------------------------------
  def update_sensor_real
    tx = ($game_player.x - @x).abs
    ty = ($game_player.y - @y).abs
    
    sx = $game_player.x
    sy = $game_player.y
    key = [@map_id, @event.id, LocalSwitch]
    case @direction
      when 2
        dy = (@y - $game_player.y).abs
        dy = (@range - dy).abs
        range = (@range - dy).abs  
        if @y < sy and ty <= @range and tx < range + 1
          $game_self_switches[key] = true
          $game_map.need_refresh = true
        else
          $game_self_switches[key] = false
          $game_map.need_refresh = true
        end
      when 4
        dx = (@x - $game_player.x).abs
        dx = (@range - dx).abs
        range = (@range - dx).abs  
        if @x > sx and tx <= @range and ty < range + 1
          $game_self_switches[key] = true
          $game_map.need_refresh = true
        else
          $game_self_switches[key] = false
          $game_map.need_refresh = true
        end
      when 6
        dx = (@x - $game_player.x).abs
        dx = (@range - dx).abs
        range = (@range - dx).abs  
        if @x < sx and tx <= @range and ty < range + 1
          $game_self_switches[key] = true
          $game_map.need_refresh = true
        else
          $game_self_switches[key] = false
          $game_map.need_refresh = true
        end
      when 8
        dy = (@y - $game_player.y).abs
        dy = (@range - dy).abs
        range = (@range - dy).abs  
        if @y > sy and ty <= @range and tx < range + 1
          $game_self_switches[key] = true
          $game_map.need_refresh = true
        else
          $game_self_switches[key] = false
          $game_map.need_refresh = true
        end
    end
  end
    
#-------------------------------------------------------------------------------
# Metodo que verifica su el evento usa o no el sensor, retorna un booleano
#-------------------------------------------------------------------------------
  def check_sensor(event)
    event.pages.each do |i|
    i.list.each do |a|
    return {:sensor => a.parameters[0], :type => 1} if a.code == 108 and /sensor.circle/.match a.parameters[0]
    return {:sensor => a.parameters[0], :type => 2} if a.code == 108 and /sensor.square/.match a.parameters[0]
    return {:sensor => a.parameters[0], :type => 3} if a.code == 108 and /sensor.cross/.match a.parameters[0]
    return {:sensor => a.parameters[0], :type => 4} if a.code == 108 and /sensor.real/.match a.parameters[0]
    end
    end
    return {}
  end
#-------------------------------------------------------------------------------
# Metodo que retorna el rango, retorna MatchData por lo que se debe cambiar a
# String y luego a entero para usarse
#-------------------------------------------------------------------------------
  def range(sensor)
    return /\d+/.match sensor.to_s
  end
end

Demo XP

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 


Última edición por Raiden el Dom Jun 23, 2013 10:43 pm, editado 2 veces
Volver arriba Ir abajo
Ver perfil de usuario
Dorvin
Moderador
Moderador
avatar

Cantidad de envíos : 422
Miembro desde : 27/12/2009
Edad : 23
Localización : Arenys de mar, Barcelona, Catalunya, España
Sexo : Masculino

Maker : RMXP

Logros MP :



MensajeTema: Re: Infinity - Sensor Events Range 1.6   Dom Jun 09, 2013 2:21 pm

El sensor realista:

x
x x
Ox x x
x x
x

No debería ser así?:

x
x x
x x xO
x x
x

Cuanto más distancia tienes entre los obstaculos más panoramica tienes y no al reves.
De todas formas está muy bien!
Gracias Shooter. Podrias sacar ambas versiones por si alguien lo priefiera invertido.

EDITO: Una sugerencia más.
Podrías hacer que no pudiera ver atraves de paredes o X titles (usando por ejemplo IDs de terreno) y además podrias hacer que no viera al heroe en ciertas ocasiones como por ejemplo como cuando en el metal gear te escondias en una caja y pasaba un guardia dentro de su sensor no eras detectado pero si si te movias o estabas en medio de su ruta.

_________________

¡Click en el banner para ir al post de mis proyectos!





¿Eres un lobo o una simple oveja?
Volver arriba Ir abajo
Ver perfil de usuario http://thesexydeath.webnode.es/
Akito_squall
Diamante
Diamante
avatar

Cantidad de envíos : 621
Miembro desde : 09/12/2009
Edad : 19
Localización : Córdoba - Argentina
Sexo : Masculino

Maker : RMXP

Logros MP :



MensajeTema: Re: Infinity - Sensor Events Range 1.6   Dom Jun 09, 2013 3:07 pm

Opino igual que dorvin, la vista realista esta "al revez" por asi decirlo.
Conforme al script, lo veo muy interesante, abre muchas posibilidades dentro de lo que serian trampas, guardias y ese tipo de cosas; la verdad es que espero poder usarlo en algun proyecto que haga alguna vez, felicitaciones shooter.
Salu2
Volver arriba Ir abajo
Ver perfil de usuario
Raiden
Admin
Admin
avatar

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: Infinity - Sensor Events Range 1.6   Lun Jun 10, 2013 12:26 am

Si, eso del sensor realista lo se, pero no se me había ocurrido una mejor manera, aunque ya se me ocurrió algo, falta ponerlo en practica y probar si funciona.

Sobre lo que dices de que en algunos momentos no este activo, para eso hay un modo de activar desactivar mediante un interruptor, es cuestión de que lo usen.

Lo otro no lo veo muy viable, lo había pensado pero se me hace bastante complicado, algo así esta fuera de mis habilidades.

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario
Ares
Super Mod
Super Mod
avatar

Cantidad de envíos : 1613
Miembro desde : 08/07/2009
Edad : 87
Localización : en el baño
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: Infinity - Sensor Events Range 1.6   Mar Jun 11, 2013 2:40 am

Dorvin escribió:
:

EDITO: Una sugerencia más.
Podrías hacer que no pudiera ver atraves de paredes o X titles (usando por ejemplo IDs de terreno) y además podrias hacer que no viera al heroe en ciertas ocasiones como por ejemplo como cuando en el metal gear te escondias en una caja y pasaba un guardia dentro de su sensor no eras detectado pero si si te movias o estabas en medio de su ruta.

eso es mas complicado creo yo, porque ya no solo juegas con scripts si no con graficos, lo unico que se me ocurre es que con cierta id del terreno una imagen superpuesta cambie de opacidad para ver al personaje y cuando no este esta regrese a su opacidad normal, como los arboles del xas.

creo que lo de metal gear, seria posible con engines, con codiciones y efectos y el cambio de grafico. pero igual que shooter tambien seria complicado

_________________
Volver arriba Ir abajo
Ver perfil de usuario http://ares-games.blogspot.com/
Raiden
Admin
Admin
avatar

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: Infinity - Sensor Events Range 1.6   Dom Jun 23, 2013 10:49 pm

Bueno, actualizo a la versión 1.6 donde se corrige el sensor realista, ahora si es realista. 




Con bases en este script, estoy desarrollando un sistema de colisión, similar a lo que usa el XAS, para tener enemigos de mayor tamaño, es algo que quería hacer hace bastante, pero me ha costado, y al final mirando este mismo script encontré la solución mas conveniente, aunque aun esta en proceso, pero quizás este disponible esta semana, aunque quizás no ya que tengo mucho trabajo, y un problema familiar bastante delicado. 

Sobre lo que plantea Dorvin, eso seria mas como mezclar con un sistema de covers o coverage (no se como quede mejor).

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario
Dorvin
Moderador
Moderador
avatar

Cantidad de envíos : 422
Miembro desde : 27/12/2009
Edad : 23
Localización : Arenys de mar, Barcelona, Catalunya, España
Sexo : Masculino

Maker : RMXP

Logros MP :



MensajeTema: Re: Infinity - Sensor Events Range 1.6   Lun Jun 24, 2013 7:57 pm

Hey! Ahora si que si shoot... Digo, Raiden? xD
Ahora si lo veo realista, muy útil. Estoy utilizando tu sensor en mi juego... ¿Puedo pedirte algo?
Mi juego es de plataformas, podrías editarme y mandarme por mp o algo, el script pero que solo funcione con derecha y izquierda? quitar el arriva y abajo. Si te es más facil, solo uso el sensor lineal, es decir el que se ve como en forma de "+".

Gracias!

Y como siempre, la sugerencia diaria:

Podrías hacer tambien para el sistema de batalla que cuando cojes al enemigo por detras (fuera de su campo visual) lo puedas asesinar acuchillandolo o estrangulandolo. por engine es muy facil, yo lo uso en mi juego:

<>Condiciones y efectos: Sprite: Este evento: Mirando abajo
<> Condiciones y efectos: Sprite: Heroe: Mirando abajo
<>  Animación: Ejecutar enemigo 001
<>  Esperar 20 frames (a que acabe la animación)
<>  Interruptor local A = ON
<> Excepción
<>Excepción
<>Condiciones y efectos: Sprite: Este evento: Mirando izquierda
<> Condiciones y efectos: Sprite: Heroe: Mirando izquierda
<>  Animación: Ejecutar enemigo 001
<>  Esperar 20 frames (a que acabe la animación)
<>  Interruptor local A = ON
<> Excepción
<>Excepción
<>...
<>

Se entiende, verdad?

Keep it up!!

_________________

¡Click en el banner para ir al post de mis proyectos!





¿Eres un lobo o una simple oveja?
Volver arriba Ir abajo
Ver perfil de usuario http://thesexydeath.webnode.es/
Raiden
Admin
Admin
avatar

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: Infinity - Sensor Events Range 1.6   Mar Jun 25, 2013 1:40 am

Dorvin escribió:
Hey! Ahora si que si shoot... Digo, Raiden? xD
Ahora si lo veo realista, muy útil. Estoy utilizando tu sensor en mi juego... ¿Puedo pedirte algo?
Mi juego es de plataformas, podrías editarme y mandarme por mp o algo, el script pero que solo funcione con derecha y izquierda? quitar el arriva y abajo. Si te es más facil, solo uso el sensor lineal, es decir el que se ve como en forma de "+".

Gracias!

Y como siempre, la sugerencia diaria:

Podrías hacer tambien para el sistema de batalla que cuando cojes al enemigo por detras (fuera de su campo visual) lo puedas asesinar acuchillandolo o estrangulandolo. por engine es muy facil, yo lo uso en mi juego:

<>Condiciones y efectos: Sprite: Este evento: Mirando abajo
<> Condiciones y efectos: Sprite: Heroe: Mirando abajo
<>  Animación: Ejecutar enemigo 001
<>  Esperar 20 frames (a que acabe la animación)
<>  Interruptor local A = ON
<> Excepción
<>Excepción
<>Condiciones y efectos: Sprite: Este evento: Mirando izquierda
<> Condiciones y efectos: Sprite: Heroe: Mirando izquierda
<>  Animación: Ejecutar enemigo 001
<>  Esperar 20 frames (a que acabe la animación)
<>  Interruptor local A = ON
<> Excepción
<>Excepción
<>...
<>

Se entiende, verdad?

Keep it up!!

Creo que puedo hacerlo pero hasta dentro de unos días que resuelva algunos problemas que tengo.

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Infinity - Sensor Events Range 1.6   

Volver arriba Ir abajo
 
Infinity - Sensor Events Range 1.6
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [XP] Super-Sensor Event Range 1.3
» [VX Ace] Event Sensor Range
» [XP]Heretic Fix Flat Sprites
» Pokémon Road To Infinity! [Élite]

Permisos de este foro:No puedes responder a temas en este foro.
Maker Palace :: RGSS Scripts :: Scripts Maker XP-
Cambiar a: