Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local BLUR = exports['cl-blurbox']
- local login = {
- fonts = {},
- pos = {},
- sound = nil,
- actual = "logowanie",
- editbox = {},
- textures = {},
- alpha = {},
- showpass = true,
- }
- login.alpha[1], login.alpha[2], login.alpha[3] = 255, 255, 255
- function isEventHandlerAdded( sEventName, pElementAttachedTo, func )
- if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then
- local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo )
- if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
- for i, v in ipairs( aAttachedFunctions ) do
- if v == func then
- return true
- end
- end
- end
- end
- return false
- end
- local sx, sy = guiGetScreenSize()
- local screen = Vector2(guiGetScreenSize())
- local zoom = 1920 / sx
- function isMouseIn(psx,psy,pssx,pssy,abx,aby)
- if not isCursorShowing() then return end
- cx,cy=getCursorPosition()
- cx,cy=cx*sx,cy*sy
- if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
- return true,cx,cy
- else
- return false
- end
- end
- login.interface = function()
- login.textures = {
- logo = dxCreateTexture("files/images/logo.png", "argb", true, "clamp"),
- button = dxCreateTexture("files/images/button.png", "argb", true, "clamp"),
- password_hash = dxCreateTexture("files/images/password_hash.png", "argb", true, "clamp"),
- password = dxCreateTexture("files/images/password.png", "argb", true, "clamp"),
- }
- login.fonts = {
- default20 = dxCreateFont("files/fonts/normal.ttf", 20),
- default22 = dxCreateFont("files/fonts/normal.ttf", 22),
- default10 = dxCreateFont("files/fonts/normal.ttf", 10),
- default13 = dxCreateFont("files/fonts/normal.ttf", 13),
- }
- login.pos = {
- x = (screen.x - 412/zoom)/2,
- y = (screen.y - 475/zoom)/2,
- w = 412/zoom,
- h = 475/zoom,
- }
- end
- login.destroyInterface = function()
- BLUR:destroyBlurBox(blurbox)
- showCursor(false)
- blurbox = nil
- end
- addEventHandler("onClientResourceStop", resourceRoot, login.destroyInterface)
- login.render = function()
- if login.actual == "rejestracja" then
- guiSetVisible(login.editbox[1], false)
- guiSetVisible(login.editbox[2], false)
- guiSetVisible(login.editbox[3], true)
- guiSetVisible(login.editbox[4], true)
- dxDrawImage(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom, login.textures.button, 0, 0, 0, tocolor(7, 200, 54, login.alpha[1]))
- dxDrawImage(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom, login.textures.button, 0, 0, 0, tocolor(7, 200, 54, login.alpha[2]))
- if isMouseIn(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom) and not (login.alpha[1] == 180) then login.alpha[1] = login.alpha[1] - 5 end
- if not isMouseIn(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom) and not (login.alpha[1] == 255) then login.alpha[1] = login.alpha[1] + 5 end
- if isMouseIn(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom) and not (login.alpha[2] == 180) then login.alpha[2] = login.alpha[2] - 5 end
- if not isMouseIn(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom) and not (login.alpha[2] == 255) then login.alpha[2] = login.alpha[2] + 5 end
- if isMouseIn(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom) and not (login.alpha[3] == 180) then login.alpha[3] = login.alpha[3] - 5 end
- if not isMouseIn(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom) and not (login.alpha[3] == 255) then login.alpha[3] = login.alpha[3] + 5 end
- if login.showpass == false then dxDrawImage(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom, login.textures.password, 0, 0, 0, tocolor(255, 255, 255, login.alpha[3])) else dxDrawImage(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom, login.textures.password_hash, 0, 0, 0, tocolor(255, 255, 255, login.alpha[3])) end
- dxDrawText("REJESTRACJA", login.pos.x - 10/zoom, login.pos.y + 133/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default22, "center", "top", false, true)
- dxDrawText("Uzupełnij poniższe pola.", login.pos.x - 10/zoom, login.pos.y + 165/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default10, "center", "top", false, true)
- dxDrawText("Login:", login.pos.x - 10/zoom, login.pos.y + 230/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default10, "center", "top", false, true)
- dxDrawText("Hasło:", login.pos.x - 10/zoom, login.pos.y + 300/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default10, "center", "top", false, true)
- dxDrawText("Zarejestruj się", login.pos.x - 7/zoom, login.pos.y + 405/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default13, "center", "top")
- dxDrawText("Powrót do logowania", login.pos.x - 5/zoom, login.pos.y + 459/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default13, "center", "top")
- elseif login.actual == "logowanie" then
- guiSetVisible(login.editbox[1], true)
- guiSetVisible(login.editbox[2], true)
- guiSetVisible(login.editbox[3], false)
- guiSetVisible(login.editbox[4], false)
- dxDrawImage(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom, login.textures.button, 0, 0, 0, tocolor(7, 200, 54, login.alpha[1]))
- dxDrawImage(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom, login.textures.button, 0, 0, 0, tocolor(7, 200, 54, login.alpha[2]))
- if isMouseIn(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom) and not (login.alpha[1] == 180) then login.alpha[1] = login.alpha[1] - 5 end
- if not isMouseIn(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom) and not (login.alpha[1] == 255) then login.alpha[1] = login.alpha[1] + 5 end
- if isMouseIn(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom) and not (login.alpha[2] == 180) then login.alpha[2] = login.alpha[2] - 5 end
- if not isMouseIn(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom) and not (login.alpha[2] == 255) then login.alpha[2] = login.alpha[2] + 5 end
- if isMouseIn(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom) and not (login.alpha[3] == 180) then login.alpha[3] = login.alpha[3] - 5 end
- if not isMouseIn(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom) and not (login.alpha[3] == 255) then login.alpha[3] = login.alpha[3] + 5 end
- if login.showpass == false then dxDrawImage(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom, login.textures.password, 0, 0, 0, tocolor(255, 255, 255, login.alpha[3])) else dxDrawImage(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom, login.textures.password_hash, 0, 0, 0, tocolor(255, 255, 255, login.alpha[3])) end
- dxDrawText("LOGOWANIE", login.pos.x - 10/zoom, login.pos.y + 133/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default22, "center", "top", false, true)
- dxDrawText("Uzupełnij poniższe pola.", login.pos.x - 10/zoom, login.pos.y + 165/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default10, "center", "top", false, true)
- dxDrawText("Login:", login.pos.x - 10/zoom, login.pos.y + 230/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default10, "center", "top", false, true)
- dxDrawText("Hasło:", login.pos.x - 10/zoom, login.pos.y + 300/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default10, "center", "top", false, true)
- dxDrawText("Zaloguj się", login.pos.x - 7/zoom, login.pos.y + 405/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default13, "center", "top")
- dxDrawText("Zarejestruj się", login.pos.x - 8/zoom, login.pos.y + 459/zoom, login.pos.x + login.pos.w, login.pos.y + login.pos.h, tocolor(255, 255, 255, 255), 1/zoom, login.fonts.default13, "center", "top")
- end
- dxDrawRectangle(login.pos.x + 10/zoom, login.pos.y + 540/zoom, login.pos.w - 20/zoom, login.pos.h - 470/zoom, tocolor(7, 141, 54, 255))
- dxDrawImage(login.pos.x + 100/zoom, login.pos.y, 200/zoom, 105/zoom, login.textures.logo, 0, 0, 0, tocolor(255, 255, 255, 255))
- if blurbox then return end
- blurbox = BLUR:createBlurBox(login.pos.x + 10/zoom, login.pos.y - 45/zoom, login.pos.w - 20/zoom, login.pos.h + 110/zoom, 75, 75, 75, 255)
- setCameraMatrix(-1975.30591, 62.41966, 41.06683, -2000.61511, 137.18013, 40.66983 - 10, 0, 90)
- end
- login.click = function(btn, state)
- if btn == "left" and state == "down" then
- if isMouseIn(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom) and login.actual == "logowanie" then
- local username = guiGetText(login.editbox[1])
- local password = guiGetText(login.editbox[2])
- if string.len(username) < 3 then outputChatBox("Podany login ma za mało znaków.") return end
- if string.len(username) > 16 then outputChatBox("Podany login ma za dużo znaków") return end
- if string.len(password) < 3 then outputChatBox("Podane hasło ma za mało znaków.") return end
- triggerServerEvent("onPlayerClickLoginButton", resourceRoot, username, password)
- elseif isMouseIn(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom) and login.actual == "logowanie" then
- if login.showpass == false then login.showpass = true guiEditSetMasked(login.editbox[2], true) else login.showpass = false guiEditSetMasked(login.editbox[2], false) end
- elseif isMouseIn(login.pos.x + 305/zoom, login.pos.y + 324/zoom, 35/zoom, 20/zoom) and login.actual == "rejestracja" then
- if login.showpass == false then login.showpass = true guiEditSetMasked(login.editbox[4], true) else login.showpass = false guiEditSetMasked(login.editbox[4], false) end
- elseif isMouseIn(login.pos.x + 105/zoom, login.pos.y + 395/zoom, 195/zoom, 40/zoom) and login.actual == "rejestracja" then
- local username = guiGetText(login.editbox[3])
- local password = guiGetText(login.editbox[4])
- if string.len(username) < 3 then outputChatBox("Podany login ma za mało znaków.") return end
- if string.len(username) > 16 then outputChatBox("Podany login ma za dużo znaków") return end
- if string.len(password) < 3 then outputChatBox("Podane hasło ma za mało znaków.") return end
- triggerServerEvent("onPlayerClickRegisterButton", resourceRoot, username, password)
- elseif isMouseIn(login.pos.x + 105/zoom, login.pos.y + 450/zoom, 195/zoom, 40/zoom) and login.actual == "logowanie" then
- if tick == true then return end
- tick = true
- login.actual = "rejestracja"
- setTimer(function()
- tick = false
- end, 1000, 1)
- elseif isMouseIn(login.pos.x + 105/zoom, login.pos.y + 450, 195/zoom, 40/zoom) and login.actual == "rejestracja" then
- if tick == true then return end
- tick = true
- login.actual = "logowanie"
- setTimer(function()
- tick = false
- end, 1000, 1)
- end
- end
- end
- addEventHandler("onClientClick", root, login.click)
- addEvent("onClientClickButton", true)
- addEventHandler("onClientClickButton", resourceRoot, function(value)
- if value == true then
- fadeCamera(false)
- removeEventHandler("onClientRender", root, login.render)
- BLUR:destroyBlurBox(blurbox)
- showCursor(false)
- if isElement(login.editbox[1]) then
- destroyElement(login.editbox[1])
- end
- if isElement(login.editbox[2]) then
- destroyElement(login.editbox[2])
- end
- if isElement(login.editbox[3]) then
- destroyElement(login.editbox[3])
- end
- if isElement(login.editbox[4]) then
- destroyElement(login.editbox[4])
- end
- blurbox = nil
- setTimer(function()
- showCursor(true)
- addEventHandler("onClientRender", root, login.render)
- login.actual = "spawnowanie"
- fadeCamera(true)
- end, 1500, 1)
- end
- end)
- login.check = function()
- if getElementData(getLocalPlayer(), "user:uid") and getElementData(getLocalPlayer(), "user:spawned") then return end
- showCursor(true)
- showChat(false)
- fadeCamera(true)
- setElementAlpha(getLocalPlayer(), 0)
- addEventHandler("onClientRender", root, login.render)
- login.sound = playSound("http://foow.org/W35DfE5nLmlwSmRE9uHn", true)
- login.editbox[1] = guiCreateEdit((screen.x - 412/zoom)/2 + 102/zoom, (screen.y - 475/zoom)/2 + 247/zoom, 200/zoom, 35/zoom, "", false)
- login.editbox[2] = guiCreateEdit((screen.x - 412/zoom)/2 + 102/zoom, (screen.y - 475/zoom)/2 + 317/zoom, 200/zoom, 35/zoom, "", false)
- login.editbox[3] = guiCreateEdit((screen.x - 412/zoom)/2 + 102/zoom, (screen.y - 475/zoom)/2 + 247/zoom, 200/zoom, 35/zoom, "", false)
- login.editbox[4] = guiCreateEdit((screen.x - 412/zoom)/2 + 102/zoom, (screen.y - 475/zoom)/2 + 317/zoom, 200/zoom, 35/zoom, "", false)
- guiEditSetMasked(login.editbox[4], true)
- guiEditSetMasked(login.editbox[2], true)
- guiEditSetMaxLength(login.editbox[1], 16)
- guiEditSetMaxLength(login.editbox[3], 16)
- guiEditSetMaxLength(login.editbox[2], 32)
- guiEditSetMaxLength(login.editbox[4], 32)
- setPlayerHudComponentVisible("all", false)
- login.interface()
- end
- login.check()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement