Últimos assuntos
Quem está conectado?
Há 1 usuário online :: 0 registrados, 0 invisíveis e 1 visitante Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 50 em Ter Out 29, 2024 4:19 am
Top dos mais postadores
Warrior_Maker | ||||
Tayllor | ||||
KingSora | ||||
~FullzDied | ||||
SynysterGates | ||||
NeeTo | ||||
Alumary | ||||
SameKage | ||||
samuel250 | ||||
Vitor-DR. |
SceneLogin + Register
2 participantes
TutoRPG :: Rpg Maker :: Rpg Maker XP :: Scripts :: Scripts para Netplays
Página 1 de 1
SceneLogin + Register
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
- 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
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
- Spoiler:
- Spoiler:
Creditos
Darkmel fez
E a min por mostrar a vocês
Re: SceneLogin + Register
Muito interessante!Esta de parabéns por ter achado este sistema e postado aqui +1 cred
KingSora- Moderador Global
- Mensagens : 102
Cash : 38
Créditos : 11
Data de inscrição : 25/08/2012
Idade : 25
Localização : Itajuba
TutoRPG :: Rpg Maker :: Rpg Maker XP :: Scripts :: Scripts para Netplays
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ter Set 10, 2013 12:30 pm por lauk
» Sistema de Guild (do Eduardo)
Ter maio 14, 2013 8:54 pm por Khaws
» Sistema de Guild
Ter maio 14, 2013 6:48 pm por Khaws
» Teco Fabrica
Sáb Mar 23, 2013 8:18 am por ~FullzDied
» Apresentaçao
Sex Mar 01, 2013 6:58 pm por Sweeps
» Editando nick
Sex Mar 01, 2013 6:35 pm por Sweeps
» Sistema De Vila
Sex Fev 01, 2013 4:59 pm por ~FullzDied
» alguns tilesets
Sáb Dez 22, 2012 8:42 pm por Diegoslstuto
» Tilesets de natureza
Sáb Dez 22, 2012 8:40 pm por Diegoslstuto
» Olá, vim para trazer sistemas e muitas outras coisas
Qui Dez 13, 2012 3:09 pm por ~FullzDied
» [Recrutando] Bleach Online Dark Saga
Sáb Nov 10, 2012 8:23 pm por Hunter™
» Dragon Ball Fox
Dom Out 28, 2012 7:55 am por NeeTo
» Tutorial Mapper - Como avaliar um mapa
Sáb Out 13, 2012 12:45 pm por NeeTo
» Life RPG Maker 2.0
Qui Out 11, 2012 4:02 pm por SynysterGates
» Fórum decaido
Qui Out 11, 2012 2:16 pm por SynysterGates
» Dragon Ball Elite
Qua Out 10, 2012 3:07 pm por KingSora
» Auto Ataque por checkbox
Ter Out 09, 2012 7:35 pm por Warrior_Maker
» Pokémon Online - Xstrond Games BETA
Ter Out 02, 2012 10:29 pm por thales12
» Auto Correr Por CheckBox
Ter Out 02, 2012 10:03 pm por thales12
» Auto Loot para Eclipse Origins
Ter Out 02, 2012 10:02 pm por thales12
» Ganhar Item em Certo Nivel
Ter Out 02, 2012 9:58 pm por thales12
» SK - Lógica de Programação - Aula 3
Qua Set 26, 2012 7:05 pm por SameKage
» Distrito Rpg Maker 2.0 no Ar !!
Dom Set 23, 2012 7:59 pm por SameKage
» Sistemas que preciso
Sex Set 21, 2012 7:28 pm por KingSora
» [ALL] Títulos nos NPC's 1.0
Sex Set 21, 2012 5:38 pm por lucas100vzs
» Vídeo Tutorial Mapper Caverna - MMORPG 2D
Qui Set 20, 2012 8:16 pm por KingSora
» Sistema de plantar e colher
Ter Set 18, 2012 10:00 pm por SameKage
» Perfect engine
Ter Set 18, 2012 9:59 pm por SameKage
» O Seu pirata chegou !
Dom Set 16, 2012 7:58 pm por SameKage
» Novidades para tutorpg o que acha?
Sáb Set 15, 2012 7:03 pm por Guilherme Azevedo
» [ZIG ZAG GAMES] Age of Dragons
Sáb Set 15, 2012 1:56 pm por Guilherme Azevedo
» Me ajudem Pliss
Sex Set 14, 2012 9:48 am por KingSora
» SK - HTML - Aula 1
Qui Set 13, 2012 12:35 pm por SameKage
» Forum Decaindo
Ter Set 11, 2012 1:52 pm por Tayllor
» Meus 3 mapas
Ter Set 11, 2012 11:26 am por KingSora
» [Apresentação] Okumura-Rin~
Seg Set 10, 2012 5:43 pm por Warrior_Maker
» 3 primeiras sprites
Sex Set 07, 2012 6:19 pm por KingSora
» [EEB] Comando para Salvar Seu Game
Sex Set 07, 2012 5:06 pm por SynysterGates
» [Off] Olha Suas PM Tayllor
Sex Set 07, 2012 4:49 pm por Tayllor
» Fabrica da JCG Corp: Technology in designer [Fechada
Qui Set 06, 2012 6:15 pm por KingSora