Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy
Life RPG Maker 2.0

2ª versão do forum life rpg maker

Os membros mais ativos do mês

Últimos assuntos
» Kingdon 1.6
Ter Jun 09, 2015 3:02 pm por MasterKill

» Tempo dinâmico e Hora do Sistema
Seg Dez 09, 2013 5:42 pm por jonathas

» Sistema de Natação
Sab Dez 07, 2013 5:14 pm por jonathas

» Classificar Inventario
Sab Dez 07, 2013 12:07 pm por Samuka_Adm

» VOLTEI ALELUIA :D
Sab Dez 07, 2013 10:35 am por Samuka_Adm

» Netplay Master v4.0.7
Qua Jun 26, 2013 1:32 pm por xdario

» The League Of War [Season 1]
Sex Jan 18, 2013 6:02 pm por Warrior

» Meu primeiro desenho que posto :D
Qua Jan 09, 2013 1:37 pm por PedroMatoso

» Window Configurações
Qua Jan 09, 2013 1:36 pm por PedroMatoso

Parceiros
Fórum grátis

Fórum grátis


Mundo RPG Maker
MMORPG BRASIL

Você não está conectado. Conecte-se ou registre-se

SceneLogin + Register

Ir em baixo  Mensagem [Página 1 de 1]

1 SceneLogin + Register em Sex Out 19, 2012 9:01 pm

Warrior

avatar
Moderador
Moderador
Bom galera tava sem nada a fazer e então resolvi fazer/editar esse script, de tela de login + registro.

Oque faz? Bom esse script customiza sua tela de login e adiciona a tela de registro separado.

Utilidade: Como vi ( eu acho ) que a KM Scene Login (Kadu) não pega no NPM4.0 editei esse script para ficar com a mesma funcionalidade (pode customizar do seu jeito) e a tela de registro tambem pode-se customizar diferente da do login.

Screens:
Spoiler:




Creditos: Primeiramente ao Soreto por criar aquele SceneLogin mais facil de usar.
E a mim por editar e adicionar a Scene Register.


Tutorial[center]

1- Vá no user edits.
2- Mais ou menos na linha 107 até a 111, onde está isso:
Código:
BORDA = Color.new
E as bordas apague tudo e coloque isso:
Código:
  BORDA = Color.new(222,222,222)
  COR1  = Color.new(222,222,222)
  COR2  = Color.new(222,222,222)
  COR3  = Color.new(222,222,222)
  COR4  = Color.new(222,222,222)

