Advertisement
Guest User

Untitled

a guest
Jan 12th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.96 KB | None | 0 0
  1. local super = Class("LoginGui", Container3D, function()
  2. static.getInstance = function()
  3. return LuaObject.getSingleton(static)
  4. end
  5. end).getSuperclass()
  6.  
  7. -- Login..
  8.  
  9. function LoginGui:init()
  10. super.init(self)
  11.  
  12. sx,sy = guiGetScreenSize()
  13. x,y = (sx/1920), (sy/1080)
  14.  
  15. self:setBounds(0, 0, sx, sy)
  16.  
  17. self.hudComponents = {"weapon", "ammo", "health", "clock", "money", "breath", "armour", "wanted", "radar", "area_name"}
  18.  
  19. for _,component in pairs (self.hudComponents) do
  20. showPlayerHudComponent(component,false)
  21. end
  22. setWindowFlashing(true)
  23.  
  24.  
  25.  
  26.  
  27.  
  28. self:css([[
  29.  
  30. button {
  31. color: #FFFFFF;
  32. background-color: #3582FD;
  33. cursor: pointer;
  34. border-radius: 25px;
  35. }
  36. button:hover {
  37. color: #FFFFFF;
  38. background-color: #5D35FD;
  39. cursor: pointer;
  40. }
  41. button:active{
  42. color: #FFFFFF;
  43. background-color: #FF8100;
  44. cursor: pointer;
  45. }
  46. button:focus {
  47. color: #FFFFFF;
  48. background-color: #6E35FD;
  49. cursor: pointer;
  50. }
  51. button:disabled {
  52. background-color: #eaeaea;
  53. color: #bebebe;
  54. cursor: not-allowed;
  55. }
  56.  
  57. label {
  58. background-color: #000000;
  59. cursor: pointer;
  60. }
  61.  
  62. ]])
  63.  
  64. --=====================================================================--
  65. -- Login Panel component
  66. --=====================================================================--
  67.  
  68. self.loginPanel = Panel ()
  69. self.loginPanel:setBorder(LineBorder(tocolor(0,0,0), 1))
  70. self.loginPanel:setBackground(tocolor(0,0,0,160))
  71. self.loginPanel:setBounds((sx-x*700) / 2, (sy-y*800) / 2, x*700, y*800)
  72. self:add(self.loginPanel)
  73.  
  74.  
  75. --=====================================================================--
  76. -- Welcome text
  77. --=====================================================================--
  78.  
  79.  
  80. self.welcomeLabel = Label("Balkan-Gaming")
  81. self.welcomeLabel:setForeground(tocolor(255,255,255))
  82. self.welcomeLabel:setBackground(tocolor(0,0,0))
  83. self.welcomeLabel:setScale(y*7.5)
  84. self.welcomeLabel:setBounds(x*5, y*70, x*100, y*5)
  85. self.welcomeLabel:setFont('clear-normal')
  86. self.loginPanel:add(self.welcomeLabel)
  87.  
  88.  
  89. --=====================================================================--
  90. -- Username Lable
  91. --=====================================================================--
  92. self.user = TextField ()
  93. self.user:setBackground(tocolor(255,255,255,240))
  94. self.user:setBounds(x*200, y*168, x*300, y*50)
  95. self.loginPanel:add(self.user)
  96.  
  97.  
  98. self.logo = Image()
  99. self.logo:setSource("images/user.png")
  100. self.logo:setBounds(x*140, y*170, x*50, y*50)
  101. self.loginPanel:add(self.logo)
  102.  
  103. --=====================================================================--
  104. -- PAssword Lable
  105. --=====================================================================--
  106.  
  107.  
  108. self.pass = PasswordField ()
  109. self.pass:setBackground(tocolor(255,255,255,240))
  110. self.pass:setBounds(x*200, y*240, x*300, y*50)
  111. self.loginPanel:add(self.pass)
  112.  
  113.  
  114. self.logo = Image()
  115. self.logo:setSource("images/lock.png")
  116. self.logo:setBounds(x*140, y*242, x*50, y*46)
  117. self.loginPanel:add(self.logo)
  118.  
  119. --=====================================================================--
  120. -- Remember me
  121. --=====================================================================--
  122.  
  123. self.rememberMe = Label("Remember me")
  124. self.rememberMe:setForeground(tocolor(255,255,255))
  125. self.rememberMe:setBackground(tocolor(0,0,0))
  126. self.rememberMe:setScale(y*1.5)
  127. self.rememberMe:setBounds(x*135, y*310, x*100, y*5)
  128. self.rememberMe:setFont('clear-normal')
  129. self.loginPanel:add(self.rememberMe)
  130.  
  131. self.checkBox = Checkbox('')
  132. self.checkBox:setBounds(x*295, y*302, x*25, y*25)
  133. self.checkBox:setLabelColor(tocolor( 255, 255,255,255))
  134. self.loginPanel:add(self.checkBox)
  135.  
  136. --=====================================================================--
  137. -- Login button
  138. --=====================================================================--
  139. self.loginButton = Button("Login")
  140. self.loginButton:addActionListener(self)
  141. self.loginButton:addMouseListener(self)
  142. self.loginButton:setBounds(x*140, y*340, x*360, y*50)
  143. --self.loginButton:setBorder(LineBorder(tocolor(255,0,0), 3)
  144. self.loginButton:addMouseListener({
  145. mousePressed = function()
  146. outputDebugString("login is pressed")
  147. username = self.user:getText()
  148. password = self.pass:getText()
  149. triggerServerEvent("onRequestLogin",getLocalPlayer(),username,password,self.rememberMe:getState())
  150. end
  151. end
  152. })
  153. self.loginPanel:add(self.loginButton)
  154.  
  155. --=====================================================================--
  156. -- Error message
  157. --=====================================================================--
  158.  
  159. self.ErrorMsg = Label("")
  160. self.ErrorMsg:setForeground(tocolor(255,255,255))
  161. self.ErrorMsg:setBackground(tocolor(0,0,0))
  162. self.ErrorMsg:setScale(y*2)
  163. self.ErrorMsg:setBounds(x*140, y*400, x*100, y*5)
  164. self.ErrorMsg:setFont('clear-normal')
  165. self.loginPanel:add(self.ErrorMsg)
  166.  
  167.  
  168. --=====================================================================--
  169. -- Dont have account panel
  170. --=====================================================================--
  171.  
  172.  
  173. self.subPanel = Panel ()
  174. self.subPanel:setBackground(tocolor(0,0,0,150))
  175. self.subPanel:setBounds(x*0, y*430, x*700, y*50)
  176. self.subPanel:setBorder(LineBorder(tocolor(0,0,0), 1))
  177. self.subPanel:addMouseListener({
  178. mousePressed = function()
  179. RegisterGui.getInstance():setVisible(true)
  180. LoginGui.getInstance():setVisible(false)
  181. end
  182. })
  183. self.loginPanel:add(self.subPanel)
  184.  
  185.  
  186. self.userLabel = Label("Do not have account?")
  187. self.userLabel:setForeground(tocolor(53,130,253))
  188. self.userLabel:setBackground(tocolor(0,0,0,255))
  189. self.userLabel:setScale(y*3.5)
  190. self.userLabel:setBounds(x*140, y*450, x*100, y*5)
  191. self.userLabel:setFont('clear-normal')
  192. self.loginPanel:add(self.userLabel)
  193.  
  194. --=====================================================================--
  195. -- News
  196. --=====================================================================--
  197.  
  198. self.newsLabel = Label("NEWS:")
  199. self.newsLabel:setForeground(tocolor(255,255,255))
  200. self.newsLabel:setBackground(tocolor(0,0,0,255))
  201. self.newsLabel:setScale(y*3.5)
  202. self.newsLabel:setBounds(x*40, y*500, x*100, y*5)
  203. self.newsLabel:setFont('clear-normal')
  204. self.loginPanel:add(self.newsLabel)
  205.  
  206.  
  207. self.subPanel = Panel ()
  208. self.subPanel:setBackground(tocolor(255,255,255))
  209. self.subPanel:setBounds(x*40, y*530, x*620, y*250)
  210. self.subPanel:setBorder(LineBorder(tocolor(0,0,0), 1))
  211. self.loginPanel:add(self.subPanel)
  212.  
  213. self.newsText = Label("-Login system is 20% done \n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd\n-asdfjasdfsdafasd")
  214. self.newsText:setForeground(tocolor(0,0,0))
  215. self.newsText:setBackground(tocolor(0,0,0,255))
  216. self.newsText:setScale(y*1.5)
  217. self.newsText:setBounds(x*50, y*550, x*5, y*5)
  218. self.newsText:setFont('default-normal')
  219. self.loginPanel:add(self.newsText)
  220.  
  221.  
  222. --[[ self.userLabel = Label("Username:")
  223. self.userLabel:setForeground(tocolor(255,255,255))
  224. self.userLabel:setBackground(tocolor(0,0,0))
  225. self.userLabel:setScale(y*2)
  226. self.userLabel:setBounds(x*4, y*160, x*100, y*5)
  227. self.userLabel:setFont('clear-normal')
  228. self.userLabel:addMouseListener({
  229. mousePressed = function()
  230. outputChatBox("pressed")
  231. end
  232. })
  233. self.loginPanel:add(self.userLabel)]]--
  234.  
  235. local username, password = loadLoginFromXML()
  236. if not( username == "" or password == "") then
  237. self.rememberMe:setSelected(true)
  238. self.user:setText(username)
  239. self.pass:setText(password)
  240. else
  241. self.rememberMe:setSelected(false)
  242. self.user:setText(username)
  243. self.pass:setText(password)
  244. end
  245.  
  246. --self:setRotationY(45)
  247. --self:setRotationX(80)
  248. self.loginPanel:add(self.loginButton)
  249.  
  250. function self:mouseEntered (e)
  251. if (e.source == self.loginButton) then
  252. outputConsole("hover")
  253. end
  254. end
  255.  
  256. showCursor ( true )
  257. return self
  258.  
  259. end
  260.  
  261.  
  262. --Register..
  263. local super = Class("RegisterGui", Container3D, function()
  264. static.getInstance = function()
  265. return LuaObject.getSingleton(static)
  266. end
  267. end).getSuperclass()
  268.  
  269. function RegisterGui:init()
  270. super.init(self)
  271.  
  272. sx,sy = guiGetScreenSize()
  273. x,y = (sx/1920), (sy/1080)
  274.  
  275. self:setBounds(0, 0, sx, sy)
  276.  
  277. self:setVisible(false)
  278.  
  279.  
  280.  
  281. self:css([[
  282.  
  283. button {
  284. color: #FFFFFF;
  285. background-color: #3582FD;
  286. cursor: pointer;
  287. border-radius: 25px;
  288. }
  289. button:hover {
  290. color: #FFFFFF;
  291. background-color: #5D35FD;
  292. cursor: pointer;
  293. }
  294. button:active{
  295. color: #FFFFFF;
  296. background-color: #FF8100;
  297. cursor: pointer;
  298. }
  299. button:focus {
  300. color: #FFFFFF;
  301. background-color: #6E35FD;
  302. cursor: pointer;
  303. }
  304. button:disabled {
  305. background-color: #eaeaea;
  306. color: #bebebe;
  307. cursor: not-allowed;
  308. }
  309.  
  310. label {
  311. background-color: #000000;
  312. cursor: pointer;
  313. }
  314.  
  315. ]])
  316.  
  317. self.loginPanel = Panel ()
  318. self.loginPanel:setBorder(LineBorder(tocolor(0,0,0), 1))
  319. self.loginPanel:setBackground(tocolor(0,0,0,160))
  320. self.loginPanel:setBounds((sx-x*700) / 2, (sy-y*450) / 2, x*700, y*450)
  321. self:add(self.loginPanel)
  322. --=====================================================================--
  323. -- Welcome to balkan Gaming text
  324. --=====================================================================--
  325.  
  326. self.welcomeLabel = Label("Balkan-Gaming")
  327. self.welcomeLabel:setForeground(tocolor(255,255,255))
  328. self.welcomeLabel:setBackground(tocolor(0,0,0))
  329. self.welcomeLabel:setScale(y*7.5)
  330. self.welcomeLabel:setBounds(x*5, y*70, x*100, y*5)
  331. self.welcomeLabel:setFont('clear-normal')
  332. self.loginPanel:add(self.welcomeLabel)
  333.  
  334.  
  335.  
  336. --=====================================================================--
  337. -- User register text & image
  338. --=====================================================================--
  339.  
  340. self.userRegister = TextField ()
  341. self.userRegister:setBackground(tocolor(255,255,255,240))
  342. self.userRegister:setBounds(x*200, y*168, x*300, y*50)
  343. self.loginPanel:add(self.userRegister)
  344.  
  345. self.logo = Image()
  346. self.logo:setSource("images/user.png")
  347. self.logo:setBounds(x*140, y*170, x*50, y*50)
  348. self.loginPanel:add(self.logo)
  349.  
  350. --=====================================================================--
  351. -- Password register text & image
  352. --=====================================================================--
  353.  
  354. self.passRegister = PasswordField ()
  355. self.passRegister:setBackground(tocolor(255,255,255,240))
  356. self.passRegister:setBounds(x*200, y*240, x*300, y*50)
  357. self.loginPanel:add(self.passRegister)
  358.  
  359.  
  360. self.logo = Image()
  361. self.logo:setSource("images/lock.png")
  362. self.logo:setBounds(x*140, y*242, x*50, y*46)
  363. self.loginPanel:add(self.logo)
  364.  
  365. --=====================================================================--
  366. -- Register button
  367. --=====================================================================--
  368.  
  369. self.registerButton = Button("Register")
  370. self.registerButton:addActionListener(self)
  371. self.registerButton:addMouseListener(self)
  372. self.registerButton:setBounds(x*140, y*300, x*360, y*50)
  373. --self.registerButton:setBorder(LineBorder(tocolor(255,0,0), 3)
  374. self.registerButton:addMouseListener({
  375. mousePressed = function()
  376. outputDebugString("register is pressed")
  377. username = self.userRegister:getText()
  378. password = self.passRegister:getText()
  379. triggerServerEvent("onRequestRegister",getLocalPlayer(),username,password)
  380.  
  381. end
  382. })
  383. self.loginPanel:add(self.registerButton)
  384.  
  385. --=====================================================================--
  386. -- Error message
  387. --=====================================================================--
  388.  
  389. self.ErrorMsg = Label("")
  390. self.ErrorMsg:setForeground(tocolor(255,255,255))
  391. self.ErrorMsg:setBackground(tocolor(0,0,0))
  392. self.ErrorMsg:setScale(y*2)
  393. self.ErrorMsg:setBounds(x*30, y*370, x*100, y*5)
  394. self.ErrorMsg:setFont('clear-normal')
  395. self.loginPanel:add(self.ErrorMsg)
  396.  
  397. --=====================================================================--
  398. -- Return to login-panel
  399. --=====================================================================--
  400.  
  401. self.subPanel = Panel ()
  402. self.subPanel:setBackground(tocolor(0,0,0,150))
  403. self.subPanel:setBounds(x*0, y*400, x*700, y*50)
  404. self.subPanel:setBorder(LineBorder(tocolor(0,0,0), 1))
  405. self.subPanel:addMouseListener({
  406. mousePressed = function()
  407. RegisterGui.getInstance():setVisible(false)
  408. LoginGui.getInstance():setVisible(true)
  409. end
  410. })
  411. self.loginPanel:add(self.subPanel)
  412.  
  413.  
  414. self.userLabel = Label("Go back to login")
  415. self.userLabel:setForeground(tocolor(53,130,253))
  416. self.userLabel:setBackground(tocolor(0,0,0,255))
  417. self.userLabel:setScale(y*3.5)
  418. self.userLabel:setBounds(x*170, y*420, x*100, y*5)
  419. self.userLabel:setFont('clear-normal')
  420. self.loginPanel:add(self.userLabel)
  421.  
  422. --self:setRotationY(45)
  423. --self:setRotationX(80)
  424.  
  425. function self:mouseEntered (e)
  426. if (e.source == self.loginButton) then
  427. outputConsole("hover")
  428. end
  429. end
  430.  
  431. showCursor ( true )
  432. return self
  433.  
  434. end
  435.  
  436.  
  437.  
  438.  
  439. addEventHandler("onClientResourceStart", resourceRoot,
  440. function ()
  441. Toolkit.getInstance():add(LoginGui.getInstance())
  442. Toolkit.getInstance():add(RegisterGui.getInstance())
  443. end)
  444.  
  445.  
  446. -- camera matrix
  447.  
  448. local sm = {}
  449. sm.moov = 0
  450. sm.object1, sm.object2 = nil, nil
  451.  
  452. function removeCamHandler ()
  453. if(sm.moov == 1) then
  454. sm.moov = 0
  455. removeEventHandler ( "onClientPreRender", getRootElement(), camRender )
  456. end
  457. end
  458.  
  459. function camRender ()
  460. local x1, y1, z1 = getElementPosition ( sm.object1 )
  461. local x2, y2, z2 = getElementPosition ( sm.object2 )
  462. setCameraMatrix ( x1, y1, z1, x2, y2, z2 )
  463. end
  464.  
  465. function smoothMoveCamera ( x1, y1, z1, x1t, y1t, z1t, x2, y2, z2, x2t, y2t, z2t, time )
  466. if(sm.moov == 1) then return false end
  467. sm.object1 = createObject ( 1337, x1, y1, z1 )
  468. sm.object2 = createObject ( 1337, x1t, y1t, z1t )
  469. setElementAlpha ( sm.object1, 0 )
  470. setElementAlpha ( sm.object2, 0 )
  471. setObjectScale(sm.object1, 0.01)
  472. setObjectScale(sm.object2, 0.01)
  473. moveObject ( sm.object1, time, x2, y2, z2, 0, 0, 0, "InOutQuad" )
  474. moveObject ( sm.object2, time, x2t, y2t, z2t, 0, 0, 0, "InOutQuad" )
  475.  
  476. addEventHandler ( "onClientPreRender", getRootElement(), camRender )
  477. sm.moov = 1
  478. setTimer ( removeCamHandler, time, 1 )
  479. setTimer ( destroyElement, time, 1, sm.object1 )
  480. setTimer ( destroyElement, time, 1, sm.object2 )
  481. return true
  482. end
  483.  
  484.  
  485. addEventHandler( "onClientResourceStart", resourceRoot, function ()
  486. smoothMoveCamera (347.81658935547, -2080.3334960938, 39.87149810791, 348.34210205078, -2079.5559082031, 39.526397705078, 370.61679077148,-1815.0050048828,21.591299057007,370.6340637207,-1814.0289306641,21.37428855896,60000)
  487. fadeCamera(true)
  488.  
  489. introMusic = playSound("sounds/intro.mp3") --Play wasted.mp3 from the sounds folder
  490. setSoundVolume(introMusic, 0.5) -- set the sound volume to 50%
  491. end
  492. );
  493.  
  494.  
  495. function Error_msg(Tab, Text)
  496. if Tab == "Login" then
  497. local login =LoginGui.getInstance();
  498. --guiSetText(login_tab_error_msg, tostring(Text))
  499. login.ErrorMsg:setText(tostring(Text))
  500. --LoginGui.getInstance():setText("OPA")
  501.  
  502. setTimer(function() login.ErrorMsg:setText("") end,6000,1)
  503. elseif Tab == "Register" then
  504. local register = RegisterGui.getInstance();
  505. register.ErrorMsg:setText(tostring(Text))
  506. setTimer(function() register.ErrorMsg:setText("") end,6000,1)
  507. end
  508. end
  509. addEvent("set_warning_text",true)
  510. addEventHandler("set_warning_text",getRootElement(),Error_msg)
  511.  
  512.  
  513. function hideLoginWindow()
  514. toggleAllControls(true)
  515. if isElement(introMusic)then stopSound(introMusic) introMusic = nil end
  516. Toolkit.getInstance():remove(LoginGui.getInstance())
  517. fadeCamera(true,1)
  518. outputDebugString("xd")
  519. setCameraTarget(localPlayer)
  520. showCursor(false)
  521. removeCamHandler()
  522. end
  523. addEvent("hideLoginWindow", true)
  524. addEventHandler("hideLoginWindow", getRootElement(), hideLoginWindow)
  525.  
  526. function checkPlayerAlive()
  527. triggerServerEvent("wasPlayerAliveEvent", getLocalPlayer())
  528. end
  529.  
  530.  
  531. addEvent("onPlayerLoginSuccess", true)
  532. addEventHandler("onPlayerLoginSuccess", getRootElement(), checkPlayerAlive)
  533.  
  534. function saveLoginToXML(username, password)
  535. local xml_save_log_File = xmlLoadFile ("@userdata.xml")
  536. if not xml_save_log_File then
  537. xml_save_log_File = xmlCreateFile("@userdata.xml", "login")
  538. end
  539. if (username ~= "") then
  540. local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
  541. if not usernameNode then
  542. usernameNode = xmlCreateChild(xml_save_log_File, "username")
  543. end
  544. xmlNodeSetValue (usernameNode, tostring(username))
  545. end
  546. if (password ~= "") then
  547. local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
  548. if not passwordNode then
  549. passwordNode = xmlCreateChild(xml_save_log_File, "password")
  550. end
  551. xmlNodeSetValue (passwordNode, tostring(password))
  552. end
  553. xmlSaveFile(xml_save_log_File)
  554. xmlUnloadFile (xml_save_log_File)
  555. end
  556. addEvent("saveLoginToXML", true)
  557. addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML)
  558.  
  559. function resetSaveXML()
  560. local xml_save_log_File = xmlLoadFile ("@userdata.xml")
  561. if not xml_save_log_File then
  562. xml_save_log_File = xmlCreateFile("@userdata.xml", "login")
  563. end
  564. if (username ~= "") then
  565. local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
  566. if not usernameNode then
  567. usernameNode = xmlCreateChild(xml_save_log_File, "username")
  568. end
  569. end
  570. if (password ~= "") then
  571. local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
  572. if not passwordNode then
  573. passwordNode = xmlCreateChild(xml_save_log_File, "password")
  574. end
  575. xmlNodeSetValue (passwordNode, "")
  576. end
  577. xmlSaveFile(xml_save_log_File)
  578. xmlUnloadFile (xml_save_log_File)
  579. end
  580. addEvent("resetSaveXML", true)
  581. addEventHandler("resetSaveXML", getRootElement(), resetSaveXML)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement