Registrarse

[RPG - Scripting] problema con dos nuevas habilidades

Estado
Cerrado para nuevas respuestas.

super luisuto

Miutu hizo unas zapatillas con mi stunfisk
buenos dias, estoy empezando a estudiar programación, fijándome en scripts ya hechos para ir aprendiendo. Quiero crear dos nuevas habilidades: cuerpo hielo y punta hielo; punta hielo sería exactamente igual que piel tosca o punta acero, pero cuerpo hielo tiene una probabilidad del 30% de hacer congelar al rival si recibe un golpe físico. Al principio pensé que seria mas sencillo de hacer sustituyendo algunas cosas, pero me esta dando problemas, el pokemon con estas habilidades no ataca nunca, y cualquier movimiento que yo use contra él me falla, muestro una imagen por si alguien sabe que estoy haciendo mal, por si me quieren ayudar, sin más un saludo.

 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
Estaría mejor si posteases el código para poder revisarlo bien, en una imagen no se puede tocar nada.
 

super luisuto

Miutu hizo unas zapatillas con mi stunfisk
este es el codigo, muestro tambien la habilidad "static", que es de la cual me base.

if target.hasWorkingAbility:)STATIC,true) && @battle.pbRandom(10)<3 && # Electricidad Estática
user.pbCanParalyze?(nil,false)
PBDebug.log("[Habilidad disparada] Electricidad Estática de #{target.pbThis}")
user.pbParalyze(target,_INTL("¡{2} de {1} paralizó a {3}! ¡Quizás no pueda moverse!",
target.pbThis,PBAbilities.getName(target.ability),user.pbThis(true)))
end
if target.hasWorkingAbility:)CUERPOHIELO,true) && @battle.pbRandom(10)<3 && # Cuerpo Hielo
user.pbCanFreeze?(nil,false)
PBDebug.log("[Habilidad disparada] Cuerpo Hielo de #{target.pbThis}")
user.pbFreeze(target,_INTL("¡{2} de {1} congeló a {3}! ¡Quizás no pueda moverse!",
target.pbThis,PBAbilities.getName(target.ability),user.pbThis(true)))
end
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
Bueno para empezar has puesto # Cuerpo Hielo y # Electricidad Estática donde no deberías porque te estás metiendo dentro de la condición (ese && sigue hacia abajo y el user.pbCanParalyze y pbCanFreeze son parte de la condición).
Por otro lado pbFreeze funciona de forma diferente a pbParalyze, no necesitas el "target".
He cambiado esas dos cosas en el código y he comprobado que funcionaba todo correctamente y que congelaba al enemigo.

Código:
if target.hasWorkingAbility(:CUERPOHIELO,true) && @battle.pbRandom(3)<3 && user.pbCanFreeze?(nil,false)
PBDebug.log("[Habilidad disparada] Cuerpo Hielo de #{target.pbThis}")
user.pbFreeze(_INTL("¡{2} de {1} congeló a {3}! ¡Quizás no pueda moverse!",
target.pbThis,PBAbilities.getName(target.ability), user.pbThis(true)))
end
 

super luisuto

Miutu hizo unas zapatillas con mi stunfisk
muchas gracias klein, lo que no entiendo es por que está mal la habilidad "static", si de ese no edite nada, solo lo use para comparar.
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
¿Estaba ya así?
Quizás me estoy confundiendo y estoy empezando a mezclar demasiados lenguajes de programación, en mucho de ellos no sep ueden poner comentarios delante cuando partes una condición, pero se ve que en Ruby o por lo menos la versión de Ruby que utiliza RPGXP (1.8 si no me equivoco) sí lo permite así que fallo mío con el tema de los comentarios, yo por si acaso no los pondría en mitad de la condición ya por el simple hecho de que pueden despistar un poco, en la versión de Essentials que yo uso no sale, por eso supuse que lo habrías añadido.
 

super luisuto

Miutu hizo unas zapatillas con mi stunfisk
ah vale ahora entiendo, el problema estaba en la condición. Voy a ver si consigo hacer alguna habilidad yo solo :p, por ahora solo he hecho movimientos y algun objeto. pueden cerrar el tema.
 
Estado
Cerrado para nuevas respuestas.
Arriba