[RPG - Scripting] Qué fallo tiene este pequeño script?


Like Tree3Gracias
  • 2 Post By Diego Mertens
  • 1 Post By Aris
Tema cerrado
 
Herramientas Desplegado
  #1  
30/05/2019
Predeterminado Qué fallo tiene este pequeño script?
Buenas, tengo este script pequeñito que revisa si tengo un tipo específico en mi equipo y si lo tengo hace una cosa u otra en la excepción, por ejemplo que un npc no me deje pasar si tengo un pokémon de tipo fuego:

def hasType(type)
$Trainer.party.each {|x| # Bucle por todo el equipo, x es el Pokémon actual
if x.type1 != type && x.type2 != type # Comprueba que el tipo sea el tipo que le hemos dado
return true # Si lo es, devolvemos true
end
}
return false # Si hemos llegado hasta aquí es que ningún Pokémon es del tipo dado, devolvemos false
end

Y en un antiguo proyecto me funcionaba pero en el nuevo que estoy haciendo no se porqué pero no lo hace, si alguien ve el fallo que me lo diga por favor.

Al llamar el script lo llamo así: hasType(PBTypes::FIRE)

Pero independientemente de si tengo un Pokémon de fuego en el equipo o no sigue el evento como si el script no existiera.
  #2  
30/05/2019
Predeterminado Respuesta: Qué fallo tiene este pequeño script?
Intenta así:
Código:
def hasType(type)
  $Trainer.party.each {|x|
  if x.type1 != type && x.type2 != type
    return true
  else
    return false
  end
end
}
No lo he probado, pero debería funcionar.
Gracias: Morel X y Aris
Mi Fangame
Mis Recursos y Tutoriales

no me abras :v

...
Reshiram y Yo hemos perdido.
¿Significa eso que tus convicciones o ideales nos han superado?
Zekrom y Reshiram...
Cada uno ha escogido a un héroe...
¿Cómo es posible tal cosa?
¿Querrá decir esto que ambos héroes, tanto el defensor de los ideales como el paladín de la verdad, tienen razón?
No lo entiendo...
Quizá no se trate de negar el pensamiento diferente, sino de integrarlo y combinar ambos...
Como en una reacción química...
¿Es esa la fórmula para
cambiar el mundo?
~ N... Negro y Blanco... ~ 2010
  #3  
30/05/2019
Predeterminado Respuesta: Qué fallo tiene este pequeño script?
Dicho por Diego Mertens Ver mensaje
Intenta así:
Código:
def hasType(type)
  $Trainer.party.each {|x|
  if x.type1 != type && x.type2 != type
    return true
  else
    return false
  end
end
}
No lo he probado, pero debería funcionar.
Me da un error en el último end :/
  #4  
30/05/2019
Predeterminado Respuesta: Qué fallo tiene este pequeño script?
Dicho por Morel X Ver mensaje
Me da un error en el último end :/
La llave de cierre está debajo del end que cierra el def, por lo que da error, pon la llave de cierre encima del último end

def hasType(type)
$Trainer.party.each {|x|
if x.type1 != type && x.type2 != type
return true
else
return false
end
}
end

PD: No esta bien tabulado
Gracias: Morel X
  #5  
30/05/2019
Predeterminado Respuesta: Qué fallo tiene este pequeño script?
Dicho por Aris Ver mensaje
La llave de cierre está debajo del end que cierra el def, por lo que da error, pon la llave de cierre encima del último end

def hasType(type)
$Trainer.party.each {|x|
if x.type1 != type && x.type2 != type
return true
else
return false
end
}
end

PD: No esta bien tabulado
Gracias! ahora funciona perfectamente
Tema cerrado

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 16:06.