Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - if getElementData(localPlayer, "user:logged") or getElementData(localPlayer, "user:uid") then return end
 - Login_Client = {}
 - Login_Client.__index = Login_Client
 - function Login_Client:new (...)
 - local object = setmetatable({}, {__index = self})
 - if object.construct then
 - object:construct(...)
 - end
 - return object
 - end
 - function Login_Client:Background ()
 - Fog:renderFogRectangle()
 - self.FFTData = getSoundFFTData(self.music, 2048, 130)
 - if not self.FFTData then return end
 - for key, value in pairs(self.FFTData) do
 - opacity = Elements:Round((value * 1920), 5) > 110 and 110 or Elements:Round((value * 1920), 5)
 - alpha = interpolateBetween(opacity, 220, opacity, 220, opacity, 220, (getTickCount()/570), "CosineCurve")
 - end
 - Fog:setFogSpeed(4.6)
 - dxDrawImage(0, 0, self.screen.x, self.screen.y, self.textures['background'])
 - dxDrawRectangle(0, 0, self.screen.x, self.screen.y, tocolor(102, 105, 107, 110))
 - dxDrawImage(0, 0, self.screen.x, self.screen.y, self.textures['lights'], 0, 0, 0, tocolor(255, 255, 255, alpha), true)
 - end
 - function Login_Client:Music (bool)
 - if bool == true then
 - if not self.music then
 - self.music = playSound("sounds/music.mp3", true)
 - setSoundVolume(self.music, self.volume)
 - end
 - addEventHandler("onClientRender", root, self.VUPFunct)
 - removeEventHandler("onClientRender", root, self.VDNFunct)
 - else
 - addEventHandler("onClientRender", root, self.VDNFunct)
 - removeEventHandler("onClientRender", root, self.VUPFunct)
 - end
 - end
 - function Login_Client:VUP ()
 - self.volume = self.volume + 0.0075
 - setSoundVolume(self.music, self.volume)
 - if self.volume >= 1 then
 - removeEventHandler("onClientRender", root, self.VUPFunct)
 - end
 - end
 - function Login_Client:VDN ()
 - self.volume = self.volume - 0.0075
 - setSoundVolume(self.music, self.volume)
 - if self.volume <= 0 then
 - removeEventHandler("onClientRender", root, self.VDNFunct)
 - destroyElement(self.music)
 - self.music = false
 - end
 - end
 - function Login_Client:RenderAnimations ()
 - if self.Main ~= true then
 - self.MainAlpha = interpolateBetween(255, 0, 0, 0, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - else
 - self.MainAlpha = interpolateBetween(0, 0, 0, 255, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - self.LoginPosX = interpolateBetween(self.screen.x - 860/1080*self.screen.y, 0, 0, self.screen.x - 600/1080*self.screen.y, 0, 0, (getTickCount() - self.LoginTick) / 720, "OutQuad")
 - self.RegisterPosY = interpolateBetween(self.screen.y/2 - 350/1080*self.screen.y, 0, 0, self.screen.y/2 - 220/1080*self.screen.y, 0, 0, (getTickCount() - self.LoginTick) / 720, "OutQuad")
 - self.ChangesPosY = interpolateBetween(self.screen.y - 340/1080*self.screen.y, 0, 0, self.screen.y - 520/1080*self.screen.y, 0, 0, (getTickCount() - self.LoginTick) / 720, "OutQuad")
 - end
 - if self.Login ~= true then
 - self.LoginAlpha = interpolateBetween(255, 0, 0, 0, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - else
 - self.LoginAlpha = interpolateBetween(0, 0, 0, 255, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - end
 - if self.Register ~= true then
 - self.RegisterAlpha = interpolateBetween(255, 0, 0, 0, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - else
 - self.RegisterAlpha = interpolateBetween(0, 0, 0, 255, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - end
 - if self.Changes ~= true then
 - self.ChangesAlpha = interpolateBetween(255, 0, 0, 0, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - else
 - self.ChangesAlpha = interpolateBetween(0, 0, 0, 255, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - end
 - if self.Banned ~= true then
 - self.BannedAlpha = interpolateBetween(255, 0, 0, 0, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - else
 - self.BannedAlpha = interpolateBetween(0, 0, 0, 255, 0, 0, (getTickCount() - self.LoginTick) / 620, "Linear")
 - end
 - end
 - function Login_Client:RenderMain ()
 - if self.Main ~= true and getTickCount() - self.LoginTick > 720 then
 - self.LoginTick = getTickCount()
 - if self.Login ~= false then
 - removeEventHandler("onClientRender", root, self.mainRender)
 - addEventHandler("onClientRender", root, self.loginRender)
 - elseif self.Register ~= false then
 - removeEventHandler("onClientRender", root, self.mainRender)
 - addEventHandler("onClientRender", root, self.registerRender)
 - elseif self.Changes ~= false then
 - removeEventHandler("onClientRender", root, self.mainRender)
 - addEventHandler("onClientRender", root, self.changesRender)
 - elseif self.Banned ~= false then
 - removeEventHandler("onClientRender", root, self.mainRender)
 - addEventHandler("onClientRender", root, self.bannedRender)
 - end
 - end
 - local h = (512/1080*self.screen.y)*(1.0/1080*self.screen.y)
 - dxDrawImage( 130/1080*self.screen.y, self.screen.y/2 - (434/self.zoom)/2, (371/self.zoom), (434/self.zoom), self.textures['logo'], 0, 0, 0, tocolor(255, 255, 255, self.MainAlpha))
 - Elements:DrawMainButton( self.LoginPosX, 443/1080*self.screen.y, self.textures['buttons']['login']['hover'], self.textures['buttons']['login']['nohover'], self.textures['buttons']['login']['nohover'], self.MainAlpha)
 - Elements:DrawMainButton( self.screen.x - 390/1080*self.screen.y, self.RegisterPosY, self.textures['buttons']['register']['hover'], self.textures['buttons']['register']['nohover'], self.textures['buttons']['register']['nohover'], self.MainAlpha)
 - Elements:DrawMainButton( self.screen.x - 390/1080*self.screen.y, self.ChangesPosY, self.textures['buttons']['changes']['hover'], self.textures['buttons']['changes']['nohover'], self.textures['buttons']['changes']['nohover'], self.MainAlpha)
 - end
 - function Login_Client:RenderBanned ()
 - local w, h = 271/self.zoom, 334/self.zoom
 - dxDrawImage( self.screen.x/2 - w/2, (self.screen.y/2 - h/2) - 305/1080*self.screen.y, w, h, self.textures['logo'], 0, 0, 0, tocolor(255, 255, 255, self.BannedAlpha))
 - dxDrawText("ZBANOWANY", 0, 656/1080*self.screen.y, self.screen.x, 280/1080*self.screen.y, tocolor(255, 255, 255, self.BannedAlpha), 1, self.fonts['light_login'], "center", "center")
 - dxDrawText("Zostałeś zbanowany na tym serwerze!\n\nGracz: " .. getElementData(localPlayer, "ban:playernick") .. " (".. getElementData(localPlayer, "ban:playerserial") ..")\nPowód bana: " .. getElementData(localPlayer, "ban:reason") .. "\nZbanowany przez: " .. getElementData(localPlayer, "ban:playerbannedby") .. "\nData ważności bana: " .. getElementData(localPlayer, "ban:date"), 0, 512/1080*self.screen.y, self.screen.x, 280/1080*self.screen.y, tocolor(255, 255, 255, self.BannedAlpha), 1, self.fonts['normal_button'], "center", "top")
 - GUI:renderButton(self.DisconnectButton)
 - GUI:setButtonPosition(self.DisconnectButton, self.screen.x/2 - (190/1080*self.screen.y)/2, 784/1080*self.screen.y)
 - GUI:setButtonTexturesColor(self.DisconnectButton, tocolor(255, 255, 255, self.BannedAlpha))
 - end
 - function Login_Client:RenderLogin ()
 - if self.Login == false and getTickCount() - self.LoginTick > 720 then
 - removeEventHandler("onClientRender", root, self.loginRender)
 - GUI:destroyButton(self.loginBackButton)
 - GUI:destroyButton(self.loginEnterButton)
 - GUI:destroyEditBox(self.loginEditbox)
 - GUI:destroyEditBox(self.passwordEditbox)
 - GUI:destroyCheckbox(self.rememberMeCheckBox)
 - collectgarbage("collect")
 - if self.Destroy ~= true then
 - collectgarbage()
 - addEventHandler("onClientRender", root, self.mainRender)
 - end
 - self.LoginTick = getTickCount()
 - end
 - local w, h = 271/self.zoom, 334/self.zoom
 - dxDrawImage( self.screen.x/2 - w/2, (self.screen.y/2 - h/2) - 305/1080*self.screen.y, w, h, self.textures['logo'], 0, 0, 0, tocolor(255, 255, 255, self.LoginAlpha))
 - dxDrawText("AUTORYZACJA", 0, 656/1080*self.screen.y, self.screen.x, 280/1080*self.screen.y, tocolor(255, 255, 255, self.LoginAlpha), 1, self.fonts['light_login'], "center", "center")
 - GUI:renderEditBox(self.loginEditbox)
 - GUI:setEditBoxAlpha(self.loginEditbox, self.LoginAlpha)
 - GUI:renderEditBox(self.passwordEditbox)
 - GUI:setEditBoxAlpha(self.passwordEditbox, self.LoginAlpha)
 - GUI:renderButton(self.loginBackButton)
 - GUI:renderButton(self.loginEnterButton)
 - GUI:renderCheckbox(self.rememberMeCheckBox)
 - GUI:setCheckboxTexturesColor(self.rememberMeCheckBox, tocolor(255, 255, 255, self.LoginAlpha), self.LoginAlpha )
 - GUI:setButtonPosition(self.loginEnterButton, self.screen.x/2 - (404/1080*self.screen.y)/2, 748/1080*self.screen.y)
 - GUI:setButtonTexturesColor(self.loginEnterButton, tocolor(255, 255, 255, self.LoginAlpha))
 - GUI:setEditBoxPosition(self.loginEditbox, self.screen.x/2 - (200/1080*self.screen.y)/2 + (52/1080*self.screen.y), 525/1080*self.screen.y)
 - GUI:setEditBoxPosition(self.passwordEditbox, self.screen.x/2 - (200/1080*self.screen.y)/2 + (52/1080*self.screen.y), 601/1080*self.screen.y)
 - GUI:setButtonPosition(self.loginBackButton, self.screen.x/2 + (74/1080*self.screen.y)/2, 750/1080*self.screen.y)
 - GUI:setButtonTexturesColor(self.loginBackButton, tocolor(255, 255, 255, self.LoginAlpha))
 - if isElement(self.rememberMeCheckBox) then
 - local radius, width = GUI:getCheckBoxRadius(self.rememberMeCheckBox), GUI:getCheckBoxTextWidth(self.rememberMeCheckBox)
 - GUI:setCheckboxPosition(self.rememberMeCheckBox, (self.screen.x/2 - radius/2) - (width*0.33) - 25/1080*self.screen.y, 700/1080*self.screen.y )
 - end
 - end
 - function Login_Client:RenderRegister ()
 - if self.Register == false and getTickCount() - self.LoginTick > 720 then
 - removeEventHandler("onClientRender", root, self.registerRender)
 - GUI:destroyButton(self.registerBackButton)
 - GUI:destroyButton(self.registerEnterButton)
 - GUI:destroyEditBox(self.Register_Login_Editbox)
 - GUI:destroyEditBox(self.Register_Password_Editbox)
 - GUI:destroyEditBox(self.Register_PasswordAgain_Editbox)
 - GUI:destroyEditBox(self.Register_Email_Editbox)
 - GUI:destroyCheckbox(self.acceptRegulations)
 - GUI:destroyButton(self.registerBackButton)
 - collectgarbage("collect")
 - if self.Destroy ~= true then
 - collectgarbage()
 - addEventHandler("onClientRender", root, self.mainRender)
 - end
 - self.LoginTick = getTickCount()
 - end
 - local w, h = 271/self.zoom, 334/self.zoom
 - dxDrawImage( self.screen.x/2 - w/2, (self.screen.y/2 - h/2) - 314/1080*self.screen.y, w, h, self.textures['logo'], 0, 0, 0, tocolor(255, 255, 255, self.RegisterAlpha))
 - dxDrawText("REJESTRACJA", 0, 629/1080*self.screen.y, self.screen.x, 280/1080*self.screen.y, tocolor(255, 255, 255, self.RegisterAlpha), 1, self.fonts['light_login'], "center", "center")
 - GUI:renderEditBox(self.Register_Login_Editbox)
 - GUI:setEditBoxPosition(self.Register_Login_Editbox, self.screen.x/2 + (510/1080*self.screen.y)/2 + (56/1080*self.screen.y), 507/1080*self.screen.y)
 - GUI:setEditBoxAlpha(self.Register_Login_Editbox, self.RegisterAlpha )
 - GUI:renderEditBox(self.Register_Password_Editbox)
 - GUI:setEditBoxPosition(self.Register_Password_Editbox, self.screen.x/2 - (410/1080*self.screen.y)/2 + (56/1080*self.screen.y), 581/1080*self.screen.y)
 - GUI:setEditBoxAlpha(self.Register_Password_Editbox, self.RegisterAlpha )
 - GUI:renderEditBox(self.Register_PasswordAgain_Editbox)
 - GUI:setEditBoxPosition(self.Register_PasswordAgain_Editbox, self.screen.x/2 - (410/1080*self.screen.y)/2 + (56/1080*self.screen.y), 656/1080*self.screen.y)
 - GUI:setEditBoxAlpha(self.Register_PasswordAgain_Editbox, self.RegisterAlpha )
 - GUI:renderEditBox(self.Register_Email_Editbox)
 - GUI:setEditBoxPosition(self.Register_Email_Editbox, self.screen.x/2 - (410/1080*self.screen.y)/2 + (56/1080*self.screen.y), 731/1080*self.screen.y)
 - GUI:setEditBoxAlpha(self.Register_Email_Editbox, self.RegisterAlpha )
 - GUI:renderCheckbox(self.acceptRegulations)
 - GUI:setCheckboxTexturesColor(self.acceptRegulations, tocolor(255, 255, 255, self.RegisterAlpha), self.RegisterAlpha )
 - GUI:renderButton(self.registerBackButton)
 - GUI:setButtonPosition(self.registerBackButton, self.screen.x/2 + (75/1080*self.screen.y)/2, self.screen.y - 211/1080*self.screen.y)
 - GUI:setButtonTexturesColor(self.registerBackButton, tocolor(255, 255, 255, self.RegisterAlpha))
 - GUI:renderButton(self.registerEnterButton)
 - GUI:setButtonPosition(self.registerEnterButton, self.screen.x/2 - (406/1080*self.screen.y)/2, self.screen.y - 211/1080*self.screen.y)
 - GUI:setButtonTexturesColor(self.registerEnterButton, tocolor(255, 255, 255, self.RegisterAlpha))
 - if isElement(self.acceptRegulations) then
 - local radius, width = GUI:getCheckBoxRadius(self.acceptRegulations), GUI:getCheckBoxTextWidth(self.acceptRegulations)
 - GUI:setCheckboxPosition(self.acceptRegulations, (self.screen.x/2 - radius/2) - (width*0.34) - 25/1080*self.screen.y, self.screen.y - 250/1080*self.screen.y )
 - end
 - end
 - function Login_Client:RenderChanges ()
 - if self.Changes == false and getTickCount() - self.LoginTick > 720 then
 - removeEventHandler("onClientRender", root, self.changesRender)
 - GUI:destroyButton(self.changesBackButton)
 - collectgarbage("collect")
 - if self.Destroy ~= true then
 - collectgarbage()
 - addEventHandler("onClientRender", root, self.mainRender)
 - end
 - self.LoginTick = getTickCount()
 - end
 - GUI:renderButton(self.changesBackButton)
 - GUI:setButtonPosition(self.changesBackButton, self.screen.x/2 - (190/1080*self.screen.y)/2, 940/1080*self.screen.y)
 - GUI:setButtonTexturesColor(self.changesBackButton, tocolor(255, 255, 255, self.ChangesAlpha))
 - dxDrawText("ZMIANY", 170/1080*self.screen.y, 340/1080*self.screen.y, 1020/1080*self.screen.y, 160/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['light_title'], "left", "bottom")
 - local offsetTable = {}
 - offsetTable["data"] = 170/1080*self.screen.y
 - dxDrawText("DATA", offsetTable["data"], 340/1080*self.screen.y, 1020/1080*self.screen.y, 200/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['changes_grid'], "left", "bottom")
 - offsetTable["category"] = offsetTable["data"]+dxGetTextWidth("DATA", 1.0, self.fonts['changes_grid'])+100/1080*self.screen.y
 - dxDrawText("KATEGORIA", offsetTable["category"], 340/1080*self.screen.y, 1020/1080*self.screen.y, 200/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['changes_grid'], "left", "bottom")
 - offsetTable["change"] = offsetTable["category"]+dxGetTextWidth("KATEGORIA", 1.0, self.fonts['changes_grid'])+50/1080*self.screen.y
 - dxDrawText("ZMIANA", offsetTable["change"], 340/1080*self.screen.y, 1020/1080*self.screen.y, 200/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['changes_grid'], "left", "bottom")
 - dxDrawImage(170/1080*self.screen.y, 220/1080*self.screen.y, self.screen.x-350/1080*self.screen.y, 2/1080*self.screen.y, self.textures['line'], 0, 0, 0, tocolor(255, 255, 255, self.ChangesAlpha), true)
 - self.index = 0
 - for key, value in ipairs(self.changesLog) do
 - self.index = self.index + 1
 - local sy = 38/1080 * self.screen.y * self.index
 - dxDrawText(value.changeDate, offsetTable["data"], 200/1080*self.screen.y + sy, 1020/1080*self.screen.y, 290/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['changes_text'], "left", "top")
 - dxDrawText(value.changeType, offsetTable["category"], 200/1080*self.screen.y + sy, 1020/1080*self.screen.y, 290/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['changes_text'], "left", "top")
 - dxDrawText(value.changeText, offsetTable["change"], 200/1080*self.screen.y + sy, 1020/1080*self.screen.y, 290/1080*self.screen.y, tocolor(255, 255, 255, self.ChangesAlpha), 1, self.fonts['changes_text'], "left", "top")
 - end
 - end
 - function Login_Client:onLogin()
 - local login = GUI:getEditBoxText(self.loginEditbox)
 - local password = GUI:getEditBoxText(self.passwordEditbox)
 - if string.len(login) == 0 or string.len(password) == 0 then
 - exports["ps_hud"]:showPlayerNotification("Musisz wypełnić wszystkie pola tekstowe!", "error", true, 6500)
 - else
 - exports["ps_hud"]:showPlayerNotification("Trwa weryfikacja danych, proszę czekać...", "info", true, 4100)
 - setTimer(function()
 - triggerServerEvent("onPlayerLoginAccount", resourceRoot, login, password)
 - end, 800, 1)
 - self:saveXML(login, password, self.rememberMeCheckBox)
 - end
 - end
 - function Login_Client:loadXML ()
 - if not self.xmlFile then
 - self.xmlFile = xmlCreateFile("userdata.xml", "userdata")
 - usernameChild = xmlCreateChild(self.xmlFile, "username")
 - passwordChild = xmlCreateChild(self.xmlFile, "password")
 - checkboxChild = xmlCreateChild(self.xmlFile, "state")
 - xmlSaveFile(self.xmlFile)
 - else
 - usernameChild = xmlFindChild(self.xmlFile, "username", 0)
 - passwordChild = xmlFindChild(self.xmlFile, "password", 0)
 - checkboxChild = xmlFindChild(self.xmlFile, "state", 0)
 - end
 - if xmlNodeGetValue(checkboxChild) == "true" then
 - GUI:setCheckboxSelected(self.rememberMeCheckBox, true)
 - end
 - usernameLoad = xmlNodeGetValue(usernameChild)
 - passwordLoad = xmlNodeGetValue(passwordChild)
 - if usernameLoad ~= "" then
 - GUI:setEditBoxText(self.loginEditbox, usernameLoad)
 - end
 - if passwordLoad ~= "" then
 - GUI:setEditBoxText(self.passwordEditbox, passwordLoad)
 - end
 - end
 - function Login_Client:saveXML (login, password)
 - if GUI:getCheckBoxSelected(self.rememberMeCheckBox) == true then
 - xmlNodeSetValue(usernameChild, login)
 - xmlNodeSetValue(passwordChild, password)
 - xmlNodeSetValue(checkboxChild, "true")
 - xmlSaveFile(self.xmlFile)
 - else
 - xmlNodeSetValue(usernameChild, "")
 - xmlNodeSetValue(passwordChild, "")
 - xmlNodeSetValue(checkboxChild, "")
 - xmlSaveFile(self.xmlFile)
 - end
 - end
 - function Login_Client:onRegister()
 - local login = GUI:getEditBoxText(self.Register_Login_Editbox)
 - local password = GUI:getEditBoxText(self.Register_Password_Editbox)
 - local password_again = GUI:getEditBoxText(self.Register_PasswordAgain_Editbox)
 - local email = GUI:getEditBoxText(self.Register_Email_Editbox)
 - local accept = GUI:getCheckBoxSelected(self.acceptRegulations)
 - if string.len(login) == 0 or string.len(password) == 0 or string.len(password_again) == 0 or string.len(email) == 0 then
 - exports["ps_hud"]:showPlayerNotification("Musisz wypełnić wszystkie pola tekstowe!", "error", true, 6500)
 - elseif string.len(login) < 5 then
 - exports["ps_hud"]:showPlayerNotification("Minimalna ilość znaków loginu to 5!", "error", true, 6500)
 - elseif string.len(password) < 5 or string.len(password_again) < 5 then
 - exports["ps_hud"]:showPlayerNotification("Minimalna ilość znaków hasła to 5!", "error", true, 6500)
 - elseif password ~= password_again then
 - exports["ps_hud"]:showPlayerNotification("Hasła muszą być identyczne!", "error", true, 6500)
 - elseif password == login then
 - exports["ps_hud"]:showPlayerNotification("Login nie może być taki sam jak hasło!", "error", true, 6500)
 - elseif Elements:validEmail(email) == false then
 - exports["ps_hud"]:showPlayerNotification("Adres email jest nieprawidłowy!", "error", true, 6500)
 - elseif accept == false then
 - exports["ps_hud"]:showPlayerNotification("Wymagana jest akceptacja regulaminu serwera!", "error", true, 6500)
 - else
 - exports["ps_hud"]:showPlayerNotification("Trwa weryfikacja danych, proszę czekać...", "info", true, 4100)
 - setTimer(function()
 - triggerServerEvent("onPlayerCreateAccount", resourceRoot, login, password, email)
 - end, 800, 1)
 - end
 - end
 - function Login_Client:onBackMenu()
 - self.LoginTick = getTickCount()
 - self.Main = true
 - self.Login = false
 - self.Register = false
 - self.Changes = false
 - end
 - function Login_Client:construct (...)
 - GUI = exports["ps_gui"]
 - Fog = exports["shader_2dfog"]
 - Elements = Login_Elements_Client:new()
 - self.zoom = GUI:getInterfaceScale()
 - self.screen = Vector2(guiGetScreenSize())
 - self.onLogIn = function(...) return self:onLogin(...) end
 - self.onRegisterIn = function(...) return self:onRegister(...) end
 - self.onEventBackMenu = function(...) return self:onBackMenu(...) end
 - self.saveLoginData = function(...) return self:saveLoginXML(...) end
 - self.VUPFunct = function(...) return self:VUP(...) end
 - self.VDNFunct = function(...) return self:VDN(...) end
 - addEvent("onPlayerSaveLoginData", true)
 - addEventHandler("onPlayerSaveLoginData", root, self.saveLoginData)
 - addEvent("showPlayerIsBanned", true)
 - addEventHandler("showPlayerIsBanned", root, function()
 - self.LoginTick = getTickCount()
 - self.Main = false
 - self.Destroy = true
 - self.Login = false
 - self.Register = false
 - self.Changes = false
 - self.Banned = true
 - self.DisconnectButton = GUI:createButton("Rozłącz z serwera", self.screen.x, self.screen.y, 165/1080*self.screen.y, 52/1080*self.screen.y)
 - GUI:setButtonFont(self.DisconnectButton, self.fonts['bold_button'], 0.7)
 - GUI:setButtonTextures(self.DisconnectButton, {default=self.textures['buttons']['normal_button']['nohover'], hover=self.textures['buttons']['normal_button']['hover'], press=self.textures['buttons']['normal_button']['nohover']})
 - addEventHandler("onPlayerClickButton", self.DisconnectButton, function()
 - triggerEvent("onPlayerShowBlackScreen", localPlayer)
 - self:Music(false)
 - self.Main = false
 - self.Login = false
 - self.Register = false
 - self.Changes = false
 - self.Banned = false
 - setTimer(function()
 - triggerServerEvent("onPlayerClickDisconnect", resourceRoot)
 - end, 4125, 1)
 - end)
 - end)
 - addEventHandler("onClientResourceStart", resourceRoot, function()
 - showChat(false)
 - showCursor(true)
 - fadeCamera(false)
 - setElementAlpha(localPlayer, 0)
 - Fog:refreshInstance(180)
 - showPlayerHudComponent("all", false)
 - triggerServerEvent("onPlayerCheckIsBanned", resourceRoot, getPlayerSerial(localPlayer))
 - triggerEvent("onResourcesDownloadedStop", resourceRoot)
 - self.music = false
 - self.volume = 0
 - self:Music(true)
 - self.LoginTick = getTickCount()
 - self.Main = true
 - self.hexagon = Hexagon:new()
 - collectgarbage()
 - addEventHandler("onClientClick", root, function(button, state)
 - local hx, hy, hsize = self.LoginPosX + ( (200/1080*self.screen.y)/2)+32/1080*self.screen.y, 443/1080*self.screen.y - 23/1080*self.screen.y, 129/1080*self.screen.y
 - if self.Main == true and self.hexagon:colission(hx, hy + hsize, hsize, 122) then -- Logowanie
 - if getKeyState("mouse1") ~= true then
 - self.LoginTick = getTickCount()
 - self.loginBackButton = GUI:createButton("Wróć", self.screen.x, self.screen.y, 165/1080*self.screen.y, 52/1080*self.screen.y)
 - self.loginEnterButton = GUI:createButton("Zaloguj", self.screen.x, self.screen.y, 165/1080*self.screen.y, 55/1080*self.screen.y)
 - self.loginEditbox = GUI:createEditBox("", self.screen.x/2, 400/1080*self.screen.y, 348/1080*self.screen.y, 52/1080*self.screen.y, "Login")
 - GUI:setEditBoxVertical(self.loginEditbox, "left")
 - GUI:setEditBoxIcon(self.loginEditbox, ":ps_gui/images/icons/person.png", 52/1080*self.screen.y)
 - GUI:setEditBoxFont(self.loginEditbox, self.fonts['editbox_font'], 1)
 - GUI:setEditBoxAlpha(self.loginEditbox, 0)
 - self.passwordEditbox = GUI:createEditBox("", self.screen.x/2, 600/1080*self.screen.y, 348/1080*self.screen.y, 52/1080*self.screen.y, "Hasło")
 - GUI:setEditBoxVertical(self.passwordEditbox, "left")
 - GUI:setEditBoxIcon(self.passwordEditbox, ":ps_gui/images/icons/key.png", 52/1080*self.screen.y)
 - GUI:setEditBoxFont(self.passwordEditbox, self.fonts['editbox_font'], 1)
 - GUI:setEditBoxAlpha(self.passwordEditbox, 0)
 - GUI:setEditBoxMasked(self.passwordEditbox, true, "*")
 - GUI:setButtonTextures(self.loginEnterButton, {default=self.textures['buttons']['normal_button']['nohover'], hover=self.textures['buttons']['normal_button']['hover'], press=self.textures['buttons']['normal_button']['nohover']})
 - GUI:setButtonFont(self.loginEnterButton, self.fonts['normal_button'], 0.85)
 - GUI:setButtonTextures(self.loginBackButton, {default=self.textures['buttons']['normal_button']['nohover'], hover=self.textures['buttons']['normal_button']['hover'], press=self.textures['buttons']['normal_button']['nohover']})
 - GUI:setButtonFont(self.loginBackButton, self.fonts['normal_button'], 0.85)
 - self.rememberMeCheckBox = GUI:createCheckbox(self.screen.x/2, 370/1080*self.screen.y, 17/1080*self.screen.y, "Zapamiętaj mnie", false)
 - GUI:setCheckboxTexturesColor(self.rememberMeCheckBox, tocolor(255, 255, 255, 0) )
 - GUI:setCheckboxFont(self.rememberMeCheckBox, self.fonts['normal_button'], 0.79)
 - GUI:setCheckboxTextures(self.rememberMeCheckBox, {off = ":ps_gui/images/checkbox_off.png", on = ":ps_gui/images/checkbox_on.png"} )
 - addEventHandler("onPlayerClickButton", self.loginEnterButton, self.onLogIn )
 - addEventHandler("onPlayerClickButton", self.loginBackButton, self.onEventBackMenu )
 - self.xmlFile = xmlLoadFile("userdata.xml")
 - self:loadXML()
 - self.Main = false
 - self.Login = true
 - self.Register = false
 - self.Changes = false
 - end
 - end
 - local hx, hy, hsize = (self.screen.x - 390/1080*self.screen.y) + ( (200/1080*self.screen.y)/2)+32/1080*self.screen.y, self.RegisterPosY - 23/1080*self.screen.y, 129/1080*self.screen.y
 - if self.Main == true and self.hexagon:colission(hx, hy + hsize, hsize, 122) then -- Rejestracja
 - if getKeyState("mouse1") ~= true then
 - self.LoginTick = getTickCount()
 - self.registerBackButton = GUI:createButton("Wróć", self.screen.x, self.screen.y, 165/1080*self.screen.y, 55/1080*self.screen.y)
 - self.registerEnterButton = GUI:createButton("Zarejestruj", self.screen.x, self.screen.y, 165/1080*self.screen.y, 55/1080*self.screen.y)
 - addEventHandler("onPlayerClickButton", self.registerEnterButton, self.onRegisterIn )
 - addEventHandler("onPlayerClickButton", self.registerBackButton, self.onEventBackMenu )
 - self.Register_Login_Editbox = GUI:createEditBox("", self.screen.x/2, 600/1080*self.screen.y, 348/1080*self.screen.y, 52/1080*self.screen.y, "Login")
 - GUI:setEditBoxVertical(self.Register_Login_Editbox, "left")
 - GUI:setEditBoxIcon(self.Register_Login_Editbox, ":ps_gui/images/icons/person.png", 52/1080*self.screen.y)
 - GUI:setEditBoxFont(self.Register_Login_Editbox, self.fonts['editbox_font'], 1)
 - GUI:setEditBoxAlpha(self.Register_Login_Editbox, 0)
 - self.Register_Password_Editbox = GUI:createEditBox("", self.screen.x/2, 600/1080*self.screen.y, 348/1080*self.screen.y, 52/1080*self.screen.y, "Hasło")
 - GUI:setEditBoxVertical(self.Register_Password_Editbox, "left")
 - GUI:setEditBoxIcon(self.Register_Password_Editbox, ":ps_gui/images/icons/key.png", 52/1080*self.screen.y)
 - GUI:setEditBoxFont(self.Register_Password_Editbox, self.fonts['editbox_font'], 1)
 - GUI:setEditBoxAlpha(self.Register_Password_Editbox, 0)
 - GUI:setEditBoxMasked(self.Register_Password_Editbox, true, "*")
 - self.Register_PasswordAgain_Editbox = GUI:createEditBox("", self.screen.x/2, 600/1080*self.screen.y, 348/1080*self.screen.y, 52/1080*self.screen.y, "Powtórz hasło")
 - GUI:setEditBoxVertical(self.Register_PasswordAgain_Editbox, "left")
 - GUI:setEditBoxIcon(self.Register_PasswordAgain_Editbox, ":ps_gui/images/icons/key.png", 52/1080*self.screen.y)
 - GUI:setEditBoxFont(self.Register_PasswordAgain_Editbox, self.fonts['editbox_font'], 1)
 - GUI:setEditBoxAlpha(self.Register_PasswordAgain_Editbox, 0)
 - GUI:setEditBoxMasked(self.Register_PasswordAgain_Editbox, true, "*")
 - self.Register_Email_Editbox = GUI:createEditBox("", self.screen.x/2, 600/1080*self.screen.y, 348/1080*self.screen.y, 52/1080*self.screen.y, "E-mail")
 - GUI:setEditBoxVertical(self.Register_Email_Editbox, "left")
 - GUI:setEditBoxIcon(self.Register_Email_Editbox, ":ps_gui/images/icons/mail.png", 52/1080*self.screen.y)
 - GUI:setEditBoxFont(self.Register_Email_Editbox, self.fonts['editbox_font'], 1)
 - GUI:setEditBoxAlpha(self.Register_Email_Editbox, 0)
 - GUI:setEditBoxRule(self.Register_Email_Editbox, "%p*[^@.%a%d]")
 - self.acceptRegulations = GUI:createCheckbox(self.screen.x/2, 348/1080*self.screen.y, 17/1080*self.screen.y, "Akceptuję regulamin", false)
 - GUI:setCheckboxTexturesColor(self.acceptRegulations, tocolor(255, 255, 255, 0) )
 - GUI:setCheckboxFont(self.acceptRegulations, self.fonts['normal_button'], 0.80)
 - GUI:setCheckboxTextures(self.acceptRegulations, {off = ":ps_gui/images/checkbox_off.png", on = ":ps_gui/images/checkbox_on.png"} )
 - GUI:setButtonTextures(self.registerBackButton, {default=self.textures['buttons']['normal_button']['nohover'], hover=self.textures['buttons']['normal_button']['hover'], press=self.textures['buttons']['normal_button']['nohover']})
 - GUI:setButtonFont(self.registerBackButton, self.fonts['normal_button'], 0.85)
 - GUI:setButtonTextures(self.registerEnterButton, {default=self.textures['buttons']['normal_button']['nohover'], hover=self.textures['buttons']['normal_button']['hover'], press=self.textures['buttons']['normal_button']['nohover']})
 - GUI:setButtonFont(self.registerEnterButton, self.fonts['normal_button'], 0.85)
 - self.Main = false
 - self.Login = false
 - self.Register = true
 - self.Changes = false
 - end
 - end
 - local hx, hy, hsize = (self.screen.x - 390/1080*self.screen.y) + ( (200/1080*self.screen.y)/2)+32/1080*self.screen.y, self.ChangesPosY - 23/1080*self.screen.y, 129/1080*self.screen.y
 - if self.Main == true and self.hexagon:colission(hx, hy + hsize, hsize, 122) then -- Zmiany
 - if getKeyState("mouse1") ~= true then
 - self.LoginTick = getTickCount()
 - self.changesBackButton = GUI:createButton("Wróć", self.screen.x, self.screen.y, 190/1080*self.screen.y, 55/1080*self.screen.y, 5)
 - GUI:setButtonTextures(self.changesBackButton, {default=self.textures['buttons']['normal_button']['nohover'], hover=self.textures['buttons']['normal_button']['hover'], press=self.textures['buttons']['normal_button']['nohover']})
 - GUI:setButtonFont(self.changesBackButton, self.fonts['normal_button'], 0.85)
 - addEventHandler("onPlayerClickButton", self.changesBackButton, self.onEventBackMenu )
 - self.Main = false
 - self.Login = false
 - self.Register = false
 - self.Changes = true
 - end
 - end
 - end)
 - end)
 - self.backgroundRender = function() self:Background() end
 - addEventHandler("onClientRender", root, self.backgroundRender)
 - self.animationsRender = function() self:RenderAnimations() end
 - addEventHandler("onClientRender", root, self.animationsRender)
 - self.mainRender = function() self:RenderMain() end
 - addEventHandler("onClientRender", root, self.mainRender, true, "low-3")
 - self.loginRender = function() self:RenderLogin() end
 - self.registerRender = function() self:RenderRegister() end
 - self.changesRender = function() self:RenderChanges() end
 - self.bannedRender = function() self:RenderBanned() end
 - self.textures = {
 - ['logo'] = GUI:createInterfaceTexture(":ps_login/images/logo.png"),
 - ['background'] = GUI:createInterfaceTexture(":ps_login/images/background.png"),
 - ['lights'] = GUI:createInterfaceTexture(":ps_login/images/lights.png"),
 - ['line'] = GUI:createInterfaceTexture(":ps_login/images/changes/changes_line.png"),
 - ['buttons'] = {
 - ['login'] = {
 - ['hover'] = GUI:createInterfaceTexture(":ps_login/images/main/login_button_active.png"),
 - ['nohover'] = GUI:createInterfaceTexture(":ps_login/images/main/login_button.png")
 - },
 - ['register'] = {
 - ['hover'] = GUI:createInterfaceTexture(":ps_login/images/main/register_button_active.png"),
 - ['nohover'] = GUI:createInterfaceTexture(":ps_login/images/main/register_button.png")
 - },
 - ['changes'] = {
 - ['hover'] = GUI:createInterfaceTexture(":ps_login/images/main/changes_button_active.png"),
 - ['nohover'] = GUI:createInterfaceTexture(":ps_login/images/main/changes_button.png")
 - },
 - ['normal_button'] = {
 - ['hover'] = GUI:createInterfaceTexture(":ps_gui/images/button_active.png"),
 - ['nohover'] = GUI:createInterfaceTexture(":ps_gui/images/button.png")
 - },
 - },
 - }
 - self.fonts = {
 - ['light_login'] = GUI:setInterfaceFont("light", 30.93/1080*self.screen.y),
 - ['light_title'] = GUI:setInterfaceFont("bold", 31/1080*self.screen.y),
 - ['normal_button'] = GUI:setInterfaceFont("normal", 21/1080*self.screen.y),
 - ['bold_button'] = GUI:setInterfaceFont("bold", 21/1080*self.screen.y),
 - ['editbox_font'] = GUI:setInterfaceFont("normal", 16/1080*self.screen.y),
 - ['changes_grid'] = GUI:setInterfaceFont("light", 20/1080*self.screen.y),
 - ['changes_text'] = GUI:setInterfaceFont("normal", 19/1080*self.screen.y)
 - }
 - self.changesLog = ChangesLogs
 - addEvent("destroyLoginBackground", true)
 - addEventHandler("destroyLoginBackground", root, function()
 - self:Music(false)
 - Fog:destroyFogRectangle()
 - removeEventHandler("onClientRender", root, self.backgroundRender)
 - end)
 - addEvent("onPlayerLoginResults", true)
 - addEventHandler("onPlayerLoginResults", resourceRoot, function(bool, text, type)
 - if not text then text = "" end
 - if not type then type = "info" end
 - if bool then
 - self.LoginTick = getTickCount()
 - self.Main = false
 - self.Login = false
 - self.Register = false
 - self.Changes = false
 - self.Destroy = true
 - showCursor(false)
 - triggerEvent("onPlayerShowBlackScreen", localPlayer)
 - setTimer(function()
 - triggerEvent("onPlayerHideBlackScreen", localPlayer)
 - Spawns = Spawns_Client:new()
 - Spawns:ShowSpawnsGUI()
 - end, 3800, 1)
 - else
 - exports["ps_hud"]:showPlayerNotification(text, type, true, 5600)
 - return
 - end
 - end)
 - addEventHandler("onClientResourceStop", resourceRoot, function()
 - showChat(true)
 - showCursor(false)
 - fadeCamera(true)
 - setElementAlpha(localPlayer, 255)
 - Fog:destroyFogRectangle()
 - GUI:destroyButton(self.loginEnterButton)
 - GUI:destroyButton(self.loginBackButton)
 - GUI:destroyButton(self.registerBackButton)
 - GUI:destroyButton(self.changesBackButton)
 - GUI:destroyEditBox(self.loginEditbox)
 - GUI:destroyEditBox(self.passwordEditbox)
 - GUI:destroyCheckbox(self.rememberMeCheckBox)
 - GUI:destroyButton(self.registerBackButton)
 - GUI:destroyButton(self.registerEnterButton)
 - GUI:destroyButton(self.DisconnectButton)
 - GUI:destroyEditBox(self.Register_Login_Editbox)
 - GUI:destroyEditBox(self.Register_Password_Editbox)
 - GUI:destroyEditBox(self.Register_PasswordAgain_Editbox)
 - GUI:destroyEditBox(self.Register_Email_Editbox)
 - GUI:destroyCheckbox(self.acceptRegulations)
 - collectgarbage("collect")
 - end)
 - end
 - Login_Client:new()
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment