enanogm
Usuario antiguo de Wah
Buenas!
Quiero compartir este script sencillo que hice para verificar algunas cosas del equipo pokémon del personaje.
Aquí el código
Para usarlo, sólo hay que hacer lo siguiente:
En un evento, utilizar el comando "Llamar Script" y escribir el nombre de la función que se quiera utilizar, nada más; el script se encargará de arrojar el resultado en un cuadro de texto como si fuera la respuesta de un NPC.
La idea sería agregarle algunas funciones... en algún futuro no muy lejano XD
"tieneTipo(tipo)" para verificar si hay un pokémon que contenga el tipo elemental especificado, sea el primero o segundo tipo.
"mejorStat(stat)" para evaluar cuál tiene stat más elevado.
Además, corregí el método que busca al mejor nivelado, que tenia un error en el ciclo for.
Un saludo!
Quiero compartir este script sencillo que hice para verificar algunas cosas del equipo pokémon del personaje.
El script no es largo, es fácil de entender y más fácil todavía usarlo.
Aquí el código
Código:
# Script que analiza algunos datos sobre el equipo pokémon del personaje.
# By enanogm
# Dice cuántos pokémon hay en el equipo.
# Para usar: 'Llamar Script' y escribir 'sizeEquipo'
def sizeEquipo
resultado=_ISPRINTF("Tienes {1:d} Pokémon en tu equipo",$Trainer.party.length)
Kernel.pbMessage(_INTL(resultado))
end
# Calcula el nivel promedio del equipo.
# Para usar: 'Llamar Script' y escribir 'promedioEquipo'
def promedioEquipo
equipo=$Trainer.party.length
nivel=0
for i in 0...equipo
nivel += $Trainer.party[i].level
end
resultado=_ISPRINTF("El Nivel promedio de tu equipo Pokémon es {1:d}",nivel/equipo)
Kernel.pbMessage(_INTL(resultado))
end
# Calcula la felicidad promedio del equipo.
# Para usar: 'Llamar Script' y escribir 'felicidadEquipo'
def felicidadEquipo
equipo=$Trainer.party.length
felicidad=0
for i in 0...equipo
felicidad+=$Trainer.party[i].happiness
end
niveles=["¡Terrible!", "Mala", "Regular", "Buena", "Muy buena", "¡Excelente!"]
resultado=_ISPRINTF("La Felicidad promedio de tu equipo Pokémon es {1:s}",niveles[felicidad/50])
Kernel.pbMessage(_INTL(resultado))
end
# Identifica al pokémon con mayor nivel del equipo.
# Para usar: 'Llamar Script' y escribir 'nivelMax'
def nivelMax
equipo=$Trainer.party.length
nivel=$Trainer.party[0].level
masFuerte=0
if(equipo>1)
for i in 0...equipo
if nivel < $Trainer.party[i].level
nivel = $Trainer.party[i].level
masFuerte=i;
end
end
resultado=_ISPRINTF("Tu pokémon de mayor nivel es {1:s} con nivel {2:d}",$Trainer.party[masFuerte].name,nivel)
else
resultado=_ISPRINTF("Tu pokémon de mayor nivel es {1:s} con nivel {2:d}",$Trainer.party[0].name,nivel)
end
Kernel.pbMessage(_INTL(resultado))
end
# Verifica si en el equipo hay por lo menos un pokémon con el tipo elemental
# especificado, sea el primario o secundario.
# Para usar: 'Condiciones y efectos', elegir 'Script' en la 4º pestaña y
# escribir 'tieneTipo("FIRE")==true'. Sustituir por FIRE el tipo que se quiere
# comprobar.
def tieneTipo(tipo)
for i in 0...$Trainer.party.length
if tipo.is_a?(String)
if $Trainer.party[i].hasType?(tipo)
return true
end
else
Kernel.pbMessage(_INTL("Lo siento, ese no es un tipo elemental."))
end
end
return false
end
# Encuentra al pokémon con mejor stat
# Para usar: 'Llamar Script' y escribir 'mejorStat("stat")'
# Entre las comillas, escribir el nombre del stat a analizar:
# Puntos de Salud: totalhp
# Ataque: attack
# Defensa: defense
# Velocidad: speed
# Ataque Especial: spatk
# Defensa Especial: spdef
def mejorStat(stat)
if stat.is_a?(String)
masAlto=0
pokemon=0;
if stat=="totalhp"
masAlto=$Trainer.party[0].totalhp
for i in 0...$Trainer.party.length
if masAlto < $Trainer.party[i].totalhp
masAlto=$Trainer.party[i].totalhp
pokemon=i;
end
end
resultado=_ISPRINTF("Tu pokémon con mejor PS es {1:s} con {2:d} pts.",$Trainer.party[pokemon].name,masAlto)
Kernel.pbMessage(_INTL(resultado))
elsif stat=="attack"
masAlto=$Trainer.party[0].attack
for i in 0...$Trainer.party.length
if masAlto < $Trainer.party[i].attack
masAlto=$Trainer.party[i].attack
pokemon=i;
end
end
resultado=_ISPRINTF("Tu pokémon con mejor Ataque es {1:s} con {2:d} pts.",$Trainer.party[pokemon].name,masAlto)
Kernel.pbMessage(_INTL(resultado))
elsif stat=="defense"
masAlto=$Trainer.party[0].defense
for i in 0...$Trainer.party.length
if masAlto < $Trainer.party[i].defense
masAlto=$Trainer.party[i].defense
pokemon=i;
end
end
resultado=_ISPRINTF("Tu pokémon con mejor Defensa es {1:s} con {2:d} pts.",$Trainer.party[pokemon].name,masAlto)
Kernel.pbMessage(_INTL(resultado))
elsif stat=="speed"
masAlto=$Trainer.party[0].speed
for i in 0...$Trainer.party.length
if masAlto < $Trainer.party[i].speed
masAlto=$Trainer.party[i].speed
pokemon=i;
end
end
resultado=_ISPRINTF("Tu pokémon con mejor Velocidad es {1:s} con {2:d} pts.",$Trainer.party[pokemon].name,masAlto)
Kernel.pbMessage(_INTL(resultado))
elsif stat=="spatk"
masAlto=$Trainer.party[0].spatk
for i in 0...$Trainer.party.length
if masAlto < $Trainer.party[i].spatk
masAlto=$Trainer.party[i].spatk
pokemon=i;
end
end
resultado=_ISPRINTF("Tu pokémon con mejor At. Especial es {1:s} con {2:d} pts.",$Trainer.party[pokemon].name,masAlto)
Kernel.pbMessage(_INTL(resultado))
elsif stat=="spdef"
masAlto=$Trainer.party[0].spdef
for i in 0...$Trainer.party.length
if masAlto < $Trainer.party[i].spdef
masAlto=$Trainer.party[i].spdef
pokemon=i;
end
end
resultado=_ISPRINTF("Tu pokémon con mejor Df. Especial es {1:s} con {2:d} pts.",$Trainer.party[pokemon].name,masAlto)
Kernel.pbMessage(_INTL(resultado))
else
Kernel.pbMessage(_INTL("Lo siento, ese no es un stat válido."))
end
else
Kernel.pbMessage(_INTL("Lo siento, ese no es un stat válido."))
end
end
En un evento, utilizar el comando "Llamar Script" y escribir el nombre de la función que se quiera utilizar, nada más; el script se encargará de arrojar el resultado en un cuadro de texto como si fuera la respuesta de un NPC.
Código:
- Evaluar Tamaño del Equipo: "sizeEquipo"
- Evaluar Nivel Promedio: "promedioEquipo"
- Evaluar Felicidad Promedio: "felicidadEquipo"
- Evaluar Mejor Nivelado: "nivelMax"
- Verificar Tipo: "tieneTipo("tipo")"; utilizar nombres internos de tipos
- Evaluar Mejor Stat: "mejorStat("stat")"; utilizar nombre de atributo
Actualización 22 de Julio 2016
Dos nuevas funciones"tieneTipo(tipo)" para verificar si hay un pokémon que contenga el tipo elemental especificado, sea el primero o segundo tipo.
"mejorStat(stat)" para evaluar cuál tiene stat más elevado.
Además, corregí el método que busca al mejor nivelado, que tenia un error en el ciclo for.
Espero les sirva!
Créditos son apreciados pero no necesarios, solo no digas que lo hiciste tú
Créditos son apreciados pero no necesarios, solo no digas que lo hiciste tú
Un saludo!
Última edición: