Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local sW, sH = guiGetScreenSize()
- local zoom = sW < 1920 and math.min(2,1920/sW) or 1
- local selected = 1 -- 1 = Autoryzacja, 2 = Rejestracja
- local editSelected = nil
- local auth = {}
- local register = {}
- auth.offsetX = 0
- auth.visible = false
- auth.state = "hidden"
- auth.tick = nil
- auth.editboxes = {}
- auth.editboxes[1] = {type = "login", text = "Nazwa użytkownika", onclick = function() if auth.editboxes[1].text == "Nazwa użytkownika" then auth.editboxes[1].text = "" end editSelected = auth.editboxes[1] end, removed = {}}
- auth.editboxes[2] = {type = "pass", text = "Hasło", onclick = function() if auth.editboxes[2].text == "Hasło" then auth.editboxes[2].text = "" auth.editboxes[2].masked = true end editSelected = auth.editboxes[2] end, masked = false, removed = {}}
- auth.checkboxes = {}
- auth.checkboxes[1] = {text = "Zapamiętaj mnie", selected = true, color = {0, 255, 153, 255}, onhover = function() auth.buttons[1].color = {0, 255, 153, 200} end, onleave = function() auth.buttons[1].color = {0, 255, 153, 255} end, onclick = function() auth.checkboxes[1].selected = not auth.checkboxes[1].selected end}
- auth.buttons = {}
- auth.buttons[1] = {name = "Zaloguj się", color = {35, 214, 136, 255}, onhover = function() auth.buttons[1].color = {35, 214, 136, 200} end, onleave = function() auth.buttons[1].color = {35, 214, 136, 255} end, onclick = function()
- local username = auth.editboxes[1].text
- local password = auth.editboxes[2].text
- if string.len(username) < 3 then createNotification("Nazwa użytkownika musi mieć więcej niż 3 znaki!", 27) return end
- if string.len(password) < 6 then createNotification("Hasło musi mieć więcej niż 6 znaków!", 27) return end
- triggerServerEvent("login:login", resourceRoot, username, password)
- end}
- register.offsetX = 0
- register.visible = false
- register.state = "hidden"
- register.tick = nil
- register.editboxes = {}
- register.editboxes[1] = {type = "login", text = "Nazwa użytkownika", onclick = function() if register.editboxes[1].text == "Nazwa użytkownika" then register.editboxes[1].text = "" end editSelected = register.editboxes[1] end, removed = {}}
- register.editboxes[2] = {type = "pass", text = "Hasło", onclick = function() if register.editboxes[2].text == "Hasło" then register.editboxes[2].text = "" register.editboxes[2].masked = true end editSelected = register.editboxes[2] end, masked = false, removed = {}}
- register.buttons = {}
- register.buttons[1] = {name = "Utwórz konto", color = {35, 214, 136, 255}, onhover = function() register.buttons[1].color = {35, 214, 136, 200} end, onleave = function() register.buttons[1].color = {35, 214, 136, 255} end, onclick = function()
- local username = register.editboxes[1].text
- local password = register.editboxes[2].text
- if string.len(username) < 3 then createNotification("Nazwa użytkownika musi mieć więcej niż 3 znaki!", 27) return end
- if string.len(password) < 6 then createNotification("Hasło musi mieć więcej niż 6 znaków!", 27) return end
- triggerServerEvent("login:register", resourceRoot, username, password)
- end}
- addEventHandler("onClientRender", root, function()
- if auth.visible then
- if auth.state == "showing" and auth.tick then
- local animProgress = (getTickCount() - auth.tick) / 500
- auth.offsetX = interpolateBetween(-sW, 0, 0, 0, 0, 0, animProgress, "InQuad")
- if animProgress >= 1 then
- auth.offsetX = 0
- auth.state = "shown"
- auth.tick = nil
- end
- end
- if auth.state == "hiding" and auth.tick then
- local animProgress = (getTickCount() - auth.tick) / 500
- auth.offsetX = interpolateBetween(0, 0, 0, sW, 0, 0, animProgress, "InQuad")
- if animProgress >= 1 then
- auth.offsetX = -sW
- auth.state = "hidden"
- auth.tick = nil
- auth.visible = false
- end
- end
- dxDrawRectangle((sW / 2) - (225/zoom) + auth.offsetX, (sH / 2) - (200/zoom), 450/zoom, 400/zoom, tocolor(0, 0, 0, 180), false)
- dxDrawRectangle((sW / 2) - (225/zoom) + auth.offsetX, (sH / 2) - (200/zoom), 450/zoom, SIZE_TITLE, 0xFF23d688, false)
- dxDrawText("AUTORYZACJA", (sW / 2) - (225/zoom) + auth.offsetX + 2/zoom, (sH / 2) - (200/zoom) + 2/zoom, (sW / 2) - (225/zoom) + auth.offsetX + 450/zoom + 2/zoom, (sH / 2) - (200/zoom) + SIZE_TITLE + 2/zoom, 0xFF000000, 1, FONTS_TITLE, "center", "center", true, false, false, false, false)
- dxDrawText("AUTORYZACJA", (sW / 2) - (225/zoom) + auth.offsetX, (sH / 2) - (200/zoom), (sW / 2) - (225/zoom) + auth.offsetX + 450/zoom, (sH / 2) - (200/zoom) + SIZE_TITLE, 0xFFFFFFFF, 1, FONTS_TITLE, "center", "center", true, false, false, false, false)
- -- Editboxes
- for i, v in pairs(auth.editboxes) do
- dxDrawRectangle((sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)), SIZE_EDITBOX[1], SIZE_EDITBOX[2], 0xFF23d688, false)
- if v.masked then
- dxDrawText(string.rep("*", #v.text), (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + 1.5/zoom, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + SIZE_EDITBOX[1] + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2] + 1.5/zoom, 0xFF000000, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- dxDrawText(string.rep("*", #v.text), (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)), (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + SIZE_EDITBOX[1], (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2], 0xFFFFFFFF, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- else
- dxDrawText(v.text, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + 1.5/zoom, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + SIZE_EDITBOX[1] + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2] + 1.5/zoom, 0xFF000000, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- dxDrawText(v.text, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)), (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + SIZE_EDITBOX[1], (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2], 0xFFFFFFFF, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- end
- end
- for i, v in pairs(auth.checkboxes) do
- dxDrawRectangle((sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX, (sH / 2) + 7/zoom, SIZE_CHECKBOX[1], SIZE_CHECKBOX[2], 0xFF000000, false)
- if v.selected then
- dxDrawRectangle((sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 4/zoom, (sH / 2) + 7/zoom + 4/zoom, (SIZE_CHECKBOX[1] - 8/zoom), (SIZE_CHECKBOX[2] - 8/zoom), 0xFF23d688, false)
- end
- dxDrawText(v.text, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 40/zoom + 1/zoom, (sH / 2) + 7/zoom + 1/zoom, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 200/zoom + 1/zoom, (sH / 2) + 7/zoom + SIZE_CHECKBOX[2] + 1/zoom, 0xFF000000, 1, FONTS_CHECKBOX, "left", "center", true, false, false, false, false)
- dxDrawText(v.text, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 40/zoom, (sH / 2) + 7/zoom, (sW / 2) - (SIZE_EDITBOX[1] / 2) + auth.offsetX + 200/zoom, (sH / 2) + 7/zoom + SIZE_CHECKBOX[2], 0xFFFFFFFF, 1, FONTS_CHECKBOX, "left", "center", true, false, false, false, false)
- end
- for i, v in pairs(auth.buttons) do
- dxDrawRectangle((sW / 2) - (SIZE_BUTTON[1] / 2) + auth.offsetX, (sH / 2) + 85/zoom, SIZE_BUTTON[1], SIZE_BUTTON[2], tocolor(v.color[1], v.color[2], v.color[3], v.color[4]), false)
- dxDrawText(v.name, (sW / 2) - (SIZE_BUTTON[1] / 2) + auth.offsetX + 1.5/zoom, (sH / 2) + 85/zoom + 1.5/zoom, (sW / 2) - (SIZE_BUTTON[1] / 2) + auth.offsetX + SIZE_BUTTON[1] + 1.5/zoom, (sH / 2) + 85/zoom + SIZE_BUTTON[2] + 1.5/zoom, 0xFFF000000, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- dxDrawText(v.name, (sW / 2) - (SIZE_BUTTON[1] / 2) + auth.offsetX, (sH / 2) + 85/zoom, (sW / 2) - (SIZE_BUTTON[1] / 2) + auth.offsetX + SIZE_BUTTON[1], (sH / 2) + 85/zoom + SIZE_BUTTON[2], 0xFFFFFFFF, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- end
- -- Switch to Registration
- dxDrawText("Nie posiadasz konta? Zarejestruj się.", (sW / 2) - (400/zoom / 2) + auth.offsetX + 1.5/zoom, (sH / 2) + 125/zoom + 1.5/zoom, (sW / 2) - (400/zoom / 2) + auth.offsetX + 400/zoom + 1.5/zoom, (sH / 2) + 125/zoom + SIZE_BUTTON[2] + 1.5/zoom, 0xFFF000000, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- dxDrawText("Nie posiadasz konta? Zarejestruj się.", (sW / 2) - (400/zoom / 2) + auth.offsetX, (sH / 2) + 125/zoom, (sW / 2) - (400/zoom / 2) + auth.offsetX + 400/zoom, (sH / 2) + 125/zoom + SIZE_BUTTON[2], 0xFFFFFFFF, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- end
- if register.visible then
- if register.state == "showing" and register.tick then
- local animProgress = (getTickCount() - register.tick) / 500
- register.offsetX = interpolateBetween(-sW, 0, 0, 0, 0, 0, animProgress, "InQuad")
- if animProgress >= 1 then
- register.offsetX = 0
- register.state = "shown"
- register.tick = nil
- end
- end
- if register.state == "hiding" and register.tick then
- local animProgress = (getTickCount() - register.tick) / 500
- register.offsetX = interpolateBetween(0, 0, 0, sW, 0, 0, animProgress, "InQuad")
- if animProgress >= 1 then
- register.offsetX = -sW
- register.state = "hidden"
- register.tick = nil
- register.visible = false
- end
- end
- dxDrawRectangle((sW / 2) - (225/zoom) + register.offsetX, (sH / 2) - (200/zoom), 450/zoom, 400/zoom, tocolor(0, 0, 0, 180), false)
- dxDrawRectangle((sW / 2) - (225/zoom) + register.offsetX, (sH / 2) - (200/zoom), 450/zoom, SIZE_TITLE, 0xFF23d688, false)
- dxDrawText("REJESTRACJA", (sW / 2) - (225/zoom) + register.offsetX + 2/zoom, (sH / 2) - (200/zoom) + 2/zoom, (sW / 2) - (225/zoom) + register.offsetX + 450/zoom + 2/zoom, (sH / 2) - (200/zoom) + SIZE_TITLE + 2/zoom, 0xFF000000, 1, FONTS_TITLE, "center", "center", true, false, false, false, false)
- dxDrawText("REJESTRACJA", (sW / 2) - (225/zoom) + register.offsetX, (sH / 2) - (200/zoom), (sW / 2) - (225/zoom) + register.offsetX + 450/zoom, (sH / 2) - (200/zoom) + SIZE_TITLE, 0xFFFFFFFF, 1, FONTS_TITLE, "center", "center", true, false, false, false, false)
- -- Editboxes
- for i, v in pairs(register.editboxes) do
- dxDrawRectangle((sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)), SIZE_EDITBOX[1], SIZE_EDITBOX[2], 0xFF23d688, false)
- if v.masked then
- dxDrawText(string.rep("*", #v.text), (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + 1.5/zoom, (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX + SIZE_EDITBOX[1] + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2] + 1.5/zoom, 0xFF000000, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- dxDrawText(string.rep("*", #v.text), (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)), (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX + SIZE_EDITBOX[1], (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2], 0xFFFFFFFF, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- else
- dxDrawText(v.text, (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + 1.5/zoom, (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX + SIZE_EDITBOX[1] + 1.5/zoom, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2] + 1.5/zoom, 0xFF000000, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- dxDrawText(v.text, (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX, (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)), (sW / 2) - (SIZE_EDITBOX[1] / 2) + register.offsetX + SIZE_EDITBOX[1], (sH / 2) - (SIZE_EDITBOX[2] / 2) - 100/zoom + ((i - 1) * (SIZE_EDITBOX[2] + 10/zoom)) + SIZE_EDITBOX[2], 0xFFFFFFFF, 1, FONTS_EDIT, "left", "center", true, false, false, false, false)
- end
- end
- for i, v in pairs(register.buttons) do
- dxDrawRectangle((sW / 2) - (SIZE_BUTTON[1] / 2) + register.offsetX, (sH / 2) + 85/zoom, SIZE_BUTTON[1], SIZE_BUTTON[2], tocolor(v.color[1], v.color[2], v.color[3], v.color[4]), false)
- dxDrawText(v.name, (sW / 2) - (SIZE_BUTTON[1] / 2) + register.offsetX + 1.5/zoom, (sH / 2) + 85/zoom + 1.5/zoom, (sW / 2) - (SIZE_BUTTON[1] / 2) + register.offsetX + SIZE_BUTTON[1] + 1.5/zoom, (sH / 2) + 85/zoom + SIZE_BUTTON[2] + 1.5/zoom, 0xFFF000000, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- dxDrawText(v.name, (sW / 2) - (SIZE_BUTTON[1] / 2) + register.offsetX, (sH / 2) + 85/zoom, (sW / 2) - (SIZE_BUTTON[1] / 2) + register.offsetX + SIZE_BUTTON[1], (sH / 2) + 85/zoom + SIZE_BUTTON[2], 0xFFFFFFFF, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- end
- -- Switch to Login
- dxDrawText("Posiadasz konto? Zaloguj się.", (sW / 2) - (400/zoom / 2) + register.offsetX + 1.5/zoom, (sH / 2) + 125/zoom + 1.5/zoom, (sW / 2) - (400/zoom / 2) + register.offsetX + 400/zoom + 1.5/zoom, (sH / 2) + 125/zoom + SIZE_BUTTON[2] + 1.5/zoom, 0xFFF000000, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- dxDrawText("Posiadasz konto? Zaloguj się.", (sW / 2) - (400/zoom / 2) + register.offsetX, (sH / 2) + 125/zoom, (sW / 2) - (400/zoom / 2) + register.offsetX + 400/zoom, (sH / 2) + 125/zoom + SIZE_BUTTON[2], 0xFFFFFFFF, 1, FONTS_BUTTON, "center", "center", true, false, false, false, false)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement