Registrarse

[Essentials] Cómo hacer que César te fabrique nuevas Poké Balls.

Sulphur Alchemist

Usuario de platino
Hace como dos años que no escribo un tutorial, y como en mi proyecto he pensado en inventar bonguris nuevos para la creación de nuevas Poké Balls. Para que éste te fabrique la GS Ball, he pensado en la posibilidad de crear los bonguris dorado y plateado. Es una modificación sencilla, pero si sois unos fanáticos de las Poké Balls artesanales del abuelo de Pueblo Azalea, os gustará este mini tutorial.

Lo primero que se debe hacer es tener claro el diseño de la Ball en cuestión y sus funciones para programarlas en los scripts, así como los bonguris con los que se harán. En mi caso os mostraré cómo hice la GS Ball y la Sol Ball y sus respectivos bonguris.

Características de las nuevas Poké Balls:

GS Ball: Una probabilidad de captura muy alta si el Pokémon salvaje es Celebi. Por lo demás tendrá el ratio de captura como el de una Poké Ball.

Sol Ball: Una probabilidad más alta de captura cuando el Pokémon es uno que evolucione mediante una Piedra Solar. (Lo que viene siendo una Luna Ball pero con otra función XD).

Bonguris:

Bonguri Dorado junto al Bonguri Plateado: Para la GS Ball.

Bonguri Naranja: Para la Sol Ball.

Diseños:
Lo siguiente a tener en cuenta son los diseños de los sprites, por internet hay multitud de sprites de la GS Ball, pero la Sol Ball la tenemos que diseñar nosotros mismos. Yo no soy un buen spriter pero igualmente la compartiré con vosotros junto con la GS Ball.

Balls/ carpetas​
'Graphics/Icons'​
'Graphics/Pictures/Battle'​
'Graphics/Pictures/Summary'​
GS Ball​
itemGSBALL.png

Nombre archivo: 'itemGSBALL'​
ball_26.png
ball_26_open.png

Nombre archivo: 'ball_26' y 'ball_26_open'​
icon_ball_26.png

Nombre archivo: 'icon_ball_26'​
Sol Ball​
itemSUNBALL.png

Nombre archivo: 'itemSUNBALL'​
ball_27.png
ball_27_open.png

Nombre archivo: 'ball_27' y 'ball_27_open'​
icon_ball_27.png

Nombre archivo: 'icon_ball_27'​

También deberemos crear los sprites de los tres bonguris e introducirlos en la dirección: 'Graphics/Icons'. Por último, abrimos RPG Maker y añadimos los diseños al proyecto. En el caso de los sprites de las carpetas dentro de la dirección 'Graphics/Pictures', éstos, una vez introducidos aparecerán en dicha dirección, con lo que deberemos volver a meterlos en sus respectivas carpetas donde antes metimos los diseños, en 'Summary' y 'Battle'.

Definición de items:
Para definir un item debemos ir a la carpeta PBS y al archivo llamado 'items'. En este archivo, a continuación del último item definido debemos continuar con la secuencia numérica (si el último número era el 599, pues por ejemplo tu GS Ball será el item número 600). Yo los definí de la siguiente forma:

Código:
575,GSBALL,GS Ball,GS Balls,8,0,Un extraño dispositivo relacionado con el Guardián del Bosque.,2,2,4,
692,SLVAPRICORN,Bonguri Plateado,Bonguris Plateados,1,200,Un Bonguri Plateado. Tiene un aroma embriagador.,0,0,9,
693,GLDAPRICORN,Bonguri Dorado,Bonguris Dorados,1,200,Un Bonguri Dorado. Tiene un aroma embriagador.,0,0,9,
694,ORNAPRICORN,Bonguri Naranja,Bonguris Naranjas,1,200,Un Bonguri naranja. Tiene un aroma embriagador.,0,0,9,
695,SUNBALL,Sol Ball,Sol Balls,3,300,Una Poké Ball que sirve para capturar Pokémon que evolucionen con una Piedra Solar.,0,2,4,
Scripts:
Una vez definidos los items en el archivo PBS, nos vamos al RPG Maker al icono de scripts y buscamos el apartado 'PItem_PokeBalls' y añadimos lo siguiente:

PHP:
   26=>:GSBALL,
   27=>:SUNBALL
Esto sirve para añadir las Poké Balls a los scripts. El número (en mi caso 26 y 27) debe coincidir con el número de las imágenes de la carpeta 'Graphics/Pictures': 'Summary' y 'Battle'.

Seguidamente escribimos la función de ambas Pokéballs más abajo, junto a las funciones de las demás:

Scripts de la GS Ball:

PHP:
BallHandlers::ModifyCatchRate.add(:GSBALL,proc{|ball,catchRate,battle,battler|
   catchRate*=100 if isConst?(battler.species,PBSpecies,:CELEBI)
   next catchRate
})
Scripts de la Sol Ball:

PHP:
BallHandlers::ModifyCatchRate.add(:SUNBALL,proc{|ball,catchRate,battle,battler|
   if isConst?(battler.species,PBSpecies,:ODDISH) ||
      isConst?(battler.species,PBSpecies,:GLOOM) ||
      isConst?(battler.species,PBSpecies,:BELLOSSOM) ||
      isConst?(battler.species,PBSpecies,:SUNKERN) ||
      isConst?(battler.species,PBSpecies,:SUNFLORA) ||
      isConst?(battler.species,PBSpecies,:COTTONEE) ||
      isConst?(battler.species,PBSpecies,:WHIMSICOTT) ||
      isConst?(battler.species,PBSpecies,:PETILIL) ||
      isConst?(battler.species,PBSpecies,:LILLIGANT) ||
      isConst?(battler.species,PBSpecies,:HELIOPTILE) ||
      isConst?(battler.species,PBSpecies,:HELIOLISK)
     catchRate*=4
   end
   next [catchRate,255].min
})
NOTA: En la Sol Ball no he incluido a Vileplume pero sí a toda su línea evolutiva puesto que Gloom evoluciona mediante la Piedra Hoja.

Programar a César/Kurt:
Bien, pues una vez ya hemos escrito las funciones de las Poké Balls, insertado las imágenes de todos los items que hacen falta y los hemos definido en la carpeta PBS, sólo queda que César/Kurt nos las pueda hacer.

Screenshot_17.png


Lo único que he hecho aquí es copiar el NPC de César que viene por defecto en el paquete de Pokémon Essentials y le he añadido un script que nos detecte la presencia de los dos bonguris plateado y dorado, pero han de estar ambos en la mochila. El script que usé es el siguiente (es que no se ve XD):

PHP:
$PokemonBag.pbHasItem?(:SLVAPRICORN) && $PokemonBag.pbHasItem?(:GLDAPRICORN)
Si se cumple esta condición, entonces César nos dará la opción de crear la GS Ball usando ambos bonguris al mismo tiempo.

En el caso de no cumplirse la condición, nos llevará a la función original a la que deberemos añadir nuestra Sol Ball y el Bonguri Naranja tan sólo añadiendo:

Enriquecido (Código BB):
pbConvertItemToItem(8,[
   :REDAPRICORN,:LEVELBALL,
   :YLWAPRICORN,:MOONBALL,
   :BLUAPRICORN,:LUREBALL,
   :GRNAPRICORN,:FRIENDBALL,
   :PNKAPRICORN,:LOVEBALL,
   :WHTAPRICORN,:FASTBALL,
   :BLKAPRICORN,:HEAVYBALL,
   :ORNAPRICORN,:SUNBALL])
Screenshot_18.png


NOTA: En mi proyecto, una vez consigues los bonguris plateado y dorado, el juego te obliga a fabricar la GS Ball, por eso, si dices que no, no pasa a la función principal del NPC.

NOTA 2: Por favor, si alguien ve algún fallo o me sugiere cómo se podría mejorar esta función, estaré encantado de leeros, espero haber ayudado un poquito con este mini tutorial.

Un saludo a todos!
 
Última edición:

Wigan

Enginer
Muy buen aporte, justamente estaba buscando información de cómo hacer para subir el ratio de captura de las pokeballs normales y este scrip me da una idea de cómo hacerlo. Gracias!
 
M

Miembro eliminado 45640

Invitado
Era Azalea, no Caoba.
Igual buen aporte(?).
 
Arriba