3- Vá no Script [SC] Scene_Login
4- Apague tudo que tem lá e add isso:
Spoiler:
Código:
#==============================================================================
    # ** Scene_Login
    #------------------------------------------------------------------------------
    # By Paulo Soreto
    # Editado by Darkmel
    #==============================================================================
   
    #Module Config
    module Login_Config
      #Scene configuration
      BACKGROUND = 'Login'
   
      #Window configuration
      BASE_WIDTH = 450                      #Width
      BASE_HEIGHT = 70                    #Heigh
      BASE_X = 340 / 2 - BASE_HEIGHT + 10  #X position
      BASE_Y = 1321 / 2 - BASE_WIDTH / 2    #Y position
      WINDOWSKIN = ''              #Self windowskin
      OPACITY = 150                        #Window opacity
   
      #Font configuration
      FONT_NAME = 'Arial'                          #Name
      FONT_SIZE = 14                                #Size
      FONT_BOLD = true                              #Bold
      FONT_ITALIC = false                          #Italic
      COLOR_WHITE = Color.new(255, 255, 255)        #Color white
      COLOR_BLACK = Color.new(0, 0, 0)              #Color black
      SHADOW = true
   
      #Window texts
      USER = "Login:"    #User text
      PASS = ""    #Password text
      SAVE = "Salvar?"      #Save text
   
      #Buttons
      LOGIN = "Login"      #Login button
      REGISTER = "Register" #Register button
   
      #Depuration
      ERROR = ["Usuário não existe",      #Error 0
              "Login e senha iguais",      #Error 1
              "Login muito curto",        #Error 2
              "Senha muito curta",  #Error 3
              "Usuário já existe"]              #Error 4
     
      #User file
      USER_FILE = 'Account.rxdata'
    end
   
    class Scene_Login
      def main 
        #Make a background
        @background = Sprite.new
        @background.bitmap = RPG::Cache.title(Login_Config::BACKGROUND) 
        #Make a base window
        @base_window = Window_Dummys.new(Login_Config::BASE_X, Login_Config::BASE_Y, Login_Config::BASE_WIDTH, Login_Config::BASE_HEIGHT)
        @base_window.back_opacity = Login_Config::OPACITY
        @base_window.contents = Bitmap.new(@base_window.width - 32, @base_window.height - 32)
        @base_window.windowskin = RPG::Cache.windowskin(Login_Config::WINDOWSKIN)
        @base_window.contents.clear
     
        #Config :: Text
        @base_window.contents.font.size = Login_Config::FONT_SIZE
        @base_window.contents.font.name = Login_Config::FONT_NAME
        @base_window.contents.font.bold = Login_Config::FONT_BOLD
        @base_window.contents.font.italic = Login_Config::FONT_ITALIC
        @base_window.contents.font.color = Login_Config::COLOR_WHITE
        @color = @base_window.contents.font.color
     
        #Draw shadow
        if Login_Config::SHADOW == true
          if @color == Login_Config::COLOR_BLACK
            @base_window.contents.font.color = Login_Config::COLOR_WHITE
            @base_window.contents.draw_text(1, 1, 60, 22, Login_Config::USER)
            @base_window.contents.draw_text(1, 23, 60, 22, Login_Config::PASS)
            @save_text  = @base_window.contents.draw_text(21, 54, 60, 32, Login_Config::SAVE)
            @base_window.contents.font.color = Login_Config::COLOR_BLACK
          else
            @base_window.contents.font.color = Login_Config::COLOR_BLACK
            @base_window.contents.draw_text(1, 1, 60, 22, Login_Config::USER)
            @base_window.contents.draw_text(1, 23, 60, 22, Login_Config::PASS)
            @save_text  = @base_window.contents.draw_text(21, 54, 60, 32, Login_Config::SAVE)
            @base_window.contents.font.color = Login_Config::COLOR_WHITE
          end
        end
     
        #Draw text
        @base_window.contents.draw_text(0, 0, 60, 22, Login_Config::USER)
        @base_window.contents.draw_text(60, 0, 60, 22, Login_Config::PASS)
     
        #Draw text_box
        @user_text = Text_Box.new(@base_window, 10, 20, 130, 20, 1)
        @pass_text = Text_Box.new(@base_window, 150, 20, 130, 20, 1)
        @pass_text.hide = true
     
        #Draw buttons
        @login_button = Button.new(@base_window, 294, 20, Login_Config::LOGIN) {login}
        @register_button = Button.new(@base_window, 345, 20, Login_Config::REGISTER) {register}
     
        #Draw CheckBox
        @save_login = Check_Box.new(@base_window, 12, 78)
        @save_text  = @base_window.contents.draw_text(20, 53, 60, 32, Login_Config::SAVE)
     
        if @pass_text.text == "" or @user_text.text == ""
          load_user
        end
     
        # Graphic Transition.
        Graphics.transition
        Network::Main.retrieve_version
        loop do
          Network::Base.update
          update
          break if $scene != self
        end
        # Freeze Graphics
        Graphics.freeze
     
        # Dispose stuff
        @background.dispose
        @base_window.dispose
      end
   
      #--------------------------------------------------------------------------
      #  Update
      #--------------------------------------------------------------------------
      def update
        @base_window.update
        update_press
      end
   
      #--------------------------------------------------------------------------
      # * Update Tab
      #--------------------------------------------------------------------------
      def update_press
        if Input.triggerd?(Input::DN) or Input.triggerd?(Input::Tab) and @user_text.active == true
          @user_text.active = false
          @pass_text.active = true
          @user_text.refresh
        elsif Input.triggerd?(Input::UPs) or Input.triggerd?(Input::Tab) and @user_text.active == false
          @user_text.active = true
          @pass_text.active = false
          @pass_text.refresh
        elsif Input.triggerd?(Input::Enter)
          login
        end
      end
   
      #--------------------------------------------------------------------------
      # * Save user
      #--------------------------------------------------------------------------
      def save_user
        if @save_login.checked == true
          @save = [@user_text.text, @pass_text.text]
          file = File.open(Login_Config::USER_FILE, "wb")
          Marshal.dump(@save, file)
          file.close
        end
      end
   
      #--------------------------------------------------------------------------
      # * Load user
      #--------------------------------------------------------------------------
      def load_user
        if FileTest.exist?(Login_Config::USER_FILE)
          file = File.open(Login_Config::USER_FILE, "rb")
          @save = Marshal.load(file)
          file.close
          @user_text.text = @save[0]
          @pass_text.text = @save[1]
          @save_login.value = true
        end
      end   
   
      #--------------------------------------------------------------------------
      # Register
      #--------------------------------------------------------------------------
      def register
