Advertisement
Guest User

Untitled

a guest
Apr 1st, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.17 KB | None | 0 0
  1. -- Server!!!!!!
  2.  
  3. function loginit(username, password, boolRememberUsername, boolRememberPassword)
  4. local account = getAccount(username, password)
  5. if (account ~= false) then
  6. logIn(source, account, password)
  7. triggerClientEvent("hidelogin", source)
  8. local user = getAccountName(account)
  9. if (boolRememberUsername and boolRememberPassword) then
  10. status = "both"
  11. elseif (boolRememberUsername and not boolRememberPassword) then
  12. status = "password"
  13. elseif (not boolRememberUsername and boolRememberPassword) then
  14. status = "username"
  15. elseif (not boolRememberUsername and not boolRememberPassword) then
  16. status = "destroyBoth"
  17. end
  18. triggerClientEvent(source, "DGlogin.saveAccountDetails", source, username, password, status)
  19. else
  20. triggerClientEvent("wrng", source)
  21. end
  22. end
  23. addEvent("Login.loginHandler", true)
  24. addEventHandler("Login.loginHandler", getRootElement(), loginit)
  25.  
  26. function register(username, password)
  27. if username == "" then
  28. triggerClientEvent("r_enterUsr", source)
  29. elseif password == "" then
  30. triggerClientEvent("r_enterPw", source)
  31. else
  32. local addedAcc = addAccount(username, password, true)
  33. if addedAcc then
  34. triggerClientEvent("createdMsg", source)
  35. else
  36. triggerClientEvent("registerErr", source)
  37. end
  38. end
  39. end
  40. addEvent("registerHandler", true)
  41. addEventHandler("registerHandler", getRootElement(), register)
  42.  
  43. -- Client!!!!!!
  44.  
  45.  
  46. addEventHandler("onClientResourceStart", resourceRoot,
  47. function()
  48. local screenW, screenH = guiGetScreenSize()
  49. loginwnd = guiCreateWindow((screenW - 469) / 2, (screenH - 180) / 2, 469, 180, "Login", false)
  50. guiWindowSetSizable(loginwnd, false)
  51. guiSetVisible(loginwnd, false)
  52. showCursor(false)
  53.  
  54. username_edit = guiCreateEdit(10, 49, 213, 39, "", false, loginwnd)
  55. login_username_advice = guiCreateLabel(10, 34, 123, 15, "Username:", false, loginwnd)
  56. password_edit = guiCreateEdit(246, 49, 213, 39, "", false, loginwnd)
  57. guiEditSetMasked(password_edit, true)
  58. login_pw_advice = guiCreateLabel(246, 34, 123, 15, "Password:", false, loginwnd)
  59. loginbtn = guiCreateButton(10, 112, 86, 49, "Login", false, loginwnd)
  60. usr_chck = guiCreateCheckBox(10, 92, 15, 15, "", false, false, loginwnd)
  61. remember_usn_label = guiCreateLabel(31, 92, 171, 15, "Remember Username (WIP)", false, loginwnd)
  62. pw_chck = guiCreateCheckBox(246, 92, 15, 15, "", false, false, loginwnd)
  63. remember_pw_label = guiCreateLabel(267, 92, 174, 15, "Remember Password (WIP)", false, loginwnd)
  64. registeropen = guiCreateButton(137, 112, 86, 49, "Register", false, loginwnd)
  65. startintrobtn = guiCreateButton(373, 112, 86, 49, "Introduction", false, loginwnd)
  66. errorlabel = guiCreateLabel(233, 129, 128, 15, "", false, loginwnd)
  67.  
  68.  
  69. registerwnd = guiCreateWindow((screenW - 225) / 2, (screenH - 214) / 2, 225, 214, "Registration", false)
  70. guiWindowSetSizable(registerwnd, false)
  71. guiSetVisible(registerwnd, false)
  72. showCursor(false)
  73.  
  74. registerbtn = guiCreateButton(10, 166, 64, 37, "Register", false, registerwnd)
  75. register_usr = guiCreateEdit(10, 37, 200, 39, "", false, registerwnd)
  76. register_username_advice = guiCreateLabel(10, 22, 124, 15, "Username", false, registerwnd)
  77. register_pw = guiCreateEdit(10, 91, 200, 39, "", false, registerwnd)
  78. guiEditSetMasked(register_pw, true)
  79. register_pw_advice = guiCreateLabel(13, 76, 124, 15, "Password", false, registerwnd)
  80. register_errorlabel = guiCreateLabel(10, 148, 210, 18, "", false, registerwnd)
  81. guiLabelSetColor(register_errorlabel, 36, 254, 0)
  82. accsens = guiCreateLabel(10, 130, 186, 18, "Account names are case sensitive", false, registerwnd)
  83. guiLabelSetColor(accsens, 36, 254, 0)
  84. registerclose = guiCreateButton(74, 166, 64, 37, "Close", false, registerwnd)
  85. addEventHandler("onClientGUIClick", registeropen, showreg, false)
  86. addEventHandler("onClientGUIClick", registerclose, closereg, false)
  87. addEventHandler("onClientGUIClick", loginbtn, loginHandler, false)
  88. addEventHandler("onClientGUIClick", registerbtn, registerHandler, false)
  89. end
  90. )
  91.  
  92. function closereg()
  93. guiSetVisible(registerwnd, false)
  94. guiSetVisible(loginwnd, true)
  95. end
  96.  
  97. function showreg()
  98. guiSetVisible(registerwnd, true)
  99. guiSetVisible(loginwnd, false)
  100. end
  101.  
  102. function loginHandler()
  103. local username = guiGetText(username_edit)
  104. local password = guiGetText(password_edit)
  105. boolRememberUsername = guiCheckBoxGetSelected(usr_chck)
  106. boolRememberPassword = guiCheckBoxGetSelected(pw_chck)
  107. triggerServerEvent("Login.loginHandler", localPlayer, username, password, boolRememberUsername, boolRememberPassword)
  108. end
  109.  
  110. function registerHandler()
  111. local username = guiGetText(register_usr)
  112. local password = guiGetText(register_pw)
  113. triggerServerEvent("registerHandler", localPlayer, username, password)
  114. end
  115.  
  116. function wrng()
  117. guiSetText(errorlabel, "Wrong username/pass!")
  118. guiLabelSetColor(errorlabel, 255, 0, 0)
  119. end
  120. addEvent("wrng", true)
  121. addEventHandler("wrng", getRootElement(), wrng)
  122.  
  123. function registerErr()
  124. guiSetText(register_errorlabel, "This account name is already taken!")
  125. guiLabelSetColor(register_errorlabel, 255, 0, 0)
  126. end
  127. addEvent("registerErr", true)
  128. addEventHandler("registerErr", getRootElement(), registerErr)
  129.  
  130. function enterUsr()
  131. guiSetText(register_errorlabel, "Enter an username!")
  132. guiLabelSetColor(register_errorlabel, 255, 0, 0)
  133. end
  134. addEvent("r_enterUsr", true)
  135. addEventHandler("r_enterUsr", getRootElement(), enterUsr)
  136.  
  137. function r_enterPw()
  138. guiSetText(register_errorlabel, "Enter a password!")
  139. guiLabelSetColor(register_errorlabel, 255, 0, 0)
  140. end
  141. addEvent("r_enterPw", true)
  142. addEventHandler("r_enterPw", getRootElement(), r_enterPw)
  143.  
  144. function createdMsg()
  145. local username = guiGetText(register_usr)
  146. guiSetText(register_errorlabel, "Account created!")
  147. guiLabelSetColor(register_errorlabel, 0, 255, 0)
  148. guiSetText(errorlabel, "You can now login!")
  149. guiLabelSetColor(errorlabel, 0, 255, 0)
  150. guiSetVisible(registerwnd, false)
  151. guiSetVisible(loginwnd, true)
  152. end
  153. addEvent("createdMsg", true)
  154. addEventHandler("createdMsg", getRootElement(), createdMsg)
  155.  
  156. function hidelogin()
  157. guiSetVisible(loginwnd, false)
  158. showCursor(false)
  159. guiSetText(errorlabel, "Logged in")
  160. guiLabelSetColor(errorlabel, 0, 255, 0)
  161. showChat(true)
  162. setPlayerHudComponentVisible("all", true)
  163. end
  164. addEvent("hidelogin", true)
  165. addEventHandler("hidelogin", getRootElement(), hidelogin)
  166.  
  167. function shownd()
  168. guiSetVisible(loginwnd, true)
  169. showCursor(true)
  170. showChat(false)
  171. setPlayerHudComponentVisible("all", false)
  172. end
  173. addEventHandler("onClientResourceStart", resourceRoot, shownd)
  174. addEventHandler("onClientPlayerJoin", localPlayer, shownd)
  175.  
  176. -- Data!!!!
  177.  
  178. function loadAccountDetailsUsername()
  179. local detailsFile = xmlLoadFile("accountdata.xml")
  180. if (not detailsFile) then
  181. detailsFile = xmlCreateFile("accountdata.xml", "Userdata")
  182. end
  183. local userNode = xmlFindChild(detailsFile, "account", 0)
  184. if (userNode) then
  185. return xmlNodeGetValue(userNode)
  186. else
  187. return ""
  188. end
  189. end
  190.  
  191. function loadAccountDetailsPassword()
  192. local detailsFile = xmlLoadFile("accountdata.xml")
  193. if (not detailsFile) then
  194. detailsFile = xmlCreateFile("accountdata.xml", "Userdata")
  195. end
  196. local passNode = xmlFindChild(detailsFile, "password", 0)
  197. if (passNode) then
  198. return xmlNodeGetValue(passNode)
  199. else
  200. return ""
  201. end
  202. end
  203.  
  204. function saveAccountDetails(username, password, bool)
  205. local dataFile = xmlLoadFile("accountdata.xml")
  206. if (not dataFile) then
  207. dataFile = xmlCreateFile("accountdata.xml", "Userdata")
  208. end
  209. if (username ~= "") then
  210. local userNode = xmlFindChild(dataFile, "account", 0)
  211. if (not userNode) then
  212. userNode = xmlCreateChild(dataFile, "account")
  213. end
  214. xmlNodeSetValue(userNode, username)
  215. if (bool == "username" or bool == "destroyBoth") then xmlDestroyNode(userNode) end
  216. end
  217. if (password ~= "") then
  218. local passNode = xmlFindChild(dataFile, "password", 0)
  219. if (not passNode) then
  220. passNode = xmlCreateChild(dataFile, "password")
  221. end
  222. xmlNodeSetValue(passNode, password)
  223. if (bool == "password" or bool == "destroyBoth") then xmlDestroyNode(passNode) end
  224. end
  225. xmlSaveFile(dataFile)
  226. xmlUnloadFile(dataFile)
  227. end
  228. addEvent("DGlogin.saveAccountDetails", true)
  229. addEventHandler("DGlogin.saveAccountDetails", root, saveAccountDetails)
  230.  
  231. function writeAccountDetailsIntoGUI()
  232. local account, password = loadAccountDetailsUsername(), loadAccountDetailsPassword()
  233. guiSetText(username_edit, account)
  234. guiSetText(password_edit, password)
  235. if (account ~= "") then guiCheckBoxSetSelected(usr_chck, true) end
  236. if (password ~= "") then guiCheckBoxSetSelected(pw, true) end
  237. end
  238. addEvent("DGlogin.writeAccountDetailsIntoGUI", true)
  239. addEventHandler("DGlogin.writeAccountDetailsIntoGUI", root, writeAccountDetailsIntoGUI)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement