Registrarse

[Script] Jess Utilidades 1.0

Jessie

What goes around, comes around
Miembro del equipo
Moderador/a
Jess Utilidades​

Últimamente he estado revisando las decenas de scripts que tengo hecho pero que nunca les di un buen uso. Así que he decidido ir recopilando todas las modificaciones, nuevas funciones, nuevos métodos y nuevas instancias que he creado para facilitar ciertos aspectos del scripting tanto en Rpg Maker XP como para Pokémon Essentials y colocarlo dentro de un solo recurso, Jess Utilidades, original nombre ¿No es así?

Ya que tengo un montón de scripts que revisar, iré actualizando el contenido de este recurso para que pueda estar todo a mano y facilitarnos más la vida.

Pueden descargar la primera versión del Jess Utilidades desde JessWishesDev.

Esta versión solo trae lo siguiente :


Graphics.wait( NumeroDeFrames,DenegarSceneUpdate(opcional) )

En lugar de tener que estar escribiendo los updates de Graphics e Inputs cada vez que realicemos un ciclo o iteración, ahora con este método podemos hacerlo más sencillo, además también podemos usarlo para sustituir el clásico pbWait de Essentials, ya que trae una característica nueva, que es permitir o denegar la actualización del $scene actual, así evitar que nuestros eventos o interfaces que no interactuan con el mapa o dentro de una batalla estén constantemente haciendo update.


Código:
 loop do
   break if Input.press(Input::B)
   Graphics.wait
 end

Código:
  kernel.pbMessage("Hola, esperame unos segundos...")
  Graphics.wait(10)
  kernel.pbMessage("Esta vez las animaciones del mapa se detendrán...")
  Graphics.wait(10,false)
  kernel.pbMessage("¡Genial! ¿cierto?")

JWpic.new( X,Y,DirecciónDelGráfico,Z(opción), Viewport(opción))

Esta nueva instancia JWpic, ha sido creada para manejar de manera más rápida y sencilla los gráficos a mostrar en pantalla. Aunque Essentials trae casi una decena de instancias especializadas en Sprites, esta se basa en las instancias Sprite y Bitmap halladas dentro del RGSS original, así que la útilidad principal será mostrar imágenes con una sola línea de código.
Para acceder y manipular la información del sprite y/o del bitmap del gráfico, se hace mediante las propiedades spr y bmp


Código:
 vp = Viewport.new(0,0,50,50)

 img1 = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 img2 = JWpic.new(0,20,"Graphics/Pictures/Imagen02",99999)
 img3 = JWpic.new(0,40,"Graphics/Pictures/Imagen03",99999,vp)

Código:
 img = {}
 for i in 0..50
   img[i] = JWpic.new(i*10,0,"Graphics/Pictures/Imagen#{i}")
 end

Código:
 img = JWpic.new(0,0,"Graphics/Pictures/Imagen2")

 # Tomar valor de la coordenada x
 x = img.spr.x

 # Cambiar el valor de la coordenada x
 img.spr.x+=5

 # obtener informción del bitmap
 ancho = img.bmp.width

blob( Velocidad(opacional),Distancia(opcional) )

Cualquier instancia que esté vinculada con el class Sprite podrá usar este nuevo método. Lo que hace es brindar el efecto de blob o de salto al gráfico, esto quiere decir que cada vez que se use el método el gráfico se moverá ya sea hacía arriba o hacía abajo. Una vez que ya no se desee que tenga esa animación, se usa el método blob_off para forzar al sprite a regresar a su posición original.


Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 loop do
   img.spr.blob  # Se moverá con los parametros predeterminados
   Graphics.wait
 end

Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 loop do
   img.spr.blob(20)  # Se moverá cada 20 frames
   Graphics.wait
 end

Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 loop do
   img.spr.blob(20,10)  # Se moverá cada 20 frames a 10px de distancia
   if Input.trigger?(Input::B)
     img.spr.blob_off
     break
   end
   Graphics.wait
 end


brillo(Tiempo(opcional))

Permite dar un efecto temporal de brillo al sprite, dando la sensación de que está siendo seleccionado. Una vez que ya no se desee usar el efecto sobre el sprite, se debe aplicar el método brillo_off para que el sprite recupere su tono original.


Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 loop do
   img.spr.brillo
   Graphics.wait
 end

Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 loop do
   img.spr.brillo(20)
   Graphics.wait
 end

Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 loop do
   img.spr.brillo
   if Input.trigger?(Input::B)
     img.spr.brillo_off
     break
   end
   Graphics.wait
 end

c_to_alpha(Red,Green,Blue)

Este método tiene la tarea de buscar y remplazar en el bitmap vinculado al sprite, el color formado por los argumentos R,G,B dados los cuales representan los valores de los colores Rojo,Verde y Azul. Si el método ha hallado que el bitmap está usando este color, lo sustituirá por un color alpha o color de transparencia. El cambio no es reversible, así que para mostrar el gráfico normal se tiene que definir nuevamente el bitmap. Si el gráfico es demasiado grande, este proceso tomará más tiempo en ser realizado.


Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 img.spr.c_to_alpha(238,131,41)

color_swap([Red1,Green1,Blue1],[Red2,Green2,Blue2])

Este método buscará en el bitmap si se está usando el color formado por el primer argumento [Red1,Green1,Blue1,] y si ese es el caso, entonces va a sustituir ese color por el color formado por el segundo argumento dado [Red2,Green2,Blue2]. Este cambio es irreversible, pero puede aplicarse de nuevo el método para que el color modificado regrese al original. Si el gráfico es demasiado grande, este proceso tomará más tiempo en ser realizado.


Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 img.spr.color_swap([238,131,41],[41,131,238])

jblur(Nivel)

Este método permite producir un efecto de distorción o blur en el gráfico. El nivel de distorsión debe ser un valor positivo igual o mayor a uno. Aunque el sistema es simple, puede llegar a dar efectos interesantes dependiendo del valor del nivel dado. Para regresar el gráfico a su aspecto normal, solo se aplica este mismo método pero con un nivel de cero.


Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 img.spr.jblur  # Nivel predefinido es 1

Código:
 img = JWpic.new(0,0 ,"Graphics/Pictures/Imagen01")
 img.spr.jblur(5)  # Nivel de blur 5

j_warp( IDdelMapa,X,Y,DirecciónDelJugador(opcional) )

Esta función permite transportar al jugador de un mapa a otro mediante script, en lugar de tener que usar únicamente el comando Transportar desde un evento. Solo se requiere el ID del nuevo mapa a transportarse y las coordenadas en donde aparecerá el jugador. La dirección del jugador es opcional y se refiere hacía cual dirección estará mirando el jugado siendo 0 = Igual a como estaba, 2 = Abajo, 4 = Izquierda, 6 = Derecha, 8 = Arriba.


Código:
 kernel.pbMessage("Mira te mandaré magicamente a tu casa")
 j_warp(3,9,2)
 kernel.pbMessage("¡Ya ves, hasta te puedo seguir hablando desde el otro mapa!")


Como siempre, si tienen dudas o sugerencias, siempre estaré abierto a leerlas.

Saludos.
 
Arriba