$scene = Scene_Register.new
end
   
      #--------------------------------------------------------------------------
      # Login
      #--------------------------------------------------------------------------
      def login
        if Network::Main.user_exist?(@user_text.text) == true
          @user = @user_text.text
          @pass = @pass_text.text
          save_user
          Network::Main.send_login(@user, @pass)
        else
          print Login_Config::ERROR[0]
        end
      end
   
      #--------------------------------------------------------------------------
      #  Set Status Text
      #--------------------------------------------------------------------------
      def set_status(status)
        @base_window.contents.clear
        @base_window.set_text2(status, 250, 34)
      end
    end
5- Em baixo desse script adicione um novo com o nome: [SC] Scene_Register
6- Adicione isso nele:
Spoiler:
Código:
#==============================================================================
    # ** Scene_Login
    #------------------------------------------------------------------------------
    # By Paulo Soreto
    #==============================================================================
   
    #Module Config
    module Register_Config
      #Scene configuration
      BACKGROUND = 'Registro'
   
      #Window configuration
      BASE_WIDTH = 300                      #Width
      BASE_HEIGHT = 200                    #Heigh
      BASE_X = 640 / 2 - BASE_HEIGHT + 10  #X position
      BASE_Y = 600 / 2 - BASE_WIDTH / 2    #Y position
      WINDOWSKIN = ''              #Self windowskin
      OPACITY = 100                        #Window opacity
   
      #Font configuration
      FONT_NAME = 'Arial'                          #Name
      FONT_SIZE = 14                                #Size
      FONT_BOLD = true                              #Bold
      FONT_ITALIC = false                          #Italic
      COLOR_WHITE = Color.new(255, 255, 255)        #Color white
      COLOR_BLACK = Color.new(0, 0, 0)              #Color black
      SHADOW = true
   
      #Window texts
      USER = ""    #User text
      PASS = ""    #Password text
      SAVE = ""      #Save text
   
      #Buttons
      LOGIN = "Voltar"      #Login button
      REGISTER = "Registrar" #Register button
   
      #Depuration
      ERROR = ["Usuário não existe",      #Error 0
              "Login e senha iguais",      #Error 1
              "Login muito curto",        #Error 2
              "Senha muito curta",  #Error 3
              "Usuário já existe"]              #Error 4
     
      #User file
      USER_FILE = 'Account.rxdata'
    end
   
    class Scene_Register
      def main 
        #Make a background
        @background = Sprite.new
        @background.bitmap = RPG::Cache.title(Register_Config::BACKGROUND) 
        #Make a base window
        @base_window = Window_Dummys.new(Register_Config::BASE_X, Register_Config::BASE_Y, Register_Config::BASE_WIDTH, Register_Config::BASE_HEIGHT)
        @base_window.back_opacity = Register_Config::OPACITY
        @base_window.contents = Bitmap.new(@base_window.width - 32, @base_window.height - 32)
        @base_window.windowskin = RPG::Cache.windowskin(Register_Config::WINDOWSKIN)
        @base_window.contents.clear
     
        #Config :: Text
        @base_window.contents.font.size = Register_Config::FONT_SIZE
        @base_window.contents.font.name = Register_Config::FONT_NAME
        @base_window.contents.font.bold = Register_Config::FONT_BOLD
        @base_window.contents.font.italic = Register_Config::FONT_ITALIC
        @base_window.contents.font.color = Register_Config::COLOR_WHITE
        @color = @base_window.contents.font.color
     
        #Draw shadow
        if Register_Config::SHADOW == true
          if @color == Register_Config::COLOR_BLACK
            @base_window.contents.font.color = Register_Config::COLOR_WHITE
            @base_window.contents.draw_text(1, 1, 60, 22, Register_Config::USER)
            @base_window.contents.draw_text(1, 23, 60, 22, Register_Config::PASS)
            @base_window.contents.font.color = Register_Config::COLOR_BLACK
          else
            @base_window.contents.font.color = Register_Config::COLOR_BLACK
            @base_window.contents.draw_text(1, 1, 60, 22, Register_Config::USER)
            @base_window.contents.draw_text(1, 23, 60, 22, Register_Config::PASS)
            @save_text  = @base_window.contents.draw_text(21, 54, 60, 32, Register_Config::SAVE)
            @base_window.contents.font.color = Register_Config::COLOR_WHITE
          end
        end
     
     
        #Draw text_box
        @user_text = Text_Box.new(@base_window, 120, 25, 130, 20, 1)
        @pass_text = Text_Box.new(@base_window, 120, 52, 130, 20, 1)
        @pass_text.hide = true
     
        #Draw buttons
     
        @register_button = Button.new(@base_window, 152, 85, Register_Config::REGISTER) {register}
        @login_button = Button.new(@base_window, 155, 125, Register_Config::LOGIN) {login}
     
     
        #Draw CheckBox
        @save_login = Check_Box.new(@base_window, 100, 158)
        @save_text = @base_window.contents.draw_text(110, 133, 60, 32, Login_Config::SAVE)
   
     
        # Graphic Transition.
        Graphics.transition
        Network::Main.retrieve_version
        loop do
          Network::Base.update
          update
          break if $scene != self
        end
        # Freeze Graphics
        Graphics.freeze
     
        # Dispose stuff
        @background.dispose
        @base_window.dispose
      end
   
      #--------------------------------------------------------------------------
      #  Update
      #--------------------------------------------------------------------------
      def update
        @base_window.update
        update_press
      end
   
      #--------------------------------------------------------------------------
      # * Update Tab
      #--------------------------------------------------------------------------
      def update_press
        if Input.triggerd?(Input::DN) or Input.triggerd?(Input::Tab) and @user_text.active == true
          @user_text.active = false
          @pass_text.active = true
          @user_text.refresh
        elsif Input.triggerd?(Input::UPs) or Input.triggerd?(Input::Tab) and @user_text.active == false
          @user_text.active = true
          @pass_text.active = false
          @pass_text.refresh
        elsif Input.triggerd?(Input::Enter)
          login
        end
      end
   
      #--------------------------------------------------------------------------
      # * Save user
      #--------------------------------------------------------------------------
      def save_user
        if @save_login.checked == true
          @save = [@user_text.text, @pass_text.text]
          file = File.open(Register_Config::USER_FILE, "wb")
          Marshal.dump(@save, file)
          file.close
        end
      end
   
      #--------------------------------------------------------------------------
      # * Load user
      #--------------------------------------------------------------------------
      def load_user
        if FileTest.exist?(Register_Config::USER_FILE)
          file = File.open(Register_Config::USER_FILE, "rb")
          @save = Marshal.load(file)
          file.close
          @user_text.text = @save[0]
          @pass_text.text = @save[1]
          @save_login.value = true
        end
      end   
   
      #--------------------------------------------------------------------------
      # Register
      #--------------------------------------------------------------------------
      def register
