Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Criando Scene_Login/Register
+4
kaiquez
RD12
Daniel Carvalho
Paulo Soreto
8 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Tutoriais
Página 1 de 2
Página 1 de 2 • 1, 2
Criando Scene_Login/Register
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.
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 xDEntã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
Galera,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
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
No código do botão faça a mesma coisa, porém ponha register no lugar de self.
sei que disse que iria fazer uma tela de registro separada, mas
infelizmente meu tempo é curto, mas é só usar a base como dessa scene :)
Agora vou disponibilizar o código completo para vocêsQuarto: 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
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
- 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
ComoNoob 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!
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:
https://i.imgur.com/0Tm0C.png
_________________
Re: Criando Scene_Login/Register
Gostei!
é legal diferencia bastante da do master, vou usar
+1cred
é legal diferencia bastante da do master, vou usar
+1cred
Daniel Carvalho- Ocasional
- Mensagens : 231
Créditos : 19
Ficha do personagem
Nível: 1
Experiência:
(0/50)
Vida:
(30/30)
Re: Criando Scene_Login/Register
Bom tutorial. Só que ta bem simples, exibe as mensagens em janela. A minha scene_login se diferencia pois eu boto os botoes e textbox na window, em vez de por na scene. +1
Re: Criando Scene_Login/Register
RD: Os botões estão na window .-.
Mesmo assim, isso foi só uma base mesmo, porque a do master é bem grande e eu geralmente ficava perdido nela .-.
Mesmo assim, isso foi só uma base mesmo, porque a do master é bem grande e eu geralmente ficava perdido nela .-.
_________________
Re: Criando Scene_Login/Register
ah pensei q era da scene akele codigo, eu nao li muito. No master fica na scene, mas então somos dois que acha melhor por na window xD.
A do master é grande, embaralhada, é difícil de entender mesmo.
A do master é grande, embaralhada, é difícil de entender mesmo.
Re: Criando Scene_Login/Register
RD: Eu errei, os botões ficam dispostos sim na scene :S
Afinal, não tem como eu adiciona-los direto na window da maneira como fiz a scene_login. Eu usei a window_base, não usei uma janela pronta e específica pro login :S
Afinal, não tem como eu adiciona-los direto na window da maneira como fiz a scene_login. Eu usei a window_base, não usei uma janela pronta e específica pro login :S
_________________
Re: Criando Scene_Login/Register
LEgal!
Ficou bem simples, mas ótimo!!
+credito
Ficou bem simples, mas ótimo!!
+credito
_________________
Vamos lá pessoal entre e cadastre-se!
kaiquez- Semi-Experiente
- Mensagens : 116
Créditos : 2
Re: Criando Scene_Login/Register
Vlw ai gente xD
Vou tentar fazer hoje a tarde um separado pra scene_register...
AVISO: Para quem está usando outro np, porém com os widgets do np master, o comando .hide não funcionará.
Vou tentar fazer hoje a tarde um separado pra scene_register...
AVISO: Para quem está usando outro np, porém com os widgets do np master, o comando .hide não funcionará.
_________________
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [NPM4.0] SceneLogin/Register
» LOGIN/REGISTER
» [30.04.13] Scene_Login/Register Netplay Master v4
» [NPM4] Scene_Login / Register com Abas separadas
» Criando uma quest.
» LOGIN/REGISTER
» [30.04.13] Scene_Login/Register Netplay Master v4
» [NPM4] Scene_Login / Register com Abas separadas
» Criando uma quest.
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Tutoriais
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos