O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Disposed Window Fix 2.0

Iniciado por Ronin879, 04/03/2013 às 23:16

04/03/2013 às 23:16 Última edição: 06/03/2013 às 15:35 por Ronin879
[box class=titlebg]Introdução:[/box]

Então, os scripters principalmente, alguém provavelmente já tentou criar uma window(janela) no editor de scripts, e provavelmente você fez tudo certo, mas na hora de fechar.... pá, esse erro:



[box class=titlebg]Script para Correção:[/box]

#================
#Disposed Window Error Fix by Vitor Luquini
#================
class Window_Base < Window
alias disposed_window_fix update
  def update(*args)
    return if disposed?
    disposed_window_fix(*args)
  end
end
class Window_Selectable < Window_Base
alias disposed_window_fix update
  def update(*args)
    return if disposed?
    disposed_window_fix(*args)
  end
end
class Window_Command < Window_Selectable
alias disposed_window_fix refresh
  def refresh(*args)
    return if disposed?
    disposed_window_fix(*args)
  end
end


[box class=titlebg]Porque ocorre o erro?[/box]

R: Bom, o erro ocorre porque a window_base continua atualizando a window mesmo depois dela já ter fechado.

[box class=titlebg]Créditos:[/box]

Vitor Luquini por descobrir o erro e criação do código.

Eu movi para cá por uma razão ^^, ao invés do tuto porque não disponibiliza junto um script que faz isso :D?
class Window_Base < Window
alias rai_u_update update
  def update(*args)
    return if disposed?
    rai_u_update(*args)
  end
end

Acho que isso junto com o tuto do porque usar seria melhor, mas sim interessante isso *--*, até porque não é apenas para scripters, as vezes alguns scripts dão erro de dispose por outra razão cujo o criador não está mais presente, e só fazer uma gambiarra que funfa :D

Citação de: Raizen online 04/03/2013 às 23:36
Eu movi para cá por uma razão ^^, ao invés do tuto porque não disponibiliza junto um script que faz isso :D?
class Window_Base < Window
alias rai_u_update update
  def update(*args)
    return if disposed?
    rai_u_update(*args)
  end
end

Acho que isso junto com o tuto do porque usar seria melhor, mas sim interessante isso *--*, até porque não é apenas para scripters, as vezes alguns scripts dão erro de dispose por outra razão cujo o criador não está mais presente, e só fazer uma gambiarra que funfa :D

Thanks raizen, achei melhor criar o tuto do que postar o script, mas devo concorda com você, já editei o tópico.
e obrigado novamente :d