###############
        if not Network::Main.user_exist?(@user_text.text)
          if @user_text.text != @pass_text.text
            if @user_text.text.size >= 4
              if @pass_text.text.size >= 4
                save_user
                Network::Main.send_register(@user_text.text, @pass_text.text)
                Network::Main.send_login(@user_text.text, @pass_text.text)
              else
              print Register_Config::ERROR[3]
              end
            else
              print Register_Config::ERROR[2]
            end
          else
            print Register_Config::ERROR[1]
          end
        else
          print Register_Config::ERROR[4]
        end
      end
   
      #--------------------------------------------------------------------------
      # Login
      #--------------------------------------------------------------------------
      def login
        $scene = Scene_Login.new
      end
   
      #--------------------------------------------------------------------------
      #  Set Status Text
      #--------------------------------------------------------------------------
      def set_status(status)
        @base_window.contents.clear
        @base_window.set_text2(status, 250, 34)
      end
    end
7- Salve essa imagem na pasta Titles com o nome: Login
Spoiler:
8- Salve essa imagem tambem na pasta titles com o nome: Registro
Spoiler:

Creditos
Darkmel fez
E a min por mostrar a vocês


_________________
[Você precisa estar registrado e conectado para ver este link.]
Ver perfil do usuário

2 Re: SceneLogin + Register em Sex Out 19, 2012 9:15 pm

vlwpor disponibilisar xD eu uso essa ae é boa pro meu game o/

Ver perfil do usuário http://liferpgmakerv2.forumeiros.com

3 Re: SceneLogin + Register em Sab Out 20, 2012 9:16 pm

Muito boa é que eu presisava 1+REP


_________________

Twisted Evil Leite do Mal Twisted Evil

Eu Sigo
Ver perfil do usuário

4 Re: SceneLogin + Register em Seg Out 22, 2012 12:44 pm

Login magnifico mais vou utilizar outro do darkmel.
Ja vi este login mais de varias vezes e ainda bem que estou revendo kk.
Gostei !

Ver perfil do usuário http://www.ageofdragons.e-mf.net

Conteúdo patrocinado


Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum