how I can modify it as well?, I did well, but I have bad button... (the button is called "invitado")
Screen 1: http://imageshack.us/a/img692/6351/pti2.png
Screen 2: http://imageshack.us/a/img692/6351/pti2.png
Client...
local enableGuest = true;
local sx, sy = guiGetScreenSize ( )
local pX, pY = ( sx / 2 - 485 / 2 ), ( sy / 2 - 231 / 2 )
local username = guiCreateEdit(pX+156, pY+61, 288, 33, "", false)
guiSetVisible ( username, false )
local password = guiCreateEdit(pX+156, pY+121, 288, 33, "", false)
guiSetVisible ( password, false )
guiEditSetMasked(password, true)
local window = guiCreateWindow( ( sx / 2 - 266 / 2 ), ( sy / 2 - 208 / 2 ), 266, 208, "Error", false)
guiWindowSetMovable(window, false)
guiWindowSetSizable(window, false)
guiSetVisible ( window, false )
guiSetAlpha ( window, 1 )
local exitBtn = guiCreateButton(155, 162, 101, 36, "Salir", false, window)
local infoLbl = guiCreateLabel(18, 26, 228, 130, "Mensaje", false, window)
local isOpen = false;
local isLoggedin = false;
local data = {
login = {
hovering = false,
alphaMode = false,
loginTextAlpha = 235,
colors = { 255, 255, 255 }
},
reg = {
hovering = false,
alphaMode = false,
loginTextAlpha = 235,
colors = { 255, 255, 255 }
},
guest = {
hovering = false,
alphaMode = false,
loginTextAlpha = 235,
colors = { 255, 255, 255 }
}
}
function dxDrawLoginPanel( )
-- default: 350, 266
if ( isOpen ) then
dxDrawRectangle(pX, pY, 485, 231, tocolor(0, 0, 0, 180), false)
dxDrawRectangle(pX, pY+231, 100, 19, tocolor(0, 0, 0, 180), false)
dxDrawText("Login", pX-220, pY, 870, 314, tocolor(0, 128, 255, 255), 1.50, "bankgothic", "center", "top", false, false, false, false, false)
dxDrawLine(pX, pY+48, pX+485, pY+48, tocolor(255, 128, 0, 255), 1, false)
dxDrawText("Usuario:", pX+10, pY+69, 506, 368, tocolor(255, 255, 255, 255), 0.80, "bankgothic", "left", "top", false, false, false, false, false)
dxDrawText("Password:", pX+10, pY+129, 506, 428, tocolor(255, 255, 255, 255), 0.80, "bankgothic", "left", "top", false, false, false, false, false)
dxDrawLine(pX+281, pY+168, pX+281, pY+168+34, tocolor(255, 128, 0, 255), 1, false)
local r, g, b = unpack ( data.login.colors )
dxDrawText("Login", pX+156, pY+167, 600, 468, tocolor( r, g, b, data.login.loginTextAlpha), 1.00, "bankgothic", "left", "top", false, false, false, false, false)
local r, g, b = unpack ( data.reg.colors )
dxDrawText("Register", pX+300, pY+167, 794, 468, tocolor(r, g, b, data.reg.loginTextAlpha), 1.00, "bankgothic", "left", "top", false, false, false, false, false)
if ( enableGuest ) then
local r, g, b = unpack ( data.guest.colors )
dxDrawText("Invitado", pX+105, pY+230, 150, 10, tocolor( r, g, b, data.guest.loginTextAlpha), 0.5, "bankgothic", "center", "top", false, false, false, false, false)
end
-- give fade effect
if ( data.login.hovering ) then
data.login.colors = { 0, 128, 255 }
local alpha = data.login.loginTextAlpha
if ( not data.login.alphaMode ) then
data.login.loginTextAlpha = alpha - 5
if ( data.login.loginTextAlpha <= 50 ) then
data.login.alphaMode = true
end
else
data.login.loginTextAlpha = alpha + 5
if ( data.login.loginTextAlpha >= 235 ) then
data.login.alphaMode = false
end
end
elseif ( data.reg.hovering ) then
data.reg.colors = { 0, 128, 255 }
local alpha = data.reg.loginTextAlpha
if ( not data.reg.alphaMode ) then
data.reg.loginTextAlpha = alpha - 5
if ( data.reg.loginTextAlpha <= 50 ) then
data.reg.alphaMode = true
end
else
data.reg.loginTextAlpha = alpha + 5
if ( data.reg.loginTextAlpha >= 235 ) then
data.reg.alphaMode = false
end
end
elseif ( data.guest.hovering ) then
data.guest.colors = { 0, 128, 255 }
local alpha = data.guest.loginTextAlpha
if ( not data.guest.alphaMode ) then
data.guest.loginTextAlpha = alpha - 5
if ( data.guest.loginTextAlpha <= 50 ) then
data.guest.alphaMode = true
end
else
data.guest.loginTextAlpha = alpha + 5
if ( data.guest.loginTextAlpha >= 235 ) then
data.guest.alphaMode = false
end
end
else
data.login.loginTextAlpha = 235
data.guest.loginTextAlpha = 235
data.reg.loginTextAlpha = 235
data.login.colors = { 255, 255, 255 }
data.guest.colors = { 255, 255, 255 }
data.reg.colors = { 255, 255, 255 }
end
end
end
function cursorMove ( _, _, x, y )
if ( isCursorShowing ( ) and not guiGetVisible ( window ) and isOpen) then
if ( y >= pY+170 and y <= pY+200 ) then
if ( x >= pX+161 and x <= pX+251 ) then
data.login.hovering = true
return
elseif ( x >= pX+305 and x <= pX+445 ) then
data.reg.hovering = true
return
elseif ( y <= pY+15 and y >= pY+91 ) then
elseif ( x >= pX+10 and x <= pX+91 ) then
data.guest.hovering = true
return
end
end
end
data.login.hovering = false
data.reg.hovering = false
data.guest.hovering = false
end
function openLogin ( )
addEventHandler ( "onClientPreRender", root, dxDrawLoginPanel )
addEventHandler ( 'onClientCursorMove', root, cursorMove )
addEventHandler ( "onClientClick", root, clientClicking )
guiSetInputMode ( "no_binds_when_editing" )
guiSetVisible ( password, true )
guiSetVisible ( username, true )
showCursor ( true )
addEventHandler ( 'onClientGUIClick', root, clientClosingErrorWindowEvent )
isOpen = true
showChat(false)
showPlayerHudComponent ( 'all', false )
end
addEvent ( "onClientPlayerLogout", true )
addEventHandler ( 'onClientPlayerLogout', root, openLogin )
function closeLogin ( )
removeEventHandler ( "onClientPreRender", root, dxDrawLoginPanel )
removeEventHandler ( 'onClientCursorMove', root, cursorMove )
removeEventHandler ( "onClientClick", root, clientClicking )
guiSetVisible ( password, false )
guiSetVisible ( username, false )
showCursor ( false )
removeEventHandler ( 'onClientGUIClick', root, clientClosingErrorWindowEvent )
guiSetVisible ( window, false )
isOpen = false
isLoggedin = true
showChat(true)
showPlayerHudComponent ( 'all', true )
end
addEvent ( "onClientPlayerLogin", true )
addEventHandler ( "onClientPlayerLogin", root, closeLogin )
function sendError ( msg )
if ( not guiGetVisible ( window ) ) then
guiSetVisible ( window, true )
guiSetText ( infoLbl, msg )
guiBringToFront ( window )
end
end
addEvent ( "onPlayerLoginPanelError", true )
addEventHandler ( "onPlayerLoginPanelError", root, sendError )
function clientClicking ( btn, state, x, y )
if ( btn == 'left' and not guiGetVisible ( window ) and state == 'down' and isOpen ) then
if ( y >= pY+170 and y <= pY+200 ) then
local user, pass = guiGetText ( username ), guiGetText ( password )
-- Login Button --
if ( x >= pX+156 and x <= pX+246 ) then
if ( string.gsub ( user, ' ', '' ) ~= '' and string.gsub ( pass, ' ', '' ) ~= '' ) then
if ( string.find ( user, '%s' ) ) then
return sendError ( "Los espacios (' ') no estan permitido \npara colocarlo en el usuario." )
end if ( string.find ( pass, '%s' ) ) then
return sendError ( "Los espacios (' ') no estan permitido \npara colocarlo en la password." )
end
triggerServerEvent ( "Login:onClientAttemptLogin", localPlayer, user, pass )
else
sendError ( "Un usuario y contraseña es requerido \npara ingresar al server..." )
end
-- register button
elseif ( x >= pX+300 and x <= pX+440 ) then
if ( string.gsub ( user, ' ', '' ) ~= '' and string.gsub ( pass, ' ', '' ) ~= '' ) then
if ( string.find ( user, '%s' ) ) then
return sendError ( "No se permiten espacios \nen el usuario." )
end if ( string.find ( pass, '%s' ) ) then
return sendError ( "No se permiten espacios \nen la contraseña." )
end if ( string.len ( user ) < 5 ) then
return sendError ( "El usuario debe tener \ncomo minimo 5 caracteres de largo." )
end if ( string.len ( pass ) < 6 ) then
return sendError ( "La contraseña debe tener \ncomo mínimo 6 caracteres de largo." )
end
triggerServerEvent ( "Login:onClientAttemptRegistration", localPlayer, user, pass )
else
sendError ( "Un usuario y contraseña es requerido \npara ingresar al server..." )
end
-- play as guest
elseif ( x >= pX+10 and x <= pX+91 ) then
closeLogin ( )
triggerServerEvent ( "Login:doClientGuestLogin", localPlayer )
end
end
end
end
function clientClosingErrorWindowEvent( )
if ( source == exitBtn ) then
guiSetVisible ( window, false )
end
end
function isClientLoggedin ( )
return isLoggedin
end
setTimer ( function ( )
openLogin ( )
end, 700, 1 )
What do you mean..?