Registrarse

[Essentials] Sistema de Poké Vial casi sin scripts.

Tito_Black

I'm just a boy acting like a goof...
¡Hola a todos!
Yo no tengo muchos conocimientos de scripts y quería hacer un sistema de Poké Vial que pudiera ser fácilmente personalizable y que pudiera cambiarlo si necesitaba en algún momento.

He toqueteado un poco y encontré una forma de hacerlo súper fácil y prácticamente sin scripts. Seguro no es la mejor manera, pero si la más sencilla. ¡Empecemos!

Paso 1: Crear el objeto.

Este paso es el más sencillo, simplemente crea el objeto, como por ejemplo, así:
Captura de pantalla (2).png
Si no sabes crear un objeto, revisa la wiki.

Paso 2: Crear el efecto del objeto.
Primero, debes acceder a Item_Effects y crear una nueva sección con esta información (pbMessages es opcional) y poner esto:
Captura de pantalla (3).png
En primera instancia, no importa en que lugar la coloques (siempre y cuando sea debajo de otro objeto, no lo vayas a colocar al principio o al final), pero si quieres que esté más ordenado, ponlo al final de los UseFromBag.
El script:
Ruby:
ItemHandlers::UseFromBag.add(:POKEVIAL,proc { |item|
Es el que inicia el uso del objeto, donde dice POKEVIAL va el nombre interno de tu objeto.
Le sigue:
Ruby:
  pbMessage(_INTL("Has activado el Poké Vial."))
El cual es opcional, simplemente muestra en mensaje "Has activado el Poké Vial"
Y por último:
Ruby:
 pbCommonEvent(5)
   next 1
})
El pbCommonEvent llama a un evento común, el que ejecutará los comandos del Poké Vial, en este caso es el número 5.
Y next 1 termina el script, sin el saldría "No se puede usar aquí" aún después de usarlo.

Paso 3: Evento común.

En esta parte es donde de verdad funciona el Poké Vial, por ejemplo:
Captura de pantalla (5).png
Este evento comprobará el valor de la variable 28 "Vial", si es mayor que 0 te preguntará si quieres usarlo, si dices que si, curará a los pokémon reproduciendo el sonido de el centro pokémon, luego restará 1 a la variable. En caso de decir no o que el valor sea 0, no hará nada.

Resultado:
[2022-06-16] 03_03_10.926.png[2022-06-16] 03_03_16.058.png[2022-06-16] 03_03_17.319.png
[2022-06-16] 03_03_24.746.png[2022-06-16] 03_03_27.260.png[2022-06-16] 03_03_30.863.png


Esta forma de hacerlo permite mucha versatilidad, no solo a el Poké Vial, si no a cualquier objeto que quieras hacer si no sabes usar scripts.
Obviamente, no quedará tan bien como si usaras scripts, pero es una buena forma de iniciar.

Espero que les haya servido de algo,.
Me Yetiro

PD: Este script se ha hecho en Essentials 19.1, no debería variar mucho para la base de Pira (excepto el pbMessage, en la base de Pira es Kernel.pbMessage)

PD2: Cualquier forma de mejorarlo, o si simplemente esto es absurdo, avisarme.
 

Rivi

It was me, Rivi!
¡Bastante útil! Un script sencillo y muy fácil de utilizar. Además, con lo poco que has explicado la gente que no entienda de scripts puede crear los suyos.
 

Tito_Black

I'm just a boy acting like a goof...
Y si quisiera recargar la energía?
Solo tendrías que aumentar el valor de la variable en la cantidad de energía que quieras recargar. Por ejemplo, en un centro Pokémon que a la variable "Vial" le sume 1, de esa forma ya tendrías una carga en el vial. Si quieres que aumente más energía, solo le sumas más valor.
 

KMarioGC

Creador de Pkm Burnt Horizon & Pokémon Gadir.
Buenas, me salta todo el rato la excepción de "No puede usarse aquí". El código lo tengo escrito tal cual y con el cambio de que es la de v. de Pira y está el Kernel.pbMessage y el resto está todo igual pero no sé por qué me salta la excepción todo el rato.
 

Tito_Black

I'm just a boy acting like a goof...
El error esta relacionado al "next 1", comprueba que lo hayas colocado correctamente, con los 2 espacios por detrás y todos los códigos de ItemHandlers. De todas formas, revisaré si es un error relacionado con la compatibilidad con la base de Pira y si es enseguida lo informaré.
 

KMarioGC

Creador de Pkm Burnt Horizon & Pokémon Gadir.
Vengo a darte buenas noticias, conseguí solucionar el problema que me impedía usar el Item desde la mochila, el fallo en sí no sé cual era (seguramente RPG Maker XP no lo pilló (?) ) pero haciendo lo mismo copiando y pegando de un proyecto a otro y ver que en el otro si funcionaba el mismo código y demás, al traerlo de vuelta al proyecto original, simplemente funcionó. Es una fumada, sí, pero se arregló. Muchas gracias por compartir esto con la comunidad y por responderme con ayuda.
 

Javystal

Usuario de bronce
¿Y cómo podría hacer para ponerle un tope a las cargas? Por ejemplo, que el jugador no pueda tener más de 3 cargas y no pueda tener 6, 15 o números exorbitantes; que el jugador tenga 3 cargas y no pueda tener más cargas de esas 3
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
¿Y cómo podría hacer para ponerle un tope a las cargas? Por ejemplo, que el jugador no pueda tener más de 3 cargas y no pueda tener 6, 15 o números exorbitantes; que el jugador tenga 3 cargas y no pueda tener más cargas de esas 3
Simplemente clampea los valores entre 0 y 3. Si tiene más de 3, establece la variable a 3. x)
 

Javystal

Usuario de bronce
Bueno, antes de tocar nada a lo loco sin saber qué hacer y cómo hacerlo envio la captura de cómo lo tengo para poder entender mejor que debo cambiar o que debo añadir.

1705932286031.png
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
Bueno, antes de tocar nada a lo loco sin saber qué hacer y cómo hacerlo envio la captura de cómo lo tengo para poder entender mejor que debo cambiar o que debo añadir.

Ver el archivo adjunto 16197
Aquí solo reduces, no "aumentas" las cargas. Para aumentarlas, en el evento que sea que te añada una, solo tienes que poner una condición en el que se añada si es <= 2.
 

Javystal

Usuario de bronce
No, pero ese es el evento común para que el Poké Vial funcione.
El evento donde te añade cargas es el de la imagen
El problema que tengo es ese; que puedes ir añadiéndote cargas y cargas de forma ilimitada. ¿Cómo podría hacer para que el Pokevial tenga un tope de cargas? Perdón por las molestias
1705947660689.png
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
No, pero ese es el evento común para que el Poké Vial funcione.
El evento donde te añade cargas es el de la imagen
El problema que tengo es ese; que puedes ir añadiéndote cargas y cargas de forma ilimitada. ¿Cómo podría hacer para que el Pokevial tenga un tope de cargas? Perdón por las molestias
Ver el archivo adjunto 16198
En ese mismo evento (después de añadir los viales) pon un condicional en el que compruebes esa variable y si es > 3, establecela a 3 y voilá.
 

Tito_Black

I'm just a boy acting like a goof...
Pokemon Cold Night - RPG Maker XP   29_01_2024 17_26_20.png

Para establecer un límite de cargas es tan simple como usar el comando "Condiciones y efectos" (mira la imagen) y poner como condición que la variable que mida las cargas del vial tenga menos de x valor (en tu caso 3)
En caso de tener 3 saltaría la excepción y si es lo contrario sumaría una carga (claro que puedes ajustarlo a tu conveniencia)
 
Arriba