Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.68 KB | None | 0 0
  1. wdwLogin_Pannel = {}
  2. tabPannel_Main = {}
  3. tab_Login = {}
  4. tab_Register = {}
  5.  
  6.  
  7. blackLoginScreen = false
  8. blackScreenTime = 0
  9.  
  10. GuestEnable = false
  11.  
  12.  
  13. function open_log_reg_pannel()
  14. if not(isElement(wdwLogin_Pannel)) then
  15.    
  16.     if blackLoginScreen == true then
  17.         fadeCamera(false,0,0,0,0)
  18.     end
  19.    
  20.     local sWidth,sHeight = guiGetScreenSize()
  21.     local Width,Height = 473,284
  22.     local X = (sWidth/2) - (Width/2)
  23.     local Y = (sHeight/2) - (Height/2)
  24.  
  25.     wdwLogin_Pannel = guiCreateWindow(X,Y,Width,Height,"Painel De Login",false)
  26.     guiWindowSetSizable(wdwLogin_Pannel,false)
  27.    
  28.     tabPannel_Main = guiCreateTabPanel(9,23,455,251,false,wdwLogin_Pannel)
  29.    
  30.     tab_Login = guiCreateTab("Login",tabPannel_Main)
  31.    
  32.     lbl_Login = guiCreateLabel(103,72,42,19,"Login",false,tab_Login)
  33.     guiLabelSetVerticalAlign(lbl_Login,"center")
  34.     guiLabelSetHorizontalAlign(lbl_Login,"right",false)
  35.     guiSetFont(lbl_Login,"default-bold-small")
  36.    
  37.     edit_Login = guiCreateEdit(156,72,169,23,"",false,tab_Login)
  38.     edit_password = guiCreateEdit(156,106,169,23,"",false,tab_Login)
  39.     guiEditSetMaxLength ( edit_Login,25)
  40.     guiEditSetMaxLength ( edit_password,25)
  41.     guiEditSetMasked ( edit_password, true )
  42.  
  43.    
  44.     lbl_Password = guiCreateLabel(48,106,96,19,"Senha",false,tab_Login)
  45.     guiLabelSetVerticalAlign(lbl_Password,"center")
  46.     guiLabelSetHorizontalAlign(lbl_Password,"right",false)
  47.     guiSetFont(lbl_Password,"default-bold-small")
  48.    
  49.     lbl_top_info = guiCreateLabel(109,6,244,35,"Digite Seu Nome De Usuario E Senha Abaixo",false,tab_Login)
  50.     guiLabelSetColor(lbl_top_info,68,255,134)
  51.     guiLabelSetVerticalAlign(lbl_top_info,"center")
  52.     guiLabelSetHorizontalAlign(lbl_top_info,"center",false)
  53.    
  54.     lbl_about_legth = guiCreateLabel(142,42,184,18,"Brasil Cidade Real - RPG",false,tab_Login)
  55.     guiLabelSetColor(lbl_about_legth,253,255,68)
  56.     guiLabelSetVerticalAlign(lbl_about_legth,"center")
  57.     guiLabelSetHorizontalAlign(lbl_about_legth,"center",false)
  58.    
  59.     checkbox_save = guiCreateCheckBox(329,110,100,20,"(Salvar)",false,false,tab_Login)
  60.     guiSetFont(checkbox_save,"default-small")
  61.    
  62.     btn_Login = guiCreateButton(164,162,147,41,"Logar",false,tab_Login)
  63.     guiSetFont(btn_Login,"default-bold-small")
  64.    
  65.     login_tab_error_msg = guiCreateLabel(31,131,419,25,"Error_login_tab",false,tab_Login)
  66.     guiLabelSetColor(login_tab_error_msg,255,0,0)
  67.     guiLabelSetVerticalAlign(login_tab_error_msg,"center")
  68.     guiLabelSetHorizontalAlign(login_tab_error_msg,"center",false)
  69.     guiSetFont(login_tab_error_msg,"default-bold-small")
  70.    
  71.     --Guest func
  72.     if GuestEnable == true then
  73.         btnGuest = guiCreateButton(29,168,94,32,"Play as Guest",false,tab_Login)
  74.         guiSetFont(btnGuest,"default-small")
  75.         guiSetVisible(btnGuest,true)
  76.     else
  77.         if isElement(btnGuest) then guiSetVisible(btnGuest,false) end
  78.         btnGuest = nil
  79.     end
  80.    
  81.    
  82.     tab_Register = guiCreateTab("Registrar",tabPannel_Main)
  83.    
  84.     lbl_account_name = guiCreateLabel(43,39,119,21,"Login",false,tab_Register)
  85.     guiLabelSetVerticalAlign(lbl_account_name,"center")
  86.     guiLabelSetHorizontalAlign(lbl_account_name,"right",false)
  87.     guiSetFont(lbl_account_name,"default-bold-small")
  88.    
  89.     lbl_reg_top_info = guiCreateLabel(66,5,364,31,"Preencha Todos Os Campos, Não Use [ \"!@#$\%'^&*()\ ]",false,tab_Register)
  90.     guiLabelSetColor(lbl_reg_top_info,255,234,55)
  91.     guiLabelSetVerticalAlign(lbl_reg_top_info,"center")
  92.     guiLabelSetHorizontalAlign(lbl_reg_top_info,"center",false)
  93.    
  94.     edit_account_name = guiCreateEdit(172,40,176,23,"",false,tab_Register)
  95.     guiEditSetMaxLength ( edit_account_name,25)
  96.    
  97.     lbl__reg_tab_password = guiCreateLabel(43,71,119,21,"Senha",false,tab_Register)
  98.     guiLabelSetVerticalAlign(lbl__reg_tab_password,"center")
  99.     guiLabelSetHorizontalAlign(lbl__reg_tab_password,"right",false)
  100.     guiSetFont(lbl__reg_tab_password,"default-bold-small")
  101.    
  102.     edit__reg_tab_password = guiCreateEdit(172,71,176,23,"",false,tab_Register)
  103.     guiEditSetMaxLength ( edit__reg_tab_password,25)
  104.    
  105.     edit__reg_tab_Repassword = guiCreateEdit(172,102,176,23,"",false,tab_Register)
  106.     guiEditSetMaxLength ( edit__reg_tab_Repassword,25)
  107.    
  108.     lvl_reg_tab_Repassword = guiCreateLabel(43,102,119,21,"Confirmar Senha",false,tab_Register)
  109.     guiLabelSetVerticalAlign(lvl_reg_tab_Repassword,"center")
  110.     guiLabelSetHorizontalAlign(lvl_reg_tab_Repassword,"right",false)
  111.     guiSetFont(lvl_reg_tab_Repassword,"default-bold-small")
  112.    
  113.     btn_reg_tab_register = guiCreateButton(153,161,174,42,"Confirmar & Registrar",false,tab_Register)
  114.     guiSetFont(btn_reg_tab_register,"default-bold-small")
  115.    
  116.     reg_tab_error_msg = guiCreateLabel(66,129,364,31,"Error_reg_ttab",false,tab_Register)
  117.     guiLabelSetColor(reg_tab_error_msg,255,20,0)
  118.     guiLabelSetVerticalAlign(reg_tab_error_msg,"center")
  119.     guiLabelSetHorizontalAlign(reg_tab_error_msg,"center",false)
  120.     guiSetFont(reg_tab_error_msg,"default-bold-small")
  121.    
  122.     guiSetVisible(wdwLogin_Pannel,true)
  123.     --guiSetInputEnabled(true)
  124.     showCursor(true)
  125.    
  126.     --Изменение надписей:
  127.     guiSetText(reg_tab_error_msg, "") --Поле ошибки в Reg табе
  128.     guiSetText(login_tab_error_msg, "") --Поле ошибки в Login табе
  129.    
  130.    
  131.     local username, password = loadLoginFromXML()
  132.    
  133.     if not( username == "" or password == "") then
  134.         guiCheckBoxSetSelected ( checkbox_save, true )
  135.         guiSetText ( edit_Login, tostring(username))
  136.         guiSetText ( edit_password, tostring(password))
  137.     else
  138.         guiCheckBoxSetSelected ( checkbox_save, false )
  139.         guiSetText ( edit_Login, tostring(username))
  140.         guiSetText ( edit_password, tostring(password))
  141.     end
  142.  
  143.     --Эвенты
  144.     addEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin)
  145.     addEventHandler("onClientGUIClick",btn_reg_tab_register,onClickBtnRegister)
  146.     if GuestEnable == true then addEventHandler("onClientGUIClick",btnGuest,onClickGuest) end
  147.    
  148.    
  149. --else
  150.     --destroyElement(wdwLogin_Pannel)
  151.     --guiSetInputEnabled(false)
  152.     --wdwLogin_Pannel = nil
  153.     --showCursor(false)
  154. end
  155. end
  156.  
  157.  
  158.  
  159.  
  160. function start_cl_resource() --При старте
  161.     open_log_reg_pannel()
  162. end
  163. addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),start_cl_resource)
  164.  
  165.  
  166. function loadLoginFromXML() --Загрузка логина и пароля из XML
  167.     local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
  168.     if not xml_save_log_File then
  169.         xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
  170.     end
  171.     local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
  172.     local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
  173.     if usernameNode and passwordNode then
  174.         return xmlNodeGetValue(usernameNode), xmlNodeGetValue(passwordNode)
  175.     else
  176.         return "", ""
  177.     end
  178.     xmlUnloadFile ( xml_save_log_File )
  179. end
  180.  
  181.  
  182. function saveLoginToXML(username, password) --Сохрание логина и пароля в XML
  183.     local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
  184.     if not xml_save_log_File then
  185.         xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
  186.     end
  187.     if (username ~= "") then
  188.         local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
  189.         if not usernameNode then
  190.             usernameNode = xmlCreateChild(xml_save_log_File, "username")
  191.         end
  192.         xmlNodeSetValue (usernameNode, tostring(username))
  193.     end
  194.     if (password ~= "") then
  195.         local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
  196.         if not passwordNode then
  197.             passwordNode = xmlCreateChild(xml_save_log_File, "password")
  198.         end    
  199.         xmlNodeSetValue (passwordNode, tostring(password))
  200.     end
  201.     xmlSaveFile(xml_save_log_File)
  202.     xmlUnloadFile (xml_save_log_File)
  203. end
  204. addEvent("saveLoginToXML", true)
  205. addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML)
  206.  
  207.  
  208.  
  209. function resetSaveXML() --Сохрание логина и пароля в XML
  210.         local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
  211.         if not xml_save_log_File then
  212.             xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
  213.         end
  214.         if (username ~= "") then
  215.             local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
  216.             if not usernameNode then
  217.                 usernameNode = xmlCreateChild(xml_save_log_File, "username")
  218.             end
  219.         end
  220.         if (password ~= "") then
  221.             local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
  222.             if not passwordNode then
  223.                 passwordNode = xmlCreateChild(xml_save_log_File, "password")
  224.             end    
  225.             xmlNodeSetValue (passwordNode, "")
  226.         end
  227.         xmlSaveFile(xml_save_log_File)
  228.         xmlUnloadFile (xml_save_log_File)
  229. end
  230. addEvent("resetSaveXML", true)
  231. addEventHandler("resetSaveXML", getRootElement(), resetSaveXML)
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240. function onClickBtnLogin(button,state) --При нажатии на кнопку Login
  241.     if(button == "left" and state == "up") then
  242.         if (source == btn_Login) then
  243.             username = guiGetText(edit_Login)
  244.             password = guiGetText(edit_password)
  245.                 if guiCheckBoxGetSelected ( checkbox_save ) == true then
  246.                     checksave = true
  247.                 else
  248.                     checksave = false
  249.                 end
  250.             triggerServerEvent("onRequestLogin",getLocalPlayer(),username,password,checksave)
  251.         end
  252.     end
  253. end
  254.  
  255.  
  256.  
  257. function onClickBtnRegister(button,state) --При нажатии на кнопку Register and Cofirm
  258.     if(button == "left" and state == "up") then
  259.         if (source == btn_reg_tab_register) then
  260.             username = guiGetText(edit_account_name)
  261.             password = guiGetText(edit__reg_tab_password)
  262.             passwordConfirm = guiGetText(edit__reg_tab_Repassword)
  263.             triggerServerEvent("onRequestRegister",getLocalPlayer(),username,password,passwordConfirm)
  264.         end
  265.     end
  266. end
  267.  
  268.  
  269.  
  270. function Error_msg(Tab, Text)
  271.     if Tab == "Login" then
  272.         guiSetText(login_tab_error_msg, tostring(Text))
  273.         setTimer(function() guiSetText(login_tab_error_msg, "") end,3000,1)
  274.     elseif Tab == "Register" then
  275.         guiSetText(reg_tab_error_msg, tostring(Text))
  276.         setTimer(function() guiSetText(reg_tab_error_msg, "") end,3000,1)
  277.     end
  278. end
  279. addEvent("set_warning_text",true)
  280. addEventHandler("set_warning_text",getRootElement(),Error_msg)
  281.  
  282.  
  283. function onClickGuest(button,state)
  284.     if(button == "left" and state == "up") then
  285.         if (source == btnGuest) then
  286.             guiSetVisible(wdwLogin_Pannel, false)
  287.             guiSetInputEnabled(false)
  288.             showCursor(false)
  289.             if blackLoginScreen == true then
  290.                 fadeCamera(true,blackScreenTime)
  291.             end
  292.         end
  293.     end
  294. end
  295.  
  296.  
  297. function hideLoginWindow() --Функция закрытия логин панели
  298.     guiSetInputEnabled(false)
  299.     guiSetVisible(wdwLogin_Pannel, false)
  300.     destroyElement(wdwLogin_Pannel)
  301.     wdwLogin_Pannel = nil
  302.     showCursor(false)
  303.    
  304.     removeEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin)
  305.     if GuestEnable == true then removeEventHandler("onClientGUIClick",btnGuest,onClickGuest) end
  306.  
  307.     if blackLoginScreen == true then
  308.         fadeCamera(true,blackScreenTime)
  309.     end
  310. end
  311. addEvent("hideLoginWindow", true)
  312. addEventHandler("hideLoginWindow", getRootElement(), hideLoginWindow)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement