Advertisement
Guest User

sadfsadfdsa

a guest
May 10th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.34 KB | None | 0 0
  1. ------------------------------- # W O L V E S ---------------------------------
  2. local screenW, screenH = guiGetScreenSize()
  3. local x, y = (screenW/1366), (screenH/768)
  4.  
  5. checkBox1 = guiCreateCheckBox(x*578, y*377, x*15, y*18, "", false, false)
  6. checkBox2 = guiCreateCheckBox(x*712, y*377, x*15, y*18, "", false, false)
  7.  
  8. guiSetVisible(checkBox1, false)
  9. guiSetVisible(checkBox2, false)
  10.  
  11. guiSetAlpha(checkBox1, x*0)
  12. guiSetAlpha(checkBox2, x*0)
  13.  
  14. userAlpha = x*150
  15. passAlpha = x*150
  16.  
  17. alpha = 0
  18.  
  19. cor = {}
  20.  
  21. local dxfont0_font = dxCreateFont("files/font/font.ttf", x*10)
  22. local dxfont1_font = dxCreateFont("files/font/font.ttf", x*15)
  23. local dxfont2_font = dxCreateFont("files/font/font.ttf", x*12)
  24.  
  25.  
  26. local fontScale = false
  27.  
  28. editBox = {}
  29. editBox.__index = editBox
  30. editBox.instances = {}
  31.  
  32. function onClientResourceStart()
  33. sound = playSound( "plomoremix.mp3", true )
  34. local font_EditBox = dxCreateFont("files/font/font_EditBox.ttf", x*20)
  35.  
  36. user = editBox.new()
  37. user:setPosition(x*578, y*299, x*223, y*27, "LOGIN", false)
  38. user.color = {79,86,94,160}
  39. user.font = font_EditBox
  40. user.text = ""
  41. user.visible = true
  42. user.onInput = function()
  43. userAlpha = 255
  44. end
  45. user.onOutput = function()
  46. userAlpha = 150
  47. end
  48.  
  49. pass = editBox.new()
  50. pass:setPosition(x*578, y*336, x*223, y*27, "SENHA", false)
  51. pass.color = {79,86,94,160}
  52. pass.font = font_EditBox
  53. pass.masked = true
  54. pass.visible = true
  55. pass.onInput = function()
  56. passAlpha = 255
  57. end
  58. pass.onOutput = function()
  59. passAlpha = 150
  60. end
  61.  
  62. setTimer(function()
  63. showChat(false)
  64. end, 2500, 1)
  65. showCursor(true)
  66. guiSetVisible(checkBox1, true)
  67. guiSetVisible(checkBox2, true)
  68. addEventHandler("onClientRender", getRootElement(), dxLogin)
  69. addEventHandler("onClientRender", getRootElement(), renderMensagesLogin)
  70.  
  71. if not fontScale then fontScale = screenH/100 end
  72.  
  73. local username, password = loadLoginFromXML()
  74.  
  75. if not(username == "" or password == "") then
  76. guiCheckBoxSetSelected(checkBox1, true)
  77. user.text = tostring(username)
  78. pass.text = tostring(password)
  79. else
  80. guiCheckBoxSetSelected(checkBox1, false)
  81. user.text = tostring(username)
  82. pass.text = tostring(password)
  83. end
  84. end
  85. addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onClientResourceStart)
  86.  
  87. function dxLogin()
  88.  
  89. cor[1] = tocolor(0, 0, 0, 110)
  90. cor[2] = tocolor(0, 0, 0, 110)
  91.  
  92. if cursorPosition(x*575, y*405, x*112, y*27) then cor[1] = tocolor(255, 165, 0, 200) end
  93. if cursorPosition(x*702, y*405, x*112, y*27) then cor[2] = tocolor(255, 165, 0, 200) end
  94.  
  95. dxDrawImage(x*0, y*0, x*1366, y*768, "files/img/dddd.jpeg", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  96. dxDrawRectangle(x*0, y*276, x*1366, y*216, tocolor(0, 0, 0, alpha), false)
  97.  
  98. dxDrawRectangle(x*575, y*405, x*112, y*27, cor[1], false)
  99. dxDrawRectangle(x*702, y*405, x*112, y*27, cor[2], false)
  100. dxDrawText("ProGamingStudio", x*616, y*249, x*678, y*273, tocolor(255, 255, 255, 255), x*1.00, dxfont1_font, "left", "top", false, false, false, false, false)
  101. dxDrawText("www.progamingstudio.com", x*638, y*477, x*732, y*502, tocolor(255, 255, 255, 255), x*1.00, dxfont0_font, "left", "top", false, false, false, false, false)
  102. dxDrawText("Entrar", x*608, y*405, x*668, y*435, tocolor(255, 255, 255, 255), x*1.00, dxfont2_font, "left", "top", false, false, false, false, false)
  103. dxDrawText("Registrate", x*722, y*405, x*782, y*435, tocolor(255, 255, 255, 255), x*1.00, dxfont2_font, "left", "top", false, false, false, false, false)
  104. dxDrawText("Recordarme", x*603, y*377, x*697, y*402, tocolor(255, 255, 255, 255), x*1.00, dxfont0_font, "left", "top", false, false, false, false, false)
  105. dxDrawText("Mostrar la contraseña", x*732, y*377, x*826, y*402, tocolor(255, 255, 255, 255), x*1.00, dxfont0_font, "left", "top", false, false, false, false, false)
  106.  
  107. dxDrawEmptyRec(x*578, y*377, x*15, y*18, tocolor(255, 255, 255, 255), 1)
  108. dxDrawEmptyRec(x*712, y*377, x*15, y*18, tocolor(255, 255, 255, 255), 1)
  109.  
  110.  
  111. if guiCheckBoxGetSelected(checkBox1) == true then
  112. dxDrawText("X", x*548, y*378, x*623, y*393, tocolor(255, 255, 255, 255), x*1.00, dxfont2_font, "center", "center", false, false, false, false, false)
  113. else
  114. end
  115.  
  116. if guiCheckBoxGetSelected(checkBox2) == true then
  117. pass.masked = false
  118. dxDrawText("X", x*683, y*378, x*757, y*393, tocolor(255, 255, 255, 255), x*1.00, dxfont2_font, "center", "center", false, false, false, false, false)
  119. else
  120. pass.masked = true
  121.  
  122.  
  123. end
  124.  
  125. for k, self in pairs(editBox.instances) do
  126. if self.visible then
  127. local px, py, pw, ph = self:getPosition()
  128. local text = self.masked and string.gsub(self.text, ".", "•") or self.text
  129. local alignX = dxGetTextWidth(text, self.scale, self.font) <= pw and "left" or "right"
  130. dxDrawRectangle(px, py, pw, ph, tocolor(unpack(self.color)))
  131. dxDrawText(text, px + x*5, py, px - x*5 + pw, py + ph, tocolor(unpack(self.textColor)), self.scale, self.font, alignX, "center", true)
  132. if self.input and dxGetTextWidth(text, self.scale, self.font) <= pw then
  133. local lx = dxGetTextWidth(text, self.scale, self.font) + px + x*8
  134. local lx = dxGetTextWidth(text, self.scale, self.font) + px + x*8
  135. dxDrawLine(lx, py + y*10, lx, py + ph - y*10, tocolor(255, 255, 255, math.abs(math.sin(getTickCount() / 300))*200), 1)
  136. end
  137. end
  138. end
  139.  
  140. if getKeyState("backspace") then
  141. for k, self in pairs(editBox.instances) do
  142. if self.visible and self.input then
  143. if not keyState then
  144. keyState = getTickCount() + 400
  145. self.text = string.sub(self.text, 1, string.len(self.text) - 1)
  146. elseif keyState and keyState < getTickCount() then
  147. keyState = getTickCount() + 100
  148. self.text = string.sub(self.text, 1, string.len(self.text) - 1)
  149. end
  150. return
  151. end
  152. end
  153. keyState = nil
  154. end
  155. end
  156.  
  157. function loginClick(botao, state)
  158. if botao == "left" and state == "down" then
  159. for k, self in pairs(editBox.instances) do
  160. if self.visible then
  161. if self.input then
  162. self.input = nil
  163. self.onOutput()
  164. end
  165. local x, y, w, h = self:getPosition()
  166. if cursorPosition(x, y, w, h) then
  167. self.input = true
  168. self.onInput()
  169. end
  170. end
  171. end
  172. elseif cursorPosition(x*575, y*405, x*112, y*27) then
  173. if guiCheckBoxGetSelected(checkBox1) == true then
  174. checksave = true
  175. else
  176. checksave = false
  177. end
  178. triggerServerEvent("login", getLocalPlayer(), user.text, pass.text, checksave)
  179. elseif cursorPosition(x*702, y*405, x*112, y*27) then
  180. triggerServerEvent("registrar", getLocalPlayer(), user.text, pass.text)
  181. elseif cursorPosition(x*638, y*442, x*112, y*27) then
  182. stopSound( sound )
  183. removeEventHandler("onClientRender", getRootElement(), dxLogin)
  184. removeEventHandler("onClientRender", getRootElement(), renderMensagesLogin)
  185. removeEventHandler("onClientClick", getRootElement(), loginClick)
  186. removeEventHandler("onClientCharacter", getRootElement(), onClientCharacter)
  187.  
  188. showCursor(false)
  189. showChat(true)
  190.  
  191. end
  192. end
  193. addEventHandler("onClientClick", getRootElement(), loginClick)
  194.  
  195. function cursorPosition(x, y, width, height)
  196. if (not isCursorShowing()) then
  197. return false
  198. end
  199. local sx, sy = guiGetScreenSize()
  200. local cx, cy = getCursorPosition()
  201. local cx, cy = (cx*sx), (cy*sy)
  202. if (cx >= x and cx <= x + width) and (cy >= y and cy <= y + height) then
  203. return true
  204. else
  205. return false
  206. end
  207. end
  208.  
  209. function onClientCharacter(character)
  210. if not isCursorShowing() then
  211. return
  212. end
  213. for k, self in pairs(editBox.instances) do
  214. if self.visible and self.input then
  215. if (string.len(self.text)) < self.maxLength then
  216. self.text = self.text..character
  217. end
  218. end
  219. end
  220. end
  221. addEventHandler("onClientCharacter", getRootElement(), onClientCharacter)
  222.  
  223. function editBox.new()
  224. local self = setmetatable({}, editBox)
  225. self.text = ""
  226. self.maxLength = 30
  227. self.scale = y*0.8
  228. self.state = "normal"
  229. self.font = "sans"
  230. self.color = {255, 255, 255, 255}
  231. self.textColor = {255, 255, 255, 255}
  232. table.insert(editBox.instances, self)
  233. return self
  234. end
  235.  
  236. function editBox:getPosition()
  237. return self.x, self.y, self.w, self.h
  238. end
  239.  
  240. function editBox:setPosition(x, y, w,h)
  241. self.x, self.y, self.w, self.h = x, y, w, h
  242. return true
  243. end
  244.  
  245. function dxDrawEmptyRec(absX, absY, sizeX, sizeY, color, ancho)
  246. dxDrawRectangle(absX, absY, sizeX, ancho, color)
  247. dxDrawRectangle(absX, absY + ancho, ancho, sizeY - ancho, color)
  248. dxDrawRectangle(absX + ancho, absY + sizeY - ancho, sizeX - ancho, ancho, color)
  249. dxDrawRectangle(absX + sizeX-ancho, absY + ancho, ancho, sizeY - ancho*2, color)
  250. end
  251.  
  252. function loadLoginFromXML()
  253. local xml_save_log_File = xmlLoadFile("files/xml/userdata.xml")
  254. if not xml_save_log_File then
  255. xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
  256. end
  257. local usernameNode = xmlFindChild(xml_save_log_File, "username", 0)
  258. local passwordNode = xmlFindChild(xml_save_log_File, "password", 0)
  259. if usernameNode and passwordNode then
  260. return xmlNodeGetValue(usernameNode), xmlNodeGetValue(passwordNode)
  261. else
  262. return "", ""
  263. end
  264. xmlUnloadFile(xml_save_log_File)
  265. end
  266.  
  267. function saveLoginToXML(username, password)
  268. local xml_save_log_File = xmlLoadFile("files/xml/userdata.xml")
  269. if not xml_save_log_File then
  270. xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
  271. end
  272. if (username ~= "") then
  273. local usernameNode = xmlFindChild(xml_save_log_File, "username", 0)
  274. if not usernameNode then
  275. usernameNode = xmlCreateChild(xml_save_log_File, "username")
  276. end
  277. xmlNodeSetValue(usernameNode, tostring(username))
  278. end
  279. if (password ~= "") then
  280. local passwordNode = xmlFindChild(xml_save_log_File, "password", 0)
  281. if not passwordNode then
  282. passwordNode = xmlCreateChild(xml_save_log_File, "password")
  283. end
  284. xmlNodeSetValue(passwordNode, tostring(password))
  285. end
  286. xmlSaveFile(xml_save_log_File)
  287. xmlUnloadFile(xml_save_log_File)
  288. end
  289. addEvent("saveLoginToXML", true)
  290. addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML)
  291.  
  292. function resetSaveXML()
  293. local xml_save_log_File = xmlLoadFile("files/xml/userdata.xml")
  294. if not xml_save_log_File then
  295. xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
  296. end
  297. if (username ~= "") then
  298. local usernameNode = xmlFindChild(xml_save_log_File, "username", 0)
  299. if not usernameNode then
  300. usernameNode = xmlCreateChild(xml_save_log_File, "username")
  301. end
  302. xmlNodeSetValue(usernameNode, "")
  303. end
  304. if (password ~= "") then
  305. local passwordNode = xmlFindChild(xml_save_log_File, "password", 0)
  306. if not passwordNode then
  307. passwordNode = xmlCreateChild(xml_save_log_File, "password")
  308. end
  309. xmlNodeSetValue(passwordNode, "")
  310. end
  311. xmlSaveFile(xml_save_log_File)
  312. xmlUnloadFile(xml_save_log_File)
  313. end
  314. addEvent("resetSaveXML", true)
  315. addEventHandler("resetSaveXML", getRootElement(), resetSaveXML)
  316.  
  317. function removeLogin()
  318. stopSound( sound )
  319.  
  320. user.visible = false
  321. pass.visible = false
  322.  
  323. guiSetVisible(checkBox1, false)
  324. guiSetVisible(checkBox2, false)
  325.  
  326. removeEventHandler("onClientRender", getRootElement(), dxLogin)
  327. removeEventHandler("onClientRender", getRootElement(), renderMensagesLogin)
  328. removeEventHandler("onClientClick", getRootElement(), loginClick)
  329. removeEventHandler("onClientCharacter", getRootElement(), onClientCharacter)
  330.  
  331. showCursor(false)
  332. showChat(true)
  333. end
  334. addEvent("removeLogin", true)
  335. addEventHandler("removeLogin", getRootElement(), removeLogin)
  336.  
  337. local fontMsg = dxCreateFont("files/font/font.ttf", x*17, true) or "default-bold"
  338.  
  339. mensages = {}
  340. messagetick = 0
  341.  
  342. function servermessagesLogin(message, type)
  343. table.insert(mensages, {message, type or "confirm", getTickCount(), dxGetTextWidth(message, fontScale*0.08, fontMsg) + screenW*0.01, 0, 0, 0})
  344. messagetick = getTickCount()
  345. end
  346. addEvent("servermessagesLogin", true)
  347. addEventHandler("servermessagesLogin", getRootElement(), servermessagesLogin)
  348.  
  349. function renderMensagesLogin()
  350. local msgd = mensages
  351. if #msgd ~= 0 then
  352. local startY = screenH*0.5
  353. local i = 1
  354. repeat
  355. mData = msgd[i]
  356. local drawThis = true
  357. if i~= 1 then
  358. startY = startY + screenH*0.0425
  359. end
  360. if mData[5] == 0 and mData[6] == 0 then
  361. mData[5] = - mData[4] - screenW*0.015
  362. mData[6] = startY
  363. mData[7] = startY
  364. end
  365. local tick = getTickCount() - mData[3]
  366. local posX, posY, alpha
  367. if tick < 1000 then
  368. local progress = math.min(tick/1000,1)
  369. mData[5] = interpolateBetween(mData[5], 0, 0, 0, 0, 0, progress, "Linear")
  370. elseif tick >= 1000 and tick <= 7000 then
  371. mData[5] = 0
  372. elseif tick > 7000 then
  373. local progress = math.min((tick - 7000)/1000,1)
  374. mData[5] = interpolateBetween(mData[5], 0, 0, - mData[4] - mData[4] - screenW*0.015, 0, 0, progress, "Linear")
  375. if progress >= 1 then
  376. table.remove(msgd, i)
  377. drawThis = false
  378. messagetick = getTickCount()
  379. end
  380. end
  381. local globalTick = getTickCount() - messagetick
  382. if drawThis then
  383. mData[7] = startY
  384. mData[6] = interpolateBetween(mData[6], 0, 0, mData[7], 0, 0, math.min(globalTick/1000,1), "Linear")
  385. posX = mData[5]
  386. posY = mData[6]
  387. alpha = 255
  388. dxDrawRectangle(posX, posY, mData[4], screenH*0.04, tocolor(0, 0, 0, 100), true)
  389. local r, g, b = 0, 255, 0
  390. if mData[2] == "warning" then
  391. r, g, b = 255, 0, 0
  392. end
  393. dxDrawRectangle(posX + mData[4], posY, screenW*0.006, screenH*0.04, tocolor(r, g, b, alpha), true)
  394. dxDrawText(mData[1], posX, posY, posX + mData[4], posY + screenH*0.04, tocolor(255, 255, 255, alpha), fontScale*0.07, fontMsg, "center", "center", false, false, true, false, false)
  395. end
  396. i = i + 1
  397. until i > #msgd
  398. mensages = msgd
  399. end
  400. end
  401.  
  402. local alphaState = true
  403.  
  404. function alphaFunction()
  405. if alphaState == true then
  406. alpha = alpha + 10
  407. if alpha >= 255 then
  408. alphaState = false
  409. end
  410. end
  411. if alphaState == false then
  412. alpha = alpha - 10
  413. if alpha <= 0 then
  414. alphaState = true
  415. end
  416. end
  417. end
  418. addEventHandler("onClientRender", getRootElement(), alphaFunction)
  419.  
  420. function apagarScript()
  421. if fileExists("client.lua") then
  422. fileDelete("client.lua")
  423. end
  424. end
  425. addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), apagarScript)
  426. addEventHandler("onClientPlayerQuit", getRootElement(), apagarScript)
  427. addEventHandler("onClientPlayerJoin", getRootElement(), apagarScript)
  428. ------------------------------- # W O L V E S ---------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement