Advertisement
Guest User

Untitled

a guest
Nov 4th, 2018
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 15.86 KB | None | 0 0
  1. --[[
  2.     @author: FoxiasS
  3. ]]
  4.  
  5. local sX, sY = guiGetScreenSize()
  6. local fh = 1920
  7. local zoom = 1
  8.  
  9. if sX < fh then
  10.     zoom = math.min(2, fh/sX)
  11. end
  12.  
  13. local sx, sy = guiGetScreenSize()
  14.  
  15. local czcionka = dxCreateFont("f/font.ttf", 10)
  16. local czcionka2 = dxCreateFont("f/font.ttf", 15)
  17. local czcionka3 = dxCreateFont(":smp-noti/czcionka.ttf", 10)
  18. if not czcionka then czcionka = "default-bold" end
  19. if not czcionka2 then czcionka2 = "default-bold" end
  20. if not czcionka3 then czcionka3 = "default-bold" end
  21. local f = guiCreateFont("f/font.ttf", 10) if not f then f = "default-bold" end
  22.  
  23. local napisy = "?"
  24. local spawn = 2
  25. local gui2s = false
  26. local mspawn = 3
  27. local spawn2 = "Stacja kolejowa, San Fierro"
  28. local spawn3 = "Przechowalnia, San Fierro"
  29. local spawn1 = "Urząd miasta, San Fierro"
  30. local spawn4 = "Ostatnia pozycja"
  31.  
  32. local user = guiCreateEdit(0.406, 0.395, 0.1976, 0.06, "", true)
  33. local password = guiCreateEdit(0.406, 0.506, 0.1976, 0.06, "", true)
  34. local login = guiGetText(user)
  35. local haslo = guiGetText(password)
  36. guiEditSetMaxLength(user, 10)
  37. guiEditSetMaxLength(password, 15)
  38. guiSetAlpha(user, 1)
  39. guiSetAlpha(password, 1)
  40. guiEditSetMasked(password, true)
  41. guiSetVisible(user, false)
  42. guiSetVisible(password, false)
  43.  
  44. local menu = true
  45. local regulation = false
  46. local loginn = false
  47. local register = false
  48.  
  49. local turnmusic = false
  50.  
  51. if getElementData(localPlayer, "zalogowany") then return end
  52.  
  53. addEventHandler("onClientClick", root, function(button, state)
  54.     if button == "left" and state == "down" and mysz(875/zoom, 50/zoom, 200/zoom, 200/zoom) and menu == true then
  55.         menu = false
  56.         regulation = true
  57.         loginn = false
  58.         register = false
  59.         removeEventHandler("onClientRender", root, guimenu)
  60.         addEventHandler("onClientRender", root, guiregulation)
  61.         guiSetVisible(user, false)
  62.         guiSetVisible(password, false)
  63.     elseif button == "left" and state == "down" and mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) and regulation == true then
  64.         menu = true
  65.         regulation = false
  66.         loginn = false
  67.         register = false
  68.         removeEventHandler("onClientRender", root, guiregulation)
  69.         addEventHandler("onClientRender", root, guimenu)
  70.         guiSetVisible(user, false)
  71.         guiSetVisible(password, false)
  72.     elseif button == "left" and state == "down" and mysz(625/zoom, 50/zoom, 200/zoom, 200/zoom) and menu == true then
  73.         menu = false
  74.         regulation = false
  75.         loginn = true
  76.         register = false
  77.         removeEventHandler("onClientRender", root, guimenu)
  78.         addEventHandler("onClientRender", root, guilogin)
  79.         guiSetVisible(user, true)
  80.         guiSetVisible(password, true)
  81.     elseif button == "left" and state == "down" and mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) and loginn == true then
  82.         menu = true
  83.         regulation = false
  84.         loginn = false
  85.         register = false
  86.         removeEventHandler("onClientRender", root, guilogin)
  87.         addEventHandler("onClientRender", root, guimenu)
  88.         guiSetVisible(user, false)
  89.         guiSetVisible(password, false)
  90.     elseif button == "left" and state == "down" and mysz(1125/zoom, 50/zoom, 200/zoom, 200/zoom) and menu == true then
  91.         menu = false
  92.         regulation = false
  93.         loginn = false
  94.         register = true
  95.         removeEventHandler("onClientRender", root, guimenu)
  96.         addEventHandler("onClientRender", root, guiregister)
  97.         guiSetVisible(user, true)
  98.         guiSetVisible(password, true)
  99.     elseif button == "left" and state == "down" and mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) and register == true then
  100.         menu = true
  101.         regulation = false
  102.         loginn = false
  103.         register = false
  104.         removeEventHandler("onClientRender", root, guiregister)
  105.         addEventHandler("onClientRender", root, guimenu)
  106.         guiSetVisible(user, false)
  107.         guiSetVisible(password, false)
  108.     elseif button == "left" and state == "down" and mysz(674/zoom, 726/zoom, 224/zoom, 71/zoom) and loginn == true then
  109.         if login:len() < 3 then
  110.             exports["smp-noti"]:noti("Podany login zawiera zbyt mało znaków.", "error")
  111.             return
  112.         end
  113.         if haslo:len() < 3 then
  114.             exports["smp-noti"]:noti("Podane hasło zawiera zbyt mało znaków.", "error")
  115.             return
  116.         end
  117.         login = string.gsub(login, "[ ]", "")
  118.         haslo = string.gsub(haslo, "[ ]", "")
  119.         triggerServerEvent("zaloguj", localPlayer, login, haslo)
  120.     elseif button == "left" and state == "down" and mysz(1026/zoom, 726/zoom, 224/zoom, 71/zoom) and register == true then
  121.         if login:len() < 3 then
  122.             exports["smp-noti"]:noti("Podany login zawiera zbyt mało znaków.", "error")
  123.             return
  124.         end
  125.         if haslo:len() < 3 then
  126.             exports["smp-noti"]:noti("Podane hasło zawiera zbyt mało znaków.", "error")
  127.             return
  128.         end
  129.         login = string.gsub(login, "[ ]", "")
  130.         haslo = string.gsub(haslo, "[ ]", "")
  131.         triggerServerEvent("zarejestruj", localPlayer, login, haslo)
  132.     end
  133. end)
  134.  
  135. --[[local panel = ""
  136.  
  137. addEventHandler("onClientClick", root, function(button, state)
  138.     if button == "left" and state == "down" then
  139.         if mysz(875/zoom, 50/zoom, 200/zoom, 200/zoom) and panel == "menu" then
  140.             panel = "regulamin"
  141.             removeEventHandler("onClientRender", root, guimenu)
  142.             addEventHandler("onClientRender", root, guiregulation)
  143.             guiSetVisible(user, false)
  144.             guiSetVisible(password, false)
  145.         elseif mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) and panel ~= "menu" then
  146.             panel = "menu"
  147.             removeEventHandler("onClientRender", root, guiregulation)
  148.             addEventHandler("onClientRender", root, guimenu)
  149.             guiSetVisible(user, false)
  150.             guiSetVisible(password, false)
  151.         elseif mysz(625/zoom, 50/zoom, 200/zoom, 200/zoom) and panel == "menu" then
  152.             panel = "login"
  153.             removeEventHandler("onClientRender", root, guimenu)
  154.             addEventHandler("onClientRender", root, guilogin)
  155.             guiSetVisible(user, true)
  156.             guiSetVisible(password, true)
  157.         elseif mysz(1125/zoom, 50/zoom, 200/zoom, 200/zoom) and panel == "menu" then
  158.             panel = "register"
  159.             removeEventHandler("onClientRender", root, guimenu)
  160.             addEventHandler("onClientRender", root, guiregister)
  161.             guiSetVisible(user, true)
  162.             guiSetVisible(password, true)
  163.         elseif mysz(674/zoom, 726/zoom, 224/zoom, 71/zoom) and panel == "login" then
  164.             if login:len() < 3 then
  165.                 exports["smp-noti"]:noti("Podany login zawiera zbyt mało znaków.", "error")
  166.                 return
  167.             end
  168.             if haslo:len() < 3 then
  169.                 exports["smp-noti"]:noti("Podane hasło zawiera zbyt mało znaków.", "error")
  170.                 return
  171.             end
  172.             login = string.gsub(login, "[ ]", "")
  173.             haslo = string.gsub(haslo, "[ ]", "")
  174.             triggerServerEvent("zaloguj", localPlayer, login, haslo)
  175.         elseif mysz(1026/zoom, 726/zoom, 224/zoom, 71/zoom) and panel == "register" then
  176.             if login:len() < 3 then
  177.                 exports["smp-noti"]:noti("Podany login zawiera zbyt mało znaków.", "error")
  178.                 return
  179.             end
  180.             if haslo:len() < 3 then
  181.                 exports["smp-noti"]:noti("Podane hasło zawiera zbyt mało znaków.", "error")
  182.                 return
  183.             end
  184.             login = string.gsub(login, "[ ]", "")
  185.             haslo = string.gsub(haslo, "[ ]", "")
  186.             triggerServerEvent("zarejestruj", localPlayer, login, haslo)
  187.         end
  188.     end
  189. end)
  190. ]]
  191.  
  192.  
  193. function guimenu()
  194.     local rot = interpolateBetween(5, 0, 0, -5, 0, 0, ((getTickCount() - time) / 12000), "SineCurve")
  195.     setCameraMatrix(-1736.90686, 701.09235, 147.13438, 0, 0, 0)
  196.     if mysz(875/zoom, 50/zoom, 200/zoom, 200/zoom) then
  197.         dxDrawImage(875/zoom, 50/zoom, 200/zoom, 200/zoom, ":smp-login/i/regulationon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  198.     else
  199.         dxDrawImage(875/zoom, 50/zoom, 200/zoom, 200/zoom, ":smp-login/i/regulationoff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  200.     end
  201.     if mysz(625/zoom, 50/zoom, 200/zoom, 200/zoom) then
  202.         dxDrawImage(625/zoom, 50/zoom, 200/zoom, 200/zoom, ":smp-login/i/loginon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  203.     else
  204.         dxDrawImage(625/zoom, 50/zoom, 200/zoom, 200/zoom, ":smp-login/i/loginoff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  205.     end
  206.     if mysz(1125/zoom, 50/zoom, 200/zoom, 200/zoom) then
  207.         dxDrawImage(1125/zoom, 50/zoom, 200/zoom, 200/zoom, ":smp-login/i/registeron.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  208.     else
  209.         dxDrawImage(1125/zoom, 50/zoom, 200/zoom, 200/zoom, ":smp-login/i/registeroff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  210.     end
  211.     dxDrawImage(800/zoom, 273/zoom, 347/zoom, 43/zoom, ":smp-login/i/background.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  212.     if mysz(875/zoom, 50/zoom, 200/zoom, 200/zoom) then
  213.         dxDrawText("Regulamin", 920, 280, 1399, 353, tocolor(255, 255, 255, 255), 1.00, czcionka2, "left", "top", false, false, false, false, false)
  214.     elseif mysz(625/zoom, 50/zoom, 200/zoom, 200) then
  215.         dxDrawText("Logowanie", 920, 280, 1399, 353, tocolor(255, 255, 255, 255), 1.00, czcionka2, "left", "top", false, false, false, false, false)
  216.     elseif mysz(1125/zoom, 50/zoom, 200/zoom, 200/zoom) then
  217.         dxDrawText("Rejestracja", 920, 280, 1399, 353, tocolor(255, 255, 255, 255), 1.00, czcionka2, "left", "top", false, false, false, false, false)
  218.     else
  219.         dxDrawText("Wybierz interesującą Cię opcje.", 810, 280, 1399, 353, tocolor(255, 255, 255, 255), 1.00, czcionka2, "left", "top", false, false, false, false, false)
  220.     end
  221.     if turnmusic then
  222.         local bit = getSoundFFTData(turnmusic, 2048, 3)
  223.         for i,v in ipairs(bit) do
  224.             rythm = math.round((v*320),0)>100 and 100 or math.round((v*320),0)
  225.             dxDrawImage(760/zoom, 325/zoom, 450/zoom, 450/zoom, ":smp-login/i/glow.png", 0, 0, 0, tocolor(0, 0, 110, rythm), false) --0,0,120 // 20,20,240
  226.         end
  227.     end
  228.     local bit2 = getSoundFFTData(turnmusic, 2048, 2)
  229.     for i,v in ipairs(bit2) do
  230.         local rytm = math.round((v*320),0)>100 and 100 or math.round((v*320),0)
  231.         dxDrawImage(760-(rythm/2)/zoom, 325-(rythm/2)/zoom, 450+rythm/zoom, 450+rythm/zoom, ":smp-login/i/logo.png", rot, 0, 0, tocolor(255, 255, 255, 255), false)
  232.     end
  233. end
  234.  
  235. function guilogin()
  236.     if mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) then
  237.         dxDrawImage(875/zoom, 850/zoom, 200/zoom, 200/zoom, ":smp-login/i/backon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  238.     else
  239.         dxDrawImage(875/zoom, 850/zoom, 200/zoom, 200/zoom, ":smp-login/i/backoff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  240.     end
  241.     dxDrawImage(640/zoom, 121/zoom, 655/zoom, 705/zoom, ":smp-login/i/background.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  242.     dxDrawRectangle(674/zoom, 726/zoom, 224/zoom, 71/zoom, tocolor(255, 255, 255, 255), false)
  243.     dxDrawRectangle(1026/zoom, 726/zoom, 224/zoom, 71/zoom, tocolor(255, 255, 255, 255), false)
  244. end
  245.  
  246. function guiregister()
  247.     if mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) then
  248.         dxDrawImage(875/zoom, 850/zoom, 200/zoom, 200/zoom, ":smp-login/i/backon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  249.     else
  250.         dxDrawImage(875/zoom, 850/zoom, 200/zoom, 200/zoom, ":smp-login/i/backoff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  251.     end
  252.     dxDrawImage(640/zoom, 121/zoom, 655/zoom, 705/zoom, ":smp-login/i/background.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  253.     dxDrawRectangle(674/zoom, 726/zoom, 224/zoom, 71/zoom, tocolor(255, 255, 255, 255), false)
  254.     dxDrawRectangle(1026/zoom, 726/zoom, 224/zoom, 71/zoom, tocolor(255, 255, 255, 255), false)
  255. end
  256.  
  257. function guiregulation()
  258.     if mysz(875/zoom, 850/zoom, 200/zoom, 200/zoom) then
  259.         dxDrawImage(875/zoom, 850/zoom, 200/zoom, 200/zoom, ":smp-login/i/backon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  260.     else
  261.         dxDrawImage(875/zoom, 850/zoom, 200/zoom, 200/zoom, ":smp-login/i/backoff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  262.     end
  263.     dxDrawImage(640/zoom, 22/zoom, 655/zoom, 805/zoom, ":smp-login/i/background.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  264.     dxDrawText("1. BLA BLA BLA BLA BLA I TAK TEGO NIKT NIE CZYTA\n2. RZADKO KIEDY TU KTOS WCHODZI WIEC PO CO TU SIE\nROZPISYWAC\n3. TAK WIEMY ZE SERWER NIE JEST W PELNI AUTORSKI\n4. KUPUJCIE PREMKI BO HAJS SIE SKONCZYL PLZ", 645/zoom, 50/zoom, 1281/zoom, 849/zoom, tocolor(255, 255, 255, 255), 1.00, czcionka2, "left", "top", false, false, false, false, false)
  265. end
  266.  
  267. bindKey("arrow_l", "both", function(k, s)
  268.   if s ~= "down" then return end
  269.   if gui2s ~= true then return end
  270.   if spawn == 1 then return end
  271.   spawn = spawn-1
  272. end)
  273.  
  274. bindKey("arrow_r", "both", function(k, s)
  275.   if s ~= "down" then return end
  276.   if gui2s ~= true then return end
  277.   if spawn == 4 then return end
  278.   spawn = spawn+1
  279. end)
  280.  
  281. bindKey("space", "down", function()
  282.   if gui2s ~= true then return end
  283.   removeEventHandler("onClientRender", root, gui2)
  284.   gui2s = false
  285.   showChat(true)
  286.   showCursor(false)
  287.   stopSound(turnmusic)
  288.   if spawn == 1 then
  289.     triggerServerEvent("spawn", localPlayer, "urzad")
  290.   elseif spawn == 2 then
  291.     triggerServerEvent("spawn", localPlayer, "spawn")
  292.   elseif spawn == 3 then
  293.     triggerServerEvent("spawn", localPlayer, "przecho")
  294.   elseif spawn == 4 then
  295.     triggerServerEvent("spawn", localPlayer, "pos")
  296.   end
  297. end)
  298.  
  299. function gui2()
  300.   if spawn == 1 then
  301.     napisy = spawn1
  302.     setCameraMatrix(-2017.04, 476.85, 45.17, -100000, 0, 0)
  303.   end
  304.   if spawn == 2 then
  305.     napisy = spawn2
  306.     setCameraMatrix(-2017.52, 125.51, 35.54, 0, 0, 0)
  307.   end
  308.   if spawn == 3 then
  309.     napisy = spawn3
  310.     setCameraMatrix(-2085.47, 0.20, 45, -100000, 0, 0)
  311.   end
  312.   if spawn == 4 then
  313.     napisy = spawn4
  314.     setCameraMatrix(-2017.52, 125.51, 35.54, 0, 0, 0)
  315.   end
  316.     exports["nm-blur"]:dxDrawBluredRectangle(screenW * 0.3715, screenH * 0.0260, screenW * 0.2130, screenH * 0.0794, tocolor(150, 150, 150, 255))
  317.     dxDrawText(napisy.."\nAby zarządać użyj strzałek\nAby zatwierdzić opcje użyj spacji", (screenW * 0.2050) + 1, (screenH * 0.0117) + 1, (screenW * 0.7555) + 1, (screenH * 0.1211) + 1, tocolor(0, 0, 0, 255), 1.00, czcionka3, "center", "center", false, false, false, false, false)
  318.     dxDrawText(napisy.."\nAby zarządać użyj strzałek\nAby zatwierdzić opcje użyj spacji", screenW * 0.2050, screenH * 0.0117, screenW * 0.7555, screenH * 0.1211, tocolor(255, 255, 255, 255), 1.00, czcionka3, "center", "center", false, false, false, false, false)
  319. end
  320.  
  321. addEventHandler("onClientResourceStart", resourceRoot, function()
  322.     guiSetVisible(user, false)
  323.     guiSetVisible(password, false)
  324.     addEventHandler("onClientRender", root, guimenu)
  325.     showChat(false)
  326.     showCursor(true)
  327.     showPlayerHudComponent("all", false)   
  328.     turnmusic = playSound("s/music.mp3", true) 
  329.     fadeCamera(true)
  330.     time = getTickCount()
  331.     triggerServerEvent("sprawdzBana", localPlayer)
  332. end)
  333.  
  334. addEvent("bShowedLogin", true)
  335. addEventHandler("bShowedLogin", root, function()
  336.     guiSetVisible(user, false)
  337.     guiSetVisible(password, false)
  338.     removeEventHandler("onClientRender", root, guilogin)
  339.     loginn = false
  340. end)
  341.  
  342. addEvent("usunElementyLogowania", true)
  343. addEventHandler("usunElementyLogowania", root, function(domy)
  344.     guiSetVisible(user, false)
  345.     guiSetVisible(password, false)
  346.     removeEventHandler("onClientRender", root, guilogin)
  347.     removeEventHandler("onClientRender", root, guiregister)
  348.     addEventHandler("onClientRender", root, gui2)
  349.     gui2s = true
  350.     loginn = false
  351.     register = false
  352.     menu = false
  353.     regulation = false
  354. end)
  355.  
  356. function zmienPowiadomienie(text, rodzaj)
  357.   exports["smp-noti"]:noti(text, rodzaj)
  358. end
  359. addEvent("zmienPowiadomienie", true)
  360. addEventHandler("zmienPowiadomienie", root, zmienPowiadomienie)
  361.  
  362. function math.round(number, decimals, method)
  363.     decimals = decimals or 0
  364.     local factor = 10 ^ decimals
  365.     if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
  366.     else return tonumber(("%."..decimals.."f"):format(number)) end
  367. end
  368.  
  369. function mysz(psx,psy,pssx,pssy,abx,aby)
  370.     if not isCursorShowing() then return end
  371.     cx,cy=getCursorPosition()
  372.     cx,cy=cx*sx,cy*sy
  373.     if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
  374.         return true,cx,cy
  375.     else
  376.         return false
  377.     end
  378. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement