Registrarse

[RPG - Scripting] error al capturar legendario

Estado
Cerrado para nuevas respuestas.

super luisuto

Miutu hizo unas zapatillas con mi stunfisk
Hola. Ha ocurrido un error al capturar un pokemon legendario. Muestro una imagen del problema por si me pueden ayudar.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Muy buenas, amigo.
Como diré siempre, no tengo mucha idea de esto ya que no he usado nunca ni RPGMaker ni Ruby. Pero creo que el error está bien claro: la función pbWildBattle está esperando que le pases un número, por eso hace una comparación de >= pero tú le estás pasando un boolean (TRUE) para el que ese operador ni tiene sentido ni existe.

Revisando la wiki de Pokémon Essentials me encontré con la sintaxis de esta función:
Código:
pbWildBattle(PBSpecies::species,level,result,escape,canlose)
Veo que tú le pasas bien la especie y el nivel pero luego en vez de pasar el argumento result, que es un número, le pasas un booleano, supongo que para el escape o para el canlose.

Aquí distinguiremos algunas cosas:
  • Si ese TRUE es para que el jugador pueda escapar, bórralo y ya. Es el valor que tiene por defecto el argumento escape.
  • Si es para el canlose, intenta llenar todos los argumentos de la función:
    Código:
    pbWildBattle(PBSpecies::CRACKEN, 70, 1, TRUE, TRUE)

Y aquí diré una cosa: no sé si es posible llamar a la función usando los argumentos con nombre para evitar pasarlos todos. Algo del estilo:
Código:
pbWildBattle(PBSpecies::CRACKEN, 70, canlose=TRUE)
Si alguien con más experiencia puede aclarárnoslo, sería bueno.

Por si acaso, te explico que el argumento result es un número de Variable Global en la que se guardará el resultado de la batalla (1=victoria, 2=derrota, 3=huída, 4=captura, 5=empate).

Espero haberte aclarado un poco las cosas. Cualquier duda, nos avisas
 

Diego Mertens

Dartrix Joven
En realidad, debe usar "true", en lugar de "TRUE".
"true" es una variable, que significa "verdadero" y puede asignarle esos valores a ciertas variables booleanas. El problema es que "TRUE" no significa nada, el error se solucionaría simplemente poniendo "true", en minúsculas.
 
Estado
Cerrado para nuevas respuestas.
Arriba