Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Pokémon Genesis Online! (PGO)
Qua 05 Jul 2017, 17:08 por Lexar

» Tileset Converter to MV
Sex 12 Maio 2017, 13:07 por Douggi

» [Dúvida] Como tirar a porcentagem de esquiva
Ter 09 Maio 2017, 22:15 por Neil Flame Runner

» Pack Resources, Sprites e etc
Qua 23 Dez 2015, 09:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Ter 22 Dez 2015, 08:14 por ::KimMax::

» Fantasy Art Online
Dom 18 Out 2015, 16:42 por daviih123

» Você vai ter medo do Nerve gear?
Sab 25 Jul 2015, 16:02 por Kirito-kun

» O Barato é louco
Sab 27 Jun 2015, 15:26 por Halt

» Download RPG Maker 2000 + RTP em português
Qui 21 Maio 2015, 19:28 por Wismael

» Divulgando meu grupo e página do Facebook
Ter 19 Maio 2015, 13:06 por Halt


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

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Criando Scene_Login/Register em Qua 07 Nov 2012, 19:38

Soreto

avatar
Diva
Diva
Se você for um noob idiota que visitou o tópico para pega o
script, por favor volte para a página anterior, pois se apenas copiar e
colar o script, irão aparecer alguns erros, e você vai postar no tópico
uma dúvida estúpida que foi esclarecida no tópico!
Caso seja alguém
que esteja disposte a entender a base da scene login e register, leia o
tópico completo pois existem bugs em certos netplays e os mesmos podem
ser resolvidos com o conteúdo do tópico.

Spoiler:

Iae
pessoal, bem, eu tava dando uma olhada nos projetos aqui do fórum e me
deparei com uma característica comum na maioria dos jogos online
presente, a Scene_Login, praticamente todos estão
usando a padrão. Eu não sei se é porque não sabem como modificar ou se é
porque gostaram da padrão e tals xD

Enfim, nesse tutorial estarei explicando como criar uma Scene_Login para o qualquer netplay baseado no 1.7 e que, obrigatoriamente possua widgets
Só pra dar uma forcinha a mais eu vou fazer uma Scene_Register comentada pra vocês xD
Então vamos começar...

Primeiro:
Abra o editor de scripts, podem observar que há uma sequência de
scripts com o [SC] no começo do nome, então, abaixo desses crie outo
script com o nome de [SC] Scene_Login2. Ótimo, a primeira parte da nossa
scene já está criada xD
Agora começaremos a programar, insera o seguinte código no script:
Código:
#-------------------------------------------------------------------------------------------------
# * Scene_Login
#-------------------------------------------------------------------------------------------------
# By Soreto
#-------------------------------------------------------------------------------------------------

class Scene_Login
    def main
     # Criaremos a janela de login
     @window = Window_Base.new(230, 330, 180, 160)
     @window.contents = Bitmap.new(@window.width - 32, @window.height - 32)
    
     # Configuramos a fonte
     @window.contents.font.name = 'Verdana'    # Nome da fonte
     @window.contents.font.size = 14        # Tamanho da fonte
    
     # Iniciaremos o loop
     Graphics.transition
     Network::Main.retrieve_version
     loop do
        Network::Base.update
        update
        break if $scene != self
     end
     Graphics.freeze
    
     # Dispose
     @window.dispose
    end
   
    #----------------------------------------------------------------------------
    # * Update
    #----------------------------------------------------------------------------
    def update
     @window.update
    end
   
    #----------------------------------------------------------------------------
    # * Login
    #----------------------------------------------------------------------------
    def login
     # Depois adicionaremos os comandos
    end
   
    #----------------------------------------------------------------------------
    # * Update
    #----------------------------------------------------------------------------
    def register
     # Depois adicionaremos os comandos
    end
   
#----------------------------------------------------------------------------
# * Fim da classe
#----------------------------------------------------------------------------
end
Segundo: Ainda não testem o script pois só montei a base para verem os primeiros passos xD
Como
podem observar, eu fiz uso da Window_Base para criar uma janela (a de
login), eu declarei a variável @window como a janela de login, então
sempre que quiserem adicionar um texto ou algo do tipo utilizem a
variável acima no lugar do self.
AVISO: Caso esteja utilizando o netplay master, deve se usar Window_Dummys.new no lugar de Window_Base.new.
Agora faremos umas pequenas edições, como adicionar um os textos, text_box e buttons.
Na def main, dê enter na linha 17, depois adicione o seguinte código:
Código:
# Desenhando os textos
     @window.contents.draw_text(40, 20, 60, 22, "User:")
     @window.contents.draw_text(40, 42, 60, 22, "Pass:")
    
     # Desenhando botões
     @login_button = Button.new(@window, 8, 65, "Login") {self}
     @register_button = Button.new(@window, 70, 65, "Register") {self}
    
     # Desenhando caixas de texto
     @login_text  = Text_Box.new(@window, 40, 20, 100, 20, 1)
     @pass_text  = Text_Box.new(@window, 40, 42, 100, 20, 1)
Antes de começar o terceiro passo, recomendo que testem a scene para ajustarem as posições dos textos e demais [Você precisa estar registrado e conectado para ver esta imagem.]
Terceiro: Agora com tudo ajustado, nas posições corretas já podemos começar a editar as funções dos botões e demais =D
Opa...
parece que me esqueci de um código... Se você realmente testou a scene,
percebeu que o texto da caixa de senha está visível e isso não pode
acontecer, então para esconde-lo você deve adicionar o seguinte código
abaixo de @pass_text...
Código:
@register_text.hide
Caso você esteja utilizando o netplay master, na linha 28 (@pass_text...), você substituirá o Text_Box.new por Pass_Box.new.
Farei agora o código que será adicionado na def login, ou seja, o código que te conectará ao jogo xD
Agora
criaremos o set_status, que é de certa forma obrigatório nos netplays
com base no 1.7 pois ele envia o estado do server (creio que seja isso,
corrijam-me caso eu esteja errado).
Abaixo da def login adicione isso:
Código:
#----------------------------------------------------------------------------
    # * Set Status
    #----------------------------------------------------------------------------
    def set_satus(status)
     @window.contents.clear
     @window.set_text2(status, 500, 400)
    end
Agora, vá até o código do botão de login, entre as chaves "{}" estará escrito self, apague o self e digite login.
No código do botão faça a mesma coisa, porém ponha register no lugar de self.
Galera,
sei que disse que iria fazer uma tela de registro separada, mas
infelizmente meu tempo é curto, mas é só usar a base como dessa scene :)
Quarto: Vamos criar a função de registro. Dentro da def register adicione o seguinte código:
Código:
    if Network::Main.user_exist?(@login_text.text) == true
     print "Usuário já existe"
    else
     Network::Main.send_register(@login_text.text, @pass_text.text)
    end
Pronto, agora teste, edite, faça o que for xD (mas mantenha os créditos).
Agora vou disponibilizar o código completo para vocês [Você precisa estar registrado e conectado para ver esta imagem.]
Netplay:
Código:
#-------------------------------------------------------------------------------------------------
# * Scene_Login
#-------------------------------------------------------------------------------------------------
# By Soreto
#-------------------------------------------------------------------------------------------------

class Scene_Login
def main
    # Criaremos a janela de login
    @window = Window_Base.new(230, 330, 180, 160)
    @window.contents = Bitmap.new(@window.width - 32, @window.height - 32)
   
    # Configuramos a fonte
    @window.contents.font.name = 'Verdana'    # Nome da fonte
    @window.contents.font.size = 14        # Tamanho da fonte
    @window.contents.bold = true        # Negrito
   
    # Desenhando os textos
    @window.contents.draw_text(40, 20, 60, 22, "User:")
    @window.contents.draw_text(40, 42, 60, 22, "Pass:")
   
    # Desenhando botões
    @login_button = Button.new(@window, 8, 65, "Login") {login}
    @register_button = Button.new(@window, 70, 65, "Register") {register}
   
    # Desenhando caixas de texto
    @login_text  = Text_Box.new(@window, 40, 20, 100, 20, 1)
    @pass_text  = Text_Box.new(@window, 40, 42, 100, 20, 1)
    @pass_text.hide
   
    # Iniciaremos o loop
    Graphics.transition
    Network::Main.retrieve_version
    loop do
     Network::Base.update
     update
     break if $scene != self
    end
    Graphics.freeze
   
    # Dispose
    @window.dispose
end

