Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function OpenLoginScreen()
- gui.EnableScreenClicker(true)
- LoginFrame = vgui.Create( "DFrame" )
- LoginFrame:SetSize( 300, 150 )
- LoginFrame:SetTitle( "Login" ) -- Change the title of the window to whatever you want
- LoginFrame:ShowCloseButton( true )
- LoginFrame:SetSizable( false )
- LoginFrame:SetDraggable( false )
- LoginFrame:SetBackgroundBlur( true )
- LoginFrame:MakePopup()
- LoginFrame:Center()
- local LoginPanel = vgui.Create( "DPanel", LoginFrame )
- LoginPanel:SetSize( 300- 20, 150 - 21- 20 )
- LoginPanel:SetPos( 10, 10 + 22 )
- LoginPanel.Paint = function() end
- local LoginUsername = vgui.Create( "DTextEntry", LoginPanel )
- LoginUsername:SetMultiline( false )
- LoginUsername:SetWidth( 260 )
- LoginUsername:SetPos( 10, 10 )
- LoginUsername:SetEditable( true )
- LoginUsername:SetText( "Username" )
- LoginUsername:SetTextColor( Color( 150, 150, 150, 255 ) )
- LoginUsername.DefaultText = true
- LoginUsername.OnGetFocus = function()
- if( !LoginUsername.DefaultText ) then return end
- LoginUsername.DefaultText = false
- LoginUsername:SetText( "" )
- LoginUsername:SetTextColor( Color( 0, 0, 0, 255 ) )
- end
- LoginUsername.OnLoseFocus = function()
- if( LoginUsername:GetValue() != "" ) then return end
- LoginUsername.DefaultText = true
- LoginUsername:SetText( "Username" )
- LoginUsername:SetTextColor( Color( 150, 150, 150, 255 ) )
- end
- LoginUsername.OnEnter = function()
- if( LoginUsername:GetValue() != "" and LoginPassword.__SpecialValue != "" ) then
- Login( LoginUsername:GetValue(), LoginPassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- elseif( LoginPassword ) then
- LoginPassword:RequestFocus()
- end
- end
- LoginUsername.OnKeyCodePressed = function( self, key )
- if( key == KEY_TAB ) then
- LoginFrame:FocusNext()
- end
- end
- local LoginPassword = vgui.Create( "DTextEntry", LoginPanel )
- LoginPassword:SetMultiline( false )
- LoginPassword:SetWidth( 260 )
- LoginPassword:SetPos( 10, 10 + 10 + LoginUsername:GetTall() )
- LoginPassword:SetEditable( true )
- LoginPassword:SetText( "Password" )
- LoginPassword:SetTextColor( Color( 150, 150, 150, 255 ) )
- LoginPassword.DefaultText = true
- LoginPassword.__SpecialValue = ""
- LoginPassword.OnGetFocus = function()
- if( !LoginPassword.DefaultText ) then return end
- LoginPassword.DefaultText = false
- LoginPassword:SetText( "" )
- LoginPassword:SetTextColor( Color( 0, 0, 0, 255 ) )
- end
- LoginPassword.OnLoseFocus = function()
- if( LoginPassword:GetValue() != "" ) then return end
- LoginPassword.DefaultText = true
- LoginPassword:SetText( "Password" )
- LoginPassword:SetTextColor( Color( 150, 150, 150, 255 ) )
- end
- LoginPassword.OnEnter = function()
- if( LoginUsername:GetValue() != "" and LoginPassword.__SpecialValue != "" ) then
- Login( LoginUsername:GetValue(), LoginPassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- elseif( LoginPassword ) then
- LoginUsername:RequestFocus()
- end
- end
- LoginPassword.OnTextChanged = function()
- -- Mask the box
- if( string.len( LoginPassword:GetValue() ) < string.len( LoginPassword.__SpecialValue ) ) then
- local n = string.len( LoginPassword.__SpecialValue ) - string.len( LoginPassword:GetValue() )
- LoginPassword.__SpecialValue = string.sub( LoginPassword.__SpecialValue, 0, -n - 1 )
- LoginPassword:SetValue( string.rep( "*", string.len( LoginPassword.__SpecialValue ) ) )
- else
- local len, value = string.len( LoginPassword:GetValue() ), ""
- LoginPassword.__SpecialValue = LoginPassword.__SpecialValue .. string.sub( LoginPassword:GetValue(), -1, -1 )
- LoginPassword:SetValue( string.rep( "*", len ) )
- end
- end
- local LoginLogin = vgui.Create( "DButton", LoginPanel )
- LoginLogin:SetPos( LoginPanel:GetWide() / 2 + 5, 10 + 10 + 10 + LoginUsername:GetTall() * 2 )
- LoginLogin:SetWidth( LoginPanel:GetWide() / 2 - 15 )
- LoginLogin:SetText( "Login" )
- LoginLogin.DoClick = function()
- if( LoginUsername.DefaultText ) then
- LoginUsername:RequestFocus()
- return false
- end
- if( LoginPassword.DefaultText ) then
- LoginPassword:RequestFocus()
- return false
- end
- Login( LoginUsername:GetValue(), LoginPassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- end
- local LoginCreate = vgui.Create( "DButton", LoginPanel )
- LoginCreate:SetPos( 10, 10 + 10 + 10 + LoginUsername:GetTall() * 2 )
- LoginCreate:SetWidth( LoginPanel:GetWide() / 2 - 15 )
- LoginCreate:SetText( "Create" )
- LoginCreate.DoClick = function()
- LoginPanel:SetVisible( false )
- LoginFrame:SetSize( 300, 150 + LoginUsername:GetTall() + 10 )
- local LoginCreatePanel = vgui.Create( "DPanel", LoginFrame )
- LoginCreatePanel:SetSize( 300 - 20, 150 + LoginUsername:GetTall() + 10 - 21 - 20 )
- LoginCreatePanel:SetPos( 10, 10 + 22 )
- LoginCreatePanel.Paint = function() end
- local LoginCreateUsername = vgui.Create( "DTextEntry", LoginCreatePanel )
- LoginCreateUsername:SetMultiline( false )
- LoginCreateUsername:SetWidth( 260 )
- LoginCreateUsername:SetPos( 10, 10 )
- LoginCreateUsername:SetEditable( true )
- LoginCreateUsername:SetText( "Username" )
- LoginCreateUsername:SetTextColor( Color( 150, 150, 150, 255 ) )
- LoginCreateUsername.DefaultText = true
- LoginCreateUsername.OnGetFocus = function()
- if( !LoginCreateUsername.DefaultText ) then return end
- LoginCreateUsername.DefaultText = false
- LoginCreateUsername:SetText( "" )
- LoginCreateUsername:SetTextColor( Color( 0, 0, 0, 255 ) )
- end
- LoginCreateUsername.OnLoseFocus = function()
- if( LoginCreateUsername:GetValue() != "" ) then return end
- LoginCreateUsername.DefaultText = true
- LoginCreateUsername:SetText( "Username" )
- LoginCreateUsername:SetTextColor( Color( 150, 150, 150, 255 ) )
- end
- LoginCreateUsername.OnEnter = function()
- if( LoginCreateUsername:GetValue() == "" ) then
- LoginCreateUsername:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue == "" ) then
- LoginCreatePassword:RequestFocus()
- return false
- elseif( LoginCreatePasswordRe.__SpecialValue == "" ) then
- LoginCreatePasswordRe:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue != LoginCreatePasswordRe.__SpecialValue ) then
- LoginCreatePassword:RequestFocus()
- return false
- else
- CreateUser( LoginCreateUsername:GetValue(), LoginCreatePassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- end
- end
- local LoginCreatePassword = vgui.Create( "DTextEntry", LoginCreatePanel )
- LoginCreatePassword:SetMultiline( false )
- LoginCreatePassword:SetWidth( 260 )
- LoginCreatePassword:SetPos( 10, 10 + 10 + LoginCreateUsername:GetTall() )
- LoginCreatePassword:SetEditable( true )
- LoginCreatePassword:SetText( "Password" )
- LoginCreatePassword:SetTextColor( Color( 150, 150, 150, 255 ) )
- LoginCreatePassword.DefaultText = true
- LoginCreatePassword.__SpecialValue = ""
- LoginCreatePassword.OnGetFocus = function()
- if( !LoginCreatePassword.DefaultText ) then return end
- LoginCreatePassword.DefaultText = false
- LoginCreatePassword:SetText( "" )
- LoginCreatePassword:SetTextColor( Color( 0, 0, 0, 255 ) )
- end
- LoginCreatePassword.OnLoseFocus = function()
- if( LoginCreatePassword:GetValue() != "" ) then return end
- LoginCreatePassword.DefaultText = true
- LoginCreatePassword:SetText( "Password" )
- LoginCreatePassword:SetTextColor( Color( 150, 150, 150, 255 ) )
- end
- LoginCreatePassword.OnEnter = function()
- if( LoginCreateUsername:GetValue() == "" ) then
- LoginCreateUsername:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue == "" ) then
- LoginCreatePassword:RequestFocus()
- return false
- elseif( LoginCreatePasswordRe.__SpecialValue == "" ) then
- LoginCreatePasswordRe:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue != LoginCreatePasswordRe.__SpecialValue ) then
- LoginCreatePassword:RequestFocus()
- return false
- else
- CreateUser( LoginCreateUsername:GetValue(), LoginCreatePassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- end
- end
- LoginCreatePassword.OnTextChanged = function()
- -- Mask the box
- if( string.len( LoginCreatePassword:GetValue() ) < string.len( LoginCreatePassword.__SpecialValue ) ) then
- local n = string.len( LoginCreatePassword.__SpecialValue ) - string.len( LoginCreatePassword:GetValue() )
- LoginCreatePassword.__SpecialValue = string.sub( LoginCreatePassword.__SpecialValue, 0, -n - 1 )
- LoginCreatePassword:SetValue( string.rep( "*", string.len( LoginCreatePassword.__SpecialValue ) ) )
- else
- local len, value = string.len( LoginCreatePassword:GetValue() ), ""
- LoginCreatePassword.__SpecialValue = LoginCreatePassword.__SpecialValue .. string.sub( LoginCreatePassword:GetValue(), -1, -1 )
- LoginCreatePassword:SetValue( string.rep( "*", len ) )
- end
- end
- local LoginCreatePasswordRe = vgui.Create( "DTextEntry", LoginCreatePanel )
- LoginCreatePasswordRe:SetMultiline( false )
- LoginCreatePasswordRe:SetWidth( 260 )
- LoginCreatePasswordRe:SetPos( 10, 10 + 10 + 10 + LoginCreateUsername:GetTall()* 2 )
- LoginCreatePasswordRe:SetEditable( true )
- LoginCreatePasswordRe:SetText( "Re-enter Password" )
- LoginCreatePasswordRe:SetTextColor( Color( 150, 150, 150, 255 ) )
- LoginCreatePasswordRe.DefaultText = true
- LoginCreatePasswordRe.__SpecialValue = ""
- LoginCreatePasswordRe.OnGetFocus = function()
- if( !LoginCreatePasswordRe.DefaultText ) then return end
- LoginCreatePasswordRe.DefaultText = false
- LoginCreatePasswordRe:SetText( "" )
- LoginCreatePasswordRe:SetTextColor( Color( 0, 0, 0, 255 ) )
- end
- LoginCreatePasswordRe.OnLoseFocus = function()
- if( LoginCreatePasswordRe:GetValue() != "" ) then return end
- LoginCreatePasswordRe.DefaultText = true
- LoginCreatePasswordRe:SetText( "Re-enter Password" )
- LoginCreatePasswordRe:SetTextColor( Color( 150, 150, 150, 255 ) )
- end
- LoginCreatePasswordRe.OnEnter = function()
- if( LoginCreateUsername:GetValue() == "" ) then
- LoginCreateUsername:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue == "" ) then
- LoginCreatePassword:RequestFocus()
- return false
- elseif( LoginCreatePasswordRe.__SpecialValue == "" ) then
- LoginCreatePasswordRe:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue != LoginCreatePasswordRe.__SpecialValue ) then
- LoginCreatePassword:RequestFocus()
- return false
- else
- CreateUser( LoginCreateUsername:GetValue(), LoginCreatePassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- end
- end
- LoginCreatePasswordRe.OnTextChanged = function()
- -- Mask the box
- if( string.len( LoginCreatePasswordRe:GetValue() ) < string.len( LoginCreatePasswordRe.__SpecialValue ) ) then
- local n = string.len( LoginCreatePasswordRe.__SpecialValue ) - string.len( LoginCreatePasswordRe:GetValue() )
- LoginCreatePasswordRe.__SpecialValue = string.sub( LoginCreatePasswordRe.__SpecialValue, 0, -n - 1 )
- LoginCreatePasswordRe:SetValue( string.rep( "*", string.len( LoginCreatePasswordRe.__SpecialValue ) ) )
- else
- local len, value = string.len( LoginCreatePasswordRe:GetValue() ), ""
- LoginCreatePasswordRe.__SpecialValue = LoginCreatePasswordRe.__SpecialValue .. string.sub( LoginCreatePasswordRe:GetValue(), -1, -1 )
- LoginCreatePasswordRe:SetValue( string.rep( "*", len ) )
- end
- end
- local LoginCreateChar = vgui.Create( "DButton", LoginCreatePanel )
- LoginCreateChar:SetPos( LoginCreatePanel:GetWide() / 2 + 5, 10 + 10 + 10 + 10 + LoginUsername:GetTall() * 3 )
- LoginCreateChar:SetWidth( LoginCreatePanel:GetWide() / 2 - 15 )
- LoginCreateChar:SetText( "Create" )
- LoginCreateChar.DoClick = function()
- if( LoginCreateUsername:GetValue() == "" ) then
- LoginCreateUsername:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue == "" ) then
- LoginCreatePassword:RequestFocus()
- return false
- elseif( LoginCreatePasswordRe.__SpecialValue == "" ) then
- LoginCreatePasswordRe:RequestFocus()
- return false
- elseif( LoginCreatePassword.__SpecialValue != LoginCreatePasswordRe.__SpecialValue ) then
- LoginCreatePassword:RequestFocus()
- return false
- else
- CreateUser( LoginCreateUsername:GetValue(), LoginCreatePassword.__SpecialValue ) -- Change the function name to whatever it is in your code
- end
- end
- local LoginCreateCancel = vgui.Create( "DButton", LoginCreatePanel )
- LoginCreateCancel:SetPos( 10, 10 + 10 + 10 + 10 + LoginUsername:GetTall() * 3 )
- LoginCreateCancel:SetWidth( LoginCreatePanel:GetWide() / 2 - 15 )
- LoginCreateCancel:SetText( "Cancel" )
- LoginCreateCancel.DoClick = function()
- LoginFrame:SetSize( 300, 150 )
- LoginCreatePanel:SetVisible( false )
- LoginPanel:SetVisible( true )
- end
- end
- LoginFrame.User = LoginUsername
- LoginFrame.Pass = LoginPassword
- LoginFrame.CUser = LoginCreateUsername
- LoginFrame.CPass = LoginCreatePassword
- LoginFrame.CPassRe = LoginCreatePasswordRe
- end
- function Login( User, Pass )
- print( "New Character:", User, Pass )
- end
- function CreateUser( User, Pass )
- print( "Login:", User, Pass )
- end
- concommand.Add( "loginscreen", OpenLoginScreen() )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement