Registrarse

[RPG - Scripting] BUG o ERROR - Pregunta doble al querer no aprender un movimiento

Estado
Cerrado para nuevas respuestas.

Kurotao

Cocinando Queques.
Este tema lo hice hace un tiempo, pero el usuario que intento ayudarme no logro solucionarlo, mas que nada porque no se podía entender bien cual era el problema en si, ya que una imagen estática no lo explicaba bien, ahora que se como hacer Gif de captura de pantalla, puedo hacerlo.

EL PROBLEMA ES EL SIGUIENTE.

Una vez que el pokemon en cuestión tenga 4 movimientos,he intenta aprender uno nuevo y no lo aceptas, este mensaje se repetira una vez mas.

Aquí una gif por si no se entiende.



Tambien les dejo el script que se supone que maneja esto (creo yo)

################################################################################
# Learning a move. / Aprendiendo un movimiento
################################################################################
def pbLearnMove(pkmnIndex,move)
pokemon=@party1[pkmnIndex]
return if !pokemon
pkmnname=pokemon.name
battler=pbFindPlayerBattler(pkmnIndex)
movename=PBMoves.getName(move)
for i in 0...4
return if pokemon.moves.id==move
if pokemon.moves.id==0
pokemon.moves=PBMove.new(move)
battler.moves=PokeBattle_Move.pbFromPBMove(self,pokemon.moves) if battler
pbDisplayPaused(_INTL("¡{1} ha aprendido {2}!",pkmnname,movename))
PBDebug.log("[Movimiento aprendido] #{pkmnname} ha aprendido #{movename}")
return
end
end
loop do
pbDisplayPaused(_INTL("{1} quiere aprender el movimiento {2}.",pkmnname,movename))
pbDisplayPaused(_INTL("Pero {1} ya conoce cuatro movimientos.",pkmnname))
if pbDisplayConfirm(_INTL("¿Quieres sustituir uno de esos movimientos por {1}?",movename))
pbDisplayPaused(_INTL("¿Qué movimiento quieres que olvide?"))
forgetmove=@scene.pbForgetMove(pokemon,move)
if forgetmove>=0
oldmovename=PBMoves.getName(pokemon.moves[forgetmove].id)
pokemon.moves[forgetmove]=PBMove.new(move) # Remplaza PP actuales/totales
battler.moves[forgetmove]=PokeBattle_Move.pbFromPBMove(self,pokemon.moves[forgetmove]) if battler
pbDisplayPaused(_INTL("1, 2 y..."))
pbDisplayPaused(_INTL("¡Puf!"))
pbDisplayPaused(_INTL("¡{1} ha olvidado cómo utilizar {2}!",pkmnname,oldmovename))
pbDisplayPaused(_INTL("Y..."))
pbDisplayPaused(_INTL("¡{1} ha aprendido {2}!",pkmnname,movename))
PBDebug.log("[Movimiento aprendido] #{pkmnname} ha olvidado #{oldmovename} y ha aprendido #{movename}")
return
elsif pbDisplayConfirm(_INTL("¿Prefieres que {1} no aprenda {2}?",pkmnname,movename))
pbDisplayPaused(_INTL("{1} no ha aprendido {2}.",pkmnname,movename))
return
end
elsif pbDisplayConfirm(_INTL("¿Prefieres que {1} no aprenda {2}?",pkmnname,movename))
pbDisplayPaused(_INTL("{1} no ha aprendido {2}.",pkmnname,movename))
return
end
end
end
 
Última edición:

Zard

Baneado
Me parece que en tu juego los pokémon evolucionan en combate lo cual me hace pensar que tiene es script repetido de aprender movimientos, por eso debe aparecer 2 veces, uno normalmente y el otro al entrar en el script de evolución en combate, bueno eso solo si se repite en combates y no cuando usas caramelos raros.
 

Diego Mertens

Dartrix Joven
esta parte se me hace rara
elsif pbDisplayConfirm(_INTL("¿Prefieres que {1} no aprenda {2}?",pkmnname,movename))
pbDisplayPaused(_INTL("{1} no ha aprendido {2}.",pkmnname,movename))
return
end
podrias quitarle la pregunta y dejar el texto algo asi
elsif pbDisplayPaused(_INTL("{1} no ha aprendido {2}.",pkmnname,movename))
return
end
 
Estado
Cerrado para nuevas respuestas.
Arriba