Registrarse

[Essentials] Bug Pregunta dos veces por aprender un Movimiento.

Estado
Cerrado para nuevas respuestas.

Kurotao

Cocinando Queques.
Bueno, el problema es este, algunos Pokemon al aprender un movimiento nuevo al tener ya 4, pregunta dos veces si se desea aprender dicho movimiento, investigue el PBS, pero no hay nada raro ¿Alguien sabe que ocurre?
 
Última edición:

Diego Mertens

Dartrix Joven
Entonces, en los Scripts busca ese texto "¿quieres sustituir uno de esos movimientos por" con Ctrl + F y luego revisa a ver qué pasa.
 

Kurotao

Cocinando Queques.
Entonces, en los Scripts busca ese texto "¿quieres sustituir uno de esos movimientos por" con Ctrl + F y luego revisa a ver qué pasa.
Esto es lo que dice, no se mucho de script, lo siento:

----------------------------

# 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


 

Kurotao

Cocinando Queques.
¿Te sale dos veces el "prefieres que no aprenda"?
Pregunta lo clasico

"X Pokemon Quiere aprender un movimiento nuevo, pero este ya conoce 4 movimientos"

"Desea reemplazar"

"Si - No"

Si respondes que SI, seguira normalmente, si respondes que NO, te dira

"X Pokemon no aprendio X movimiento"

Y aqui se repite la pregunta.

"X Pokemon Quiere aprender un movimiento nuevo, pero este ya conoce 4 movimientos"

"Desea reemplazar"

"Si - No"

Si ahora respondes que NO

"X Pokemon no aprendio X movimiento"

Solo se repite una vez.
 

Diego Mertens

Dartrix Joven
No veo error alguno en el script, ya que está igual al mío, pero... ¿Se ve así en el Script editor, osea, sin las "sangrías" a los costados? Es lo único distinto...
Con "sangría", me refiero a esto:
Código:
  def pbOnActiveOne(pkmn,onlyabilities=false,moldbreaker=false)
    return false if pkmn.isFainted?
    if !onlyabilities
      for i in 0...4    # Los participantes actualmente no debilitados ganarán EXP incluso si estuvieron debilitados en el medio
        @battlers[i].pbUpdateParticipants if pbIsOpposing?(i)
        @amuletcoin=true if !pbIsOpposing?(i) &&
                            (isConst?(@battlers[i].item,PBItems,:AMULETCOIN) ||
                             isConst?(@battlers[i].item,PBItems,:LUCKINCENSE))
      end
Esos espacios que hay entre las letras y el margen de "la hoja"
Si no, puedo dejarte el Script que tengo yo, quizás se solucione así.
Por si acaso, haz un Backup del Scripts.rxdata
Código:
################################################################################
# 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[i].id==move
      if pokemon.moves[i].id==0
        pokemon.moves[i]=PBMove.new(move)
        battler.moves[i]=PokeBattle_Move.pbFromPBMove(self,pokemon.moves[i]) 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
 
Estado
Cerrado para nuevas respuestas.
Arriba