Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


3 participantes

    [KM]Scene_Login para NP Master 3.1

    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    [KM]Scene_Login para NP Master 3.1 Empty [KM]Scene_Login para NP Master 3.1

    Mensagem por DeaN Ter Nov 06, 2012 5:06 pm


    Atualização Log
    07/11/2012 - Alguns Erros consertados
    10:54 07/11/2012 - Problema Resolvido
    11:50 07/11/2012 - Novo Error Encontrado
    08/11/2012 - Problema Resolvido

    Error Constatado
    Por enquanto nada.

    Dúvida
    Galera alguém pode min ajuda e que esta dando muito erro aqui do Scene_Login do KaduMacedo para o NP Master 3.1 eu uso o 4.1 Alguém pode min ajudar...

    Imagem
    Não Precisa...

    Script
    Código:
    #==============================================================================#
    # » [KM] Scene_Login                                                          #
    #==============================================================================#
    # » Desenvolvido por Kadu Macedo                                              #
    # » Desenvolvido com base na Scene_Login do Valentine                          #
    # » Visite: www.aldeiarpgbr.forumeiros.com                                    #
    #==============================================================================#

    module KDU
      #Fundo da Scene (Deve estar dentro da pasta "Titles")
      FUNDO_LOGIN = "KMscene_login"
      #Mensagem de Servidor Online
      SERVER_ON = "Servidor Ligado"
      #Mensagem de Servidor Offline
      SERVER_OFF = "Servidor Desligado"
      #Botão de Login
      BOT_LOGIN = "                                            "
      #Botão de Registrar
      BOT_REGISTRO = "                                            "
     
      #Campo de Usuário
      #Posição X
      USER_X = 165
      #Posição Y
      USER_Y = 249
     
      #Campo de Senha
      #Posição X
      PASS_X = 165
      #Posição Y
      PASS_Y = 277
     
      #Botão Salvar Informações
      #Posição X
      SALV_X = 149
      #Posição Y
      SALV_Y = 298
      #Mensagem de Salvar Informações
      SALV_MSG = "Salvar Informações"
      #Posição X da Mensagem
      SMSG_X = 165
      #Posição Y da Mensagem
      SMSG_Y = 290
     
      #Botão de Login
      #Posição X
      LOGIN_X = 295
      #Posição Y
      LOGIN_Y = 249
     
      #Botão de Registro
      #Posição X
      REGISTRO_X = 295
      #Posição Y
      REGISTRO_Y = 275
     
      #Status do Servidor
      #Posição X
      SERVER_X = 160
      #Posição Y
      SERVER_Y = 323
    end

    class Scene_Login
      #--------------------------------------------------------------------------
      #  Main
      #--------------------------------------------------------------------------
      def main
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.title("KMscene_login.png")
        @base_window = Window_Dummys5.new(0, 0, 640, 480)
        @base_window.windowskin = RPG::Cache.windowskin("Blank")
        @base_window.dragable = false
       
        @window_erro = Window_Dummys.new(200,165,235,90)#Window_Dummys5.new(180,150,250,80)
        @window_erro.z = 9999
        @window_erro.visible = false
        @window_erro.active = false
        @convite_button1 = Button.new(@window_erro,@window_erro.width/3+12, 55, " Ok ") {@window_erro.visible = false; @window_erro.active = false}
        @window_erro.dragable = false
        @window_erro.closable = true
        #@window_erro.set_modt("aaa",0, -3)
       
        main_data
        if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        end
        @user_window = $user_window_text
        @user_window.x = KDU::USER_X
        @user_window.y = KDU::USER_Y
       
        @user_window.active = true
        @pass_window = $pass_window_text
        @pass_window.x = KDU::PASS_X
        @pass_window.y = KDU::PASS_Y
       
        @register_button = Button3.new(@base_window,156,76+12+27+25-5,KDU::BOT_REGISTRO) {register}
        @register_button.x = KDU::REGISTRO_X
        @register_button.y = KDU::REGISTRO_Y
        @base_window.set_text6(KDU::SALV_MSG,KDU::SMSG_X, KDU::SMSG_Y)
        @mainlogin_ckh = Check_Box.new(@base_window,16,116-24+27-5)
        @mainlogin_ckh.x = KDU::SALV_X
        @mainlogin_ckh.y = KDU::SALV_Y
        @tempo = 0
       
        if @user_window.text != ""
          ativar_ckh
          @user_window.active = false
          @pass_window.active = true
        end
       
        @login_button = Button3.new(@base_window,156,76+12+27-5,KDU::BOT_LOGIN) {entrando}
        @login_button.x = KDU::LOGIN_X
        @login_button.y = KDU::LOGIN_Y
        plusx = (640/2 - @base_window.width/2) - 100
        @password = []
        @user_name = []
        Graphics.transition
        if $servidor_off == true
        else
        Network::Main.retrieve_version
        end
        loop do
          Network::Base.update
          update
          if $scene != self
            break if main_scenechange?
          end
        end
        Graphics.freeze
        @sprite.dispose
        @window_erro.dispose
        @base_window.dispose
        @login_button.dispose
        @mainlogin_ckh.dispose
      end
     
      #--------------------------------------------------------------------------
      #  Salvar Conta
      #--------------------------------------------------------------------------
      def main_data
        if FileTest.exist?("Account.rxdata")
          @dati = []
          file = File.open("Account.rxdata", "rb")
          @dati = Marshal.load(file)
          file.close
          @base_window.set_username = @dati[0]
          @base_window.set_password = @dati[1]
        end
      end
     
      def ativar_ckh
        @mainlogin_ckh.value = true
      end
     
        def main_scenechange?
      if $scene != self
      if @mainlogin_ckh.checked
          @dati = []
          @dati[0] = @base_window.username
          @dati[1] = @base_window.password
          file = File.open("Account.rxdata", "wb")
          Marshal.dump(@dati,file)
          file.close
      end
          return true
        end
        return false
      end
     
      def username
      return @base_window.username
      end
      #--------------------------------------------------------------------------
      #  Update
      #--------------------------------------------------------------------------
      def update
        @base_window.update
        @window_erro.update
        @login_button.update
       
      if Input.pressed(Input::Mouse_Left) and @user_window.in_area?
        @user_window.active = true
        @pass_window.active = false
        @pass_window.refresh
        return
      elsif Input.pressed(Input::Mouse_Left) and @pass_window.in_area?
        @user_window.active = false
        @pass_window.active = true
        @user_window.refresh
      end 
       
      if Input.trigger?(Input::Tab) or Input.trigger?(Input::DN) and @user_window.active == true
        @user_window.active = false
        @pass_window.active = true
        @user_window.refresh
      elsif Input.trigger?(Input::Tab) or Input.trigger?(Input::UPs) and @user_window.active == false
        @user_window.active = true
        @pass_window.active = false
        @pass_window.refresh
        return
      end
       
        if Graphics.frame_count / Graphics.frame_rate != @total_sec
          @tempo += 1
        end
        if @tempo == 4 * 10
          $mouse_active = false
          @tempo = 0
        end
     
        if @login_update
          login
          return
        end
      end
      #--------------------------------------------------------------------------
      #  Set Status Text
      #--------------------------------------------------------------------------
      def set_status(status)
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
        #@base_window.set_text2(status, 25, 150)
       
        if status != "Conectando ao Servidor..."
        #@window_erro.contents.clear
        @window_erro.visible = true
        @window_erro.active = true
        @window_erro.set_modt(status,0, -3)
        end
       
        @base_window.set_text4(USUARIO_NOME,10, 10+27)
        @base_window.set_text5(SENHA_NOME,10,35+27)
        @base_window.set_text6(LEMBRAR_NOME,22,66+27-5)
        if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        @base_window.set_modt("#{$game_temp.motd}",18, 2)
        end
      end
     
      def entrando
        return if $mouse_active == true
        if $mouse_active != true
        if $servidor_off == true
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
       
        #@window_erro.contents.clear
        @window_erro.visible = true
        @window_erro.active = true
        @window_erro.set_modt("O servidor está offline!",0, -3)
       
        #@base_window.set_text2("  Usuário Incorreto ou Logado.", 25, 150)

        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
        #$game_system.se_play($data_system.decision_se)
        $mouse_active = true
      else
        @user_window.active = false
        @pass_window.active = false
        @login_update = true
        login
        #$game_system.se_play($data_system.decision_se)
        $mouse_active = true
        return true
        end
        end
      end

      def register
        return if $mouse_active == true
        if $mouse_active != true
        if $servidor_off == true
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
       
        #@window_erro.contents.clear
        @window_erro.visible = true
        @window_erro.active = true
        @window_erro.set_modt("O servidor está offline!",0, -3)
       
        #@base_window.set_text2("      Nome de usuário já existe.", 25, 150)

        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
        #$game_system.se_play($data_system.decision_se)
        $mouse_active = true
      else
        if @pass_window.text != "" && @user_window.text != ""
        if Network::Main.user_exist?(@base_window.username) == true
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
       
        #@window_erro.contents.clear
        @window_erro.visible = true
        @window_erro.active = true
        @window_erro.set_modt(User_Edit::REGISTER_DENIED,0, -3)
       
        #@base_window.set_text2(User_Edit::REGISTER_DENIED, 25, 150)

        #$game_system.se_play($data_system.decision_se)
        $mouse_active = true
        if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        @base_window.set_modt("#{$game_temp.motd}",18, 2)
      end
      else
        Network::Main.send_register(@base_window.username , @base_window.password)
        Network::Main.send_login(@base_window.username , @base_window.password)
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
        #@base_window.set_text2(User_Edit::REGISTERED, 25, 150)
        @base_window.set_text4(USUARIO_NOME,10, 10+27)
        @base_window.set_text5(SENHA_NOME,10,35+27)
        @base_window.set_text6(LEMBRAR_NOME,22,66+27-5)
        #$game_system.se_play($data_system.decision_se)
        $mouse_active = true
        if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        @base_window.set_modt("#{$game_temp.motd}",18, 2)
      end
        end
      else
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
       
        #@window_erro.contents.clear
        @window_erro.visible = true
        @window_erro.active = true
        @window_erro.set_modt(User_Edit::REGISTER_ERROR,0, -3)
       
        #@base_window.set_text2(User_Edit::REGISTER_ERROR, 25, 150)
        @base_window.set_text4(USUARIO_NOME,10, 10+27)
        @base_window.set_text5(SENHA_NOME,10,35+27)
        @base_window.set_text6(LEMBRAR_NOME,22,66+27-5)
        #$game_system.se_play($data_system.decision_se)
        $mouse_active = true
        if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        @base_window.set_modt("#{$game_temp.motd}",18, 2)
      end
      end
      end
      end
      end
     
      #--------------------------------------------------------------------------
      #  Login
      #--------------------------------------------------------------------------
      def login
        return if not @login_update
        if @pass_window.text != "" && @user_window.text != ""
        Network::Main.send_login(@base_window.username , @base_window.password)
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
        #@base_window.set_text2(User_Edit::LOGIN_STATUS, 25, 150)
      if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        @base_window.set_modt("#{$game_temp.motd}",18, 2)
      end
        @login_update = false
        @cursor_pos = 1
      else
        @base_window.contents.clear
        @base_window.set_text2(User_Edit::LOGIN_TITLE,125, 0)
       
        #@window_erro.contents.clear
        @window_erro.visible = true
        @window_erro.active = true
        @window_erro.set_modt(User_Edit::LOGIN_FILLERROR,0, -3)
       
        #@base_window.set_text2(User_Edit::LOGIN_FILLERROR, 25, 150)
      if $servidor_off == true
        @base_window.set_text7(KDU::SERVER_OFF,KDU::SERVER_X, KDU::SERVER_Y)
      else
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
        @base_window.set_text7(KDU::SERVER_ON,KDU::SERVER_X, KDU::SERVER_Y)
        @base_window.set_modt("#{$game_temp.motd}",18, 2)
      end
        @login_update = false
        @cursor_pos = 1
        end
      end
    end

    Erros Consertados
    Spoiler:
    Script Completo com erros consertados
    Spoiler:


    [KM]Scene_Login para NP Master 3.1 Lei1
    Aderindo o Modelo de Tópicos e Dúvidas
    Modelos de Tópicos e Dúvidas


    Última edição por DeaN em Qui Nov 08, 2012 11:38 am, editado 13 vez(es)


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    [KM]Scene_Login para NP Master 3.1 MiB0H
    lovins
    lovins
    Membro Ativo
    Membro Ativo


    Mensagens : 340
    Créditos : 68

    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por lovins Ter Nov 06, 2012 8:45 pm

    Seria melhor se colocasse a linha que da erro assim nao precisaria testar aqui.


    _________________
    [KM]Scene_Login para NP Master 3.1 616s9EW
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por DeaN Qua Nov 07, 2012 9:56 am

    @Darkmel
    Mano vou ti falar os erros que consegui resolver e os que não consegui.
    Aqui esta:

    Editt: Consegui resolver o Problema, estarei colocando o código completo no tópico acho que pode servi para algum novato.

    Linha: 71
    Código:
    @base_window = Window_Dummys5.new(0, 0, 640, 480)
    Troque por este:
    Código:
    @base_window = Window_Login.new(0, 0, 640, 480)

    Linha: 88
    Código:
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == User_Edit::NOMOTD
    Troque por este:
    Código:
        Network::Main.retrieve_mod if $game_temp.motd.to_s == "" or $game_temp.motd.to_s == LANGUAGE::NOMOTD

    Linha: 100
    Código:
        @register_button = Button3.new(@base_window,156,76+12+27+25-5,KDU::BOT_REGISTRO) {register}
    Troque por este:
    Código:
    @register_button = Button.new(@base_window,156,76+12+27+25-5,KDU::BOT_REGISTRO) {register}

    Linha: 115
    Código:
    @login_button = Button3.new(@base_window,156,76+12+27-5,KDU::BOT_LOGIN) {entrando}
    Troque por este:
    Código:
    @login_button = Button.new(@base_window,156,76+12+27-5,KDU::BOT_LOGIN) {entrando}

    Atualizei o tópico


    Última edição por DeaN em Qua Nov 07, 2012 6:13 pm, editado 1 vez(es)


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    [KM]Scene_Login para NP Master 3.1 MiB0H
    Paulo Soreto
    Paulo Soreto
    Lenda
    Lenda


    Mensagens : 1980
    Créditos : 367

    Ficha do personagem
    Nível: 1
    Experiência:
    [KM]Scene_Login para NP Master 3.1 Left_bar_bleue0/0[KM]Scene_Login para NP Master 3.1 Empty_bar_bleue  (0/0)
    Vida:
    [KM]Scene_Login para NP Master 3.1 Left_bar_bleue30/30[KM]Scene_Login para NP Master 3.1 Empty_bar_bleue  (30/30)

    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por Paulo Soreto Qua Nov 07, 2012 4:55 pm

    A correção ficou boa, bem simples até, mas acho que no lugar de Window_Dummys5 seria melhor por Window_Dummys não? Perdão se errei em algo, é que não testei o script ainda, mas acho que essa substituiria a Dummys5 perfeitamente.


    _________________
    [KM]Scene_Login para NP Master 3.1 FwYnoXI
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por DeaN Qua Nov 07, 2012 6:08 pm

    @Soreto
    Brigado mano, mais aqui fiz o teste e da erro na
    Linha: 151
    Código:
    @base_window.set_username = @dati[0]
    Eu acho que deve dar erro pelo o motivo que a
    Linha: 76
    Código:
    @window_erro = Window_Dummys.new(200,165,235,90)
    esta usando o Dummys, mais agora o que to quebrando a cabeça e que quando Click no Button Registrar ou Conectar da meio que um erro, eu fico clicando e ação que era para entrar não vai, não intendo o por que, Alguém pode ajudar.


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    [KM]Scene_Login para NP Master 3.1 MiB0H
    Paulo Soreto
    Paulo Soreto
    Lenda
    Lenda


    Mensagens : 1980
    Créditos : 367

    Ficha do personagem
    Nível: 1
    Experiência:
    [KM]Scene_Login para NP Master 3.1 Left_bar_bleue0/0[KM]Scene_Login para NP Master 3.1 Empty_bar_bleue  (0/0)
    Vida:
    [KM]Scene_Login para NP Master 3.1 Left_bar_bleue30/30[KM]Scene_Login para NP Master 3.1 Empty_bar_bleue  (30/30)

    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por Paulo Soreto Qua Nov 07, 2012 6:18 pm

    Entendo, sendo assim use a Window_Login mesmo, deve se encaixar melhor nessa situação ^.^


    _________________
    [KM]Scene_Login para NP Master 3.1 FwYnoXI
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por DeaN Qui Nov 08, 2012 11:17 am

    Galera encontrei um Erro, na hora que click em Registrar da erro:
    Linha: 236
    Código:
    @base_window.set_text4(USUARIO_NOME,10, 10+27)
    [KM]Scene_Login para NP Master 3.1 Errorgvi
    Logo Abaixo do class Scene_Login:
    Código:
    USUARIO_NOME = "      "
      SENHA_NOME = "      "
      LEMBRAR_NOME = "                "

    Editt:
    Galera tinha esquecido que no Scene_Login que o KM posto a galera resolveu o problema, já já irei testar aqui e posto.

    Error Consertado!


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    [KM]Scene_Login para NP Master 3.1 MiB0H

    Conteúdo patrocinado


    [KM]Scene_Login para NP Master 3.1 Empty Re: [KM]Scene_Login para NP Master 3.1

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Nov 01, 2024 11:26 am