#----------------------------------------------------------------------------
# * Update
#----------------------------------------------------------------------------
def update
    @window.update
end

#----------------------------------------------------------------------------
# * Login
#----------------------------------------------------------------------------
def login
    Network::Main.send_login(@login_text.text, @pass_text.text)
$scene = Scene_Title.new
end

#----------------------------------------------------------------------------
# * Set Status
#----------------------------------------------------------------------------
def set_satus(status)
    @window.contents.clear
    @window.set_text2(status, 500, 400)
end

#----------------------------------------------------------------------------
# * Register
#----------------------------------------------------------------------------
def register
    if Network::Main.user_exist?(@login_text.text) == true
     print "Usuário já existe"
    else
     Network::Main.send_register(@login_text.text, @pass_text.text)
print "Usuário registrado com sucesso"
    end
end
#----------------------------------------------------------------------------
# * Fim da classe
#----------------------------------------------------------------------------
end
Netplay Master:
Código:
#-------------------------------------------------------------------------------------------------
# * Scene_Login
#-------------------------------------------------------------------------------------------------
# By Soreto
#-------------------------------------------------------------------------------------------------

class Scene_Login
def main
    # Criaremos a janela de login
    @window = Window_Dummys.new(230, 330, 180, 160)
    @window.contents = Bitmap.new(@window.width - 32, @window.height - 32)
   
    # Configuramos a fonte
    @window.contents.font.name = 'Verdana'    # Nome da fonte
    @window.contents.font.size = 14        # Tamanho da fonte
   
    # Desenhando os textos
    @window.contents.draw_text(40, 20, 60, 22, "User:")
    @window.contents.draw_text(40, 42, 60, 22, "Pass:")
   
    # Desenhando botões
    @login_button = Button.new(@window, 8, 65, "Login") {login}
    @register_button = Button.new(@window, 70, 65, "Register") {register}
   
    # Desenhando caixas de texto
    @login_text  = Text_Box.new(@window, 40, 20, 100, 20, 1)
    @pass_text  = Pass_Box.new(@window, 40, 42, 100, 20, 1)
   
    # Iniciaremos o loop
    Graphics.transition
    Network::Main.retrieve_version
    loop do
     Network::Base.update
     update
     break if $scene != self
    end
    Graphics.freeze
   
    # Dispose
    @window.dispose
end

#----------------------------------------------------------------------------
# * Update
#----------------------------------------------------------------------------
def update
    @window.update
end

#----------------------------------------------------------------------------
# * Login
#----------------------------------------------------------------------------
def login
    Network::Main.send_login(@login_text.text, @pass_text.text)
$scene = Scene_Title.new
end

#----------------------------------------------------------------------------
# * Set Status
#----------------------------------------------------------------------------
def set_satus(status)
    @window.contents.clear
    @window.set_text2(status, 500, 400)
end

#----------------------------------------------------------------------------
# * Register
#----------------------------------------------------------------------------
def register
    if Network::Main.user_exist?(@login_text.text) == true
     print "Usuário já existe"
    else
     Network::Main.send_register(@login_text.text, @pass_text.text)
print "Usuário registrado com sucesso"
    end
end

#----------------------------------------------------------------------------
# * Fim da classe
#----------------------------------------------------------------------------
end

Noob que não leu o tópico: A minha ficou feia, os textos e demais estão desorganizados...
Eu: Eu poderia muito facilmente te mandar ir siriricar no beco, mas a única coisa que digo é: Leia o tópico!
Como
eu disse no tópico, você terá que ajustar tudo ao seu gosto, pois
realmente só adicionei os widgets a tela, não me preocupei em ajustar
pois isso foi um tutorial, não estou disponibilizando script pronto.
E só pra mostra o que fiz com a mesma scene:
[Você precisa estar registrado e conectado para ver este link.]
Estou disposto a resolver qualquer dúvida com relação ao tópico desde que a mesma não tenha sido explicada no mesmo.

Ver perfil do usuário

2 Re: Criando Scene_Login/Register em Qua 07 Nov 2012, 20:25

LeonScottKennedy

avatar
Administrador
Administrador
Bom, já que isto é um tutorial de programação....

Movido para a área correta.

@On

Bom tutorial, testei aqui e ficou maravilhas :~]

Mesmo eu não usando mais o maker vai ajudar muita gente que precisar de chats diferenciados daqueles com o NPMV3


__________________________________________
[Você precisa estar registrado e conectado para ver esta imagem.]

"Quando não houver mais espaço no inferno os mortos andaram na Terra" - Nem sei o autor :]
Ver perfil do usuário

3 Re: Criando Scene_Login/Register em Qua 07 Nov 2012, 20:42

Halt

avatar
Administrador
Administrador
É um tutorial para Netplay '-'
Movido para a área correta.


__________________________________________
[Você precisa estar registrado e conectado para ver este link.]
Ei Convidado, sim você mesmo! Ajude o fórum à crescer postando coisas úteis, dê sugestões para melhorar-mos e divulgue o fórum.

Step inside, see the devil in I.

Gifts-
[Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.]

Zerei a internet
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

4 Re: Criando Scene_Login/Register em Qui 08 Nov 2012, 11:17

LeonScottKennedy

avatar
Administrador
Administrador
Mesmo assim.Isto é um tutorial de programação de ruby, mesmo sendo um netplay, é um TUTORIAL.Então deveria estar la, mas você está sempre me contrariando mesmo...


__________________________________________
[Você precisa estar registrado e conectado para ver esta imagem.]

"Quando não houver mais espaço no inferno os mortos andaram na Terra" - Nem sei o autor :]
Ver perfil do usuário

5 Re: Criando Scene_Login/Register em Qui 08 Nov 2012, 11:33

Halt

avatar
Administrador
Administrador
Véi, para de pagar de coitado '-'
Leia o conteúdo, está ensinando à crian scene login e register PARA NETPLAY .-.


__________________________________________
[Você precisa estar registrado e conectado para ver este link.]
Ei Convidado, sim você mesmo! Ajude o fórum à crescer postando coisas úteis, dê sugestões para melhorar-mos e divulgue o fórum.

Step inside, see the devil in I.

Gifts-
[Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.]

Zerei a internet
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

6 Re: Criando Scene_Login/Register em Qui 08 Nov 2012, 18:20

LeonScottKennedy

avatar
Administrador
Administrador
kkkk, não estou pagando de coitado.E você falou certo :]

Está ENSINANDO em um TUTORIAL

Significado de Tutorial

tutorial adj m+f (tutor+al) 1 Relativo a tutor. 2 Diz-se de ensino exercido por tutor.

Ensino.... netplays é no rpg maker e programado em RUBY.A área de Netplays servem para postar scripts de netplays.POSTAR.E a de aprendizagem, ENSINAR.

Quantas vezes eu vou precisar explicar isso?! Quer que eu desenhe? por favor...


__________________________________________
[Você precisa estar registrado e conectado para ver esta imagem.]

"Quando não houver mais espaço no inferno os mortos andaram na Terra" - Nem sei o autor :]
Ver perfil do usuário

7 Re: Criando Scene_Login/Register em Qui 08 Nov 2012, 18:22

Halt

avatar
Administrador
Administrador
Mel deos, leia a descrição da área de Netplays antes de sair cagando pelos dedos. Obrigado.

Poste aqui downloads de netplays, downloads de utilitários e tutoriais para netplays. Scripts netplays no subfórum "Scripts para Netplay".

Leia mais em: [Você precisa estar registrado e conectado para ver este link.]
Agora, por favor, comente algo do assunto do tópico. Caso fuja do assunto do tópico MAIS UMA VEZ sua mensagem será deletada.


__________________________________________
[Você precisa estar registrado e conectado para ver este link.]
Ei Convidado, sim você mesmo! Ajude o fórum à crescer postando coisas úteis, dê sugestões para melhorar-mos e divulgue o fórum.

Step inside, see the devil in I.

Gifts-
[Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.]

Zerei a internet
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

8 Re: Criando Scene_Login/Register em Sab 10 Nov 2012, 16:16

~Razor

avatar
Membro de Honra
Membro de Honra
tava mt prescisando disso vlw


__________________________________________
[Você precisa estar registrado e conectado para ver esta imagem.]

Principal Engine :Game Maker
Especialidade : Roteirista
Jogos: The old mine (Game Maker)
Site(Fórum): [Você precisa estar registrado e conectado para ver este link.]
Ver perfil do usuário http://lostmakers.web-rpg.com/

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte 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