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


+35
Adanrox
Utirra
BrunoFox
Komuro Takashi
KaiqueHunter
Blackraato
Nietore
Fabrizio
matheus180
wallace123
' Wwebr
Codecake
lucas-justin
Demon-eater
gabrielpedutti
Gabriel Lenz
ZeroXP
philippejugnet
Bender
Felix Blayder
Kuraudo
DarkRoot
JuanCollin
Jonny
Mario.Hacker
Faabinhuu ;
Valentine
emilyoly
joaovitor2763
SrºJokker
Hatsuki Morturo
lovins
LeonM²
DeaN
KaduMacedo
39 participantes

    [KM] Scene_Login

    KaduMacedo
    KaduMacedo
    Doador
    Doador


    Mensagens : 20
    Créditos : 34

    [KM] Scene_Login Empty [KM] Scene_Login

    Mensagem por KaduMacedo Sex Ago 12, 2011 11:48 am

    [KM] Scene_Login

    Eae pessoal, como devem ter visto no tópico do [KM] Window_Status vocês votaram e acabaram escolhendo uma tela de login, então hoje como já havia falado eu ia fazer ela.
    Abaixo vocês podem ver o script, uma screenshot de como ficou e uma breve explicação sobre o que vocês podem modificar.

    AVISO: Não fiz nenhuma demo porque eu não estava afim ;D e porque não achei necessário.


    Instruções
    Para que o script funcione corretamente você deve ir no script: [CONF] User_edits nas linhas 73, 74, 75, 76, 77 e alterar 5 linhas:

    Código:
      BORDA = Color.new(152,152,152)
      COR1  = Color.new(152,152,152)
      COR2  = Color.new(212,212,212)
      COR3  = Color.new(202,202,202)
      COR4  = Color.new(182,182,182)
    Deixe da seguinte forma:
    Código:
      BORDA = Color.new(152,152,152, 0)
      COR1  = Color.new(152,152,152, 0)
      COR2  = Color.new(212,212,212, 0)
      COR3  = Color.new(202,202,202, 0)
      COR4  = Color.new(182,182,182, 0)

    Acrescentar o ", 0" faz com que a opacidade seja nula, então poderemos deixar a tela de login com a aparência que quisermos.

    AVISO: Essa alteração vai modificar TODAS as suas outras scenes que utilizem campos para escrever, botões ou algo do gênero.

    Script

    Não comentarei muito sobre o script pois não há muito o que falar, está tudo comentado dentro dele.

    Código:
    #==============================================================================#
    # » [KM] Scene_Login                                                          #
    #==============================================================================#
    # » Desenvolvido por Kadu Macedo                                              #
    # » Desenvolvido com base na Scene_Login do Marlos Gama                        #
    # » 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

    Como podem perceber no script, na parte onde teria escrito Login e Registro eu coloquei apenas um grande espaço vazio, fiz isso pois já tinha escrito o que teria nos botões na imagem de fundo, e a quantidade de espaços foi para definir o tamanho do botão.

    Você deverá colocar essa imagem: [KM] Scene_Login - Imagem de Fundo dentro da pasta Titles do seu projeto.

    Screenshot
    [KM] Scene_Login ScreenKMScene_Login-1

    [KM] Scene_Login Screenc

    Espero que gostem e utilizem, se tiverem alguma dúvida podem postar ou até mesmo me perguntar pelo msn: kdum4c3d0@hotmail.com

    [KM] Scene_Login 88x31

    KM RGSS Scripts por Kadu Macedo are licensed under a
    Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.


    Última edição por KaduMacedo em Sex Ago 12, 2011 8:46 pm, editado 2 vez(es)
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por DeaN Sex Ago 12, 2011 11:52 am

    Caramba Primeiro a Posta ta muto masa cara muito foda 10+ por dia....


    _________________
    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 MiB0H
    LeonM²
    LeonM²
    Lenda
    Lenda


    Mensagens : 1802
    Créditos : 153

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por LeonM² Sex Ago 12, 2011 12:08 pm

    bah kra mt show mas bem que vc podia ter dado um jeito de colocar os botoes transparentes só para a scene login bom esta mt boa msm mas como faço para que nas outras scenes que usam botoes terem um fundo?
    lovins
    lovins
    Membro Ativo
    Membro Ativo


    Mensagens : 340
    Créditos : 68

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por lovins Sex Ago 12, 2011 12:27 pm

    Caramba! Pow cara, assim vc quase me mata do coração, muito bom O.O +1credi


    _________________
    [KM] Scene_Login 616s9EW
    Hatsuki Morturo
    Hatsuki Morturo
    Experiente
    Experiente


    Mensagens : 401
    Créditos : 50

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por Hatsuki Morturo Sex Ago 12, 2011 12:54 pm

    A scene login em si está muito bonita, mas utilizar imagens como base completa as vezes tem sua desvantagens, como nos botões, quando sobreponho o mouse sobre o botão, aparece uma tarja clara retangular, sendo que o botão é arredondado, mas tirando isso, ela está muito boa, mas eu estou com um erro aqui:
    Código:
        @base_window.set_text4(USUARIO_NOME,10, 10+27)
    Não sei o que pode estar causando tal erro.


    _________________
    [KM] Scene_Login Asd10

    [KM] Scene_Login Fabar10
    SrºJokker
    SrºJokker
    Experiente
    Experiente


    Mensagens : 591
    Créditos : 234

    [KM] Scene_Login Empty xD

    Mensagem por SrºJokker Sex Ago 12, 2011 1:10 pm

    Nossa!
    Muito bom mano!
    Vc manda muito heim!

    Mas tem um pequeno erro quando vai logar... pode me ajudar
    [KM] Scene_Login Sem_ta10

    Código:
    @base_window.set_text4(USUARIO_NOME,10, 10+27)


    _________________
    Com um pouco de criatividade o BOM fica ainda MELHOR.
    By: Ykky
    [KM] Scene_Login Signpk11

    [KM] Scene_Login Subzeropegadinhanofuteb

    Parceiro...


    Spoiler:
    joaovitor2763
    joaovitor2763
    Membro de Honra
    Membro de Honra


    Medalhas : [KM] Scene_Login Trophy12
    Mensagens : 645
    Créditos : 137

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por joaovitor2763 Sex Ago 12, 2011 1:38 pm

    Sinceramente, não gostei muito da scene em si,más teve um lado positivo, estudando o script,deu pra tirar umas ideias de como criar minha própria login, então +créd


    _________________
    Ser maker e ser capaz de dar vida a sua imaginação.

    [KM] Scene_Login IcxBy6
    [KM] Scene_Login H8MZe
    emilyoly
    emilyoly
    Diva
    Diva


    Mensagens : 526
    Créditos : 83

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por emilyoly Sex Ago 12, 2011 1:47 pm

    Adorei a scene +1 Cred xD


    _________________
    Pessoas que admiro:
    lovins
    lovins
    Membro Ativo
    Membro Ativo


    Mensagens : 340
    Créditos : 68

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por lovins Sex Ago 12, 2011 1:56 pm

    Eu modifiquei, olha como ficou a minha:
    https://2img.net/r/ihimg/photo/my-images/3/unled2copyl.png/


    @edit
    Ykkyto escreveu:Nossa!
    Muito bom mano!
    Vc manda muito heim!

    Mas tem um pequeno erro quando vai logar... pode me ajudar
    [KM] Scene_Login Sem_ta10

    Código:
    @base_window.set_text4(USUARIO_NOME,10, 10+27)

    Tipo, voce subistituil a scene)login oririnal, ou criou um novo scipt?


    _________________
    [KM] Scene_Login 616s9EW
    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : [KM] Scene_Login ZgLkiRU
    Mensagens : 5336
    Créditos : 1163

    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por Valentine Sex Ago 12, 2011 3:07 pm

    Noooooosssa! Muito bom cara
    + crédito
    Você é fera em design, to precisando disso pra minha engine.

    Conteúdo patrocinado


    [KM] Scene_Login Empty Re: [KM] Scene_Login

    Mensagem por Conteúdo patrocinado

      Tópicos semelhantes

      -

      Data/hora atual: Qui Mar 28, 2024 7:09 pm