Advertisement
Bonika

Untitled

Jan 13th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.38 KB | None | 0 0
  1. local x, y = guiGetScreenSize()
  2. local box = {390, 707}
  3. local phoneData
  4. local imgMarginX = 18
  5. local imgMarginY = 21
  6. local page = 0
  7. local tick = 0
  8. local phoneState = 'done'
  9. local selfie = false
  10. local show = false
  11.  
  12. local screenSource = dxCreateScreenSource(x, y)
  13. local panel
  14. local guiStuff = {}
  15. local notepadText = ""
  16. local messages = {}
  17. local contacts = {}
  18. local selectedContact, selectedMessage = -1, -1
  19. local renderSMSText = false
  20. local infoPanel
  21. local ownRingtone = 1
  22. local ownRingtoneSound
  23.  
  24. local phonesRinging = {}
  25. local callMessages = {}
  26. local callMessageTXT = ""
  27. local inCall = false
  28. local photoTimer
  29.  
  30. local appNames = {
  31. [-4] = "Zene",
  32. [-3] = "Safari",
  33. [-2] = "Üzenetek",
  34. [-1] = "Telefon",
  35. [1] = "Névjegyek",
  36. [2] = "Naptár",
  37. [3] = "Fotók",
  38. [4] = "Kamera",
  39. [5] = "Videók",
  40. [6] = "Jegyzetek",
  41. [7] = "Időjárás",
  42. [8] = "Passbook",
  43. [9] = "Számológép",
  44. [10] = "Emlékeztetők",
  45. [11] = "Óra",
  46. [12] = "Részvények",
  47. [13] = "Térképek",
  48. [14] = "Flappy Birds",
  49. [15] = "App Store",
  50. [16] = "Game Center",
  51. [17] = "Halloween",
  52. [18] = "Újságos",
  53. [19] = "Beállítások",
  54. [20] = "RiseNion",
  55. }
  56.  
  57. local appsTurnedOn = {
  58. [-2] = true,
  59. [-1] = true,
  60. [1] = true,
  61. [4] = true,
  62. [6] = true,
  63. [14] = true,
  64. [16] = true,
  65. [17] = true,
  66. [18] = true,
  67. [19] = true,
  68. [20] = true,
  69. }
  70.  
  71. for i = 1, 30 do
  72. --outputChatBox('')
  73. end
  74.  
  75. function render()
  76. local sx, sy = x-box[1]-10, y/2-box[2]/2
  77. local progress = (getTickCount() - tick) / 2000
  78. if progress < 1 then
  79. if phoneState == 'show' then
  80. sx, sy = interpolateBetween(x+10, y/2-box[2]/2, 0, x-box[1]-10, y/2-box[2]/2, 0, progress, 'OutBounce')
  81. elseif phoneState == 'hide' then
  82. sx, sy = interpolateBetween(x-box[1]-10, y/2-box[2]/2, 0, x+100, y/2-box[2]/2, 0, progress, 'InOutBack')
  83. end
  84. elseif phoneState == 'show' then
  85. phoneState = 'done'
  86. elseif phoneState == 'hide' then
  87. show = false
  88. removeEventHandler('onClientHUDRender', root, render)
  89. return
  90. end
  91. if page ~= 4 then
  92. dxDrawImage(sx, sy, box[1], box[2], 'pic/phone_main.png')
  93. else
  94. dxDrawImage(sx-200, sy, box[1], box[2], 'pic/phone_main.png', 270)
  95. end
  96. if page == 4 and inbox(x-132, y/2-35, 64, 64) or inbox(sx+166, sy+626, 64, 64) then
  97. if getKeyState('mouse1') then
  98. if not clicked then
  99. clicked = true
  100. removeGui()
  101. end
  102. else
  103. clicked = false
  104. end
  105. end
  106. for i = 1, 20 do
  107. local k = math.floor((i-1)/4)
  108. i = (i-1) % 4
  109. if inbox(sx+72+(imgMarginX+50)*i, sy+143+(imgMarginY+50)*k, 50, 50) then
  110. if getKeyState('mouse1') then
  111. if not clicked then
  112. clicked = true
  113. if page == 0 then
  114. if appsTurnedOn[i+1+k*4] then
  115. drawPanel(i+1+k*4)
  116. end
  117. end
  118. end
  119. else
  120. clicked = false
  121. end
  122. end
  123. end
  124. for i = 1, 4 do
  125. if inbox(sx+72+(imgMarginX+50)*(i-1), sy+543, 50, 50) then
  126. if getKeyState('mouse1') then
  127. if not clicked then
  128. clicked = true
  129. if page == 0 then
  130. if appsTurnedOn[-i] then
  131. drawPanel(-i)
  132. end
  133. end
  134. end
  135. else
  136. clicked = false
  137. end
  138. end
  139. end
  140. if page == 4 then
  141. local a, b, c, d, e, f = countStuff()
  142. dxUpdateScreenSource(screenSource)
  143. setCameraMatrix(a, b, c, d, e, f)
  144. dxDrawImage(sx-257, sy+205, 511, 292, screenSource)
  145. if inbox(sx-257+10, sy+205+10, 69, 34) then
  146. if getKeyState('mouse1') then
  147. if not clicked then
  148. clicked = true
  149. if selfie then
  150. removeEventHandler('onClientHUDRender', root, countStuff2)
  151. setPedAnimation(localPlayer)
  152. selfie = false
  153. else
  154. rot = localPlayer.rotation.z
  155. addEventHandler('onClientHUDRender', root, countStuff2)
  156. setPedAnimation(localPlayer, "SHOP", "ROB_Loop_Threat", -1, false, true, false)
  157. selfie = true
  158. end
  159. end
  160. else
  161. clicked = false
  162. end
  163. end
  164. dxDrawImage(sx-257+10, sy+205+10, 69, 34, 'pic/tofront.png')
  165. dxDrawImage(sx-257+511-74, sy+205+292/2-64/2, 64, 64, 'pic/camera.png')
  166. if inbox(sx-257+511-74, sy+205+292/2-64/2, 64, 64) then
  167. if getKeyState('mouse1') then
  168. if not clicked then
  169. clicked = true
  170. savePhoto(selfie)
  171. end
  172. else
  173. clicked = false
  174. end
  175. end
  176. end
  177. if infoPanel and phoneState == 'done' then
  178. guiSetPosition(infoPanel, sx+58, y/2-90+(page == -2 and 10 or 0), false)
  179. end
  180. if inCall then
  181. dxDrawText(callMessageTXT, sx+55+10, sy+107+20+35+20+30, sx+55+277, sy+107+20+35+20+30+331, 0xFFFFFFFF, 1, 'default', 'left', 'top', true, true, true)
  182. end
  183. if renderSMSText then
  184. dxDrawText(' '..(guiGridListGetItemText(guiStuff.contactList, selectedMessage, 1) or 'nil'), sx+58+10+5, y/2-90+10+61, sx+55+277, y/2-90+10+161, 0xFFFFFFFF, 1, 'default', 'left', 'top', true, true, true)
  185. end
  186. if panel and phoneState == 'done' then
  187. dxDrawRectangle(sx+55, sy+120, 287, 493, 0xFF0F0F0F)
  188. --guiSetPosition(panel, sx+55, sy+92, false)
  189. if guiStuff.endCall then
  190. guiSetPosition(guiStuff.endCall, sx+55+10, sy+120+493-40, false)
  191. end
  192. if guiStuff.nameLabel then
  193. guiSetPosition(guiStuff.nameLabel, sx+55+10, sy+107+25, false)
  194. end
  195. if guiStuff.nameEdit then
  196. guiSetPosition(guiStuff.nameEdit, sx+55+85, sy+107+20, false)
  197. end
  198. if guiStuff.numberLabel then
  199. guiSetPosition(guiStuff.numberLabel, sx+55+10, sy+107+25+35, false)
  200. end
  201. if guiStuff.numberEdit then
  202. guiSetPosition(guiStuff.numberEdit, sx+55+85, sy+107+20+35, false)
  203. end
  204. if guiStuff.addButton then
  205. guiSetPosition(guiStuff.addButton, sx+55+10, sy+107+20+35+35, false)
  206. end
  207. if guiStuff.contactList then
  208. guiSetPosition(guiStuff.contactList, sx+55+10, sy+107+20+35+35+35, false)
  209. end
  210. if guiStuff.callNumberLabel then
  211. guiSetPosition(guiStuff.callNumberLabel, sx+55+10, sy+107+25, false)
  212. end
  213. if guiStuff.callNumberEdit then
  214. guiSetPosition(guiStuff.callNumberEdit, sx+55+85, sy+107+20, false)
  215. end
  216. if guiStuff.startCall then
  217. guiSetPosition(guiStuff.startCall, sx+55+10, sy+107+20+35, false)
  218. end
  219. if guiStuff.notepadMemo then
  220. guiSetPosition(guiStuff.notepadMemo, sx+55, sy+92+25, false)
  221. end
  222. if guiStuff.hText then
  223. guiSetPosition(guiStuff.hText, sx+55+10, sy+107+25, false)
  224. end
  225. if guiStuff.hHack then
  226. guiSetPosition(guiStuff.hHack, sx+55+10, sy+120+493-40, false)
  227. end
  228. if guiStuff.advLabel then
  229. guiSetPosition(guiStuff.advLabel, sx+55+10, sy+107+25, false)
  230. end
  231. if guiStuff.advEdit then
  232. guiSetPosition(guiStuff.advEdit, sx+55+75, sy+107+20, false)
  233. end
  234. if guiStuff.advShowNumber then
  235. guiSetPosition(guiStuff.advShowNumber, sx+55+10, sy+107+25+100, false)
  236. end
  237. if guiStuff.advSend then
  238. guiSetPosition(guiStuff.advSend, sx+55+10, sy+107+25+100+30, false)
  239. end
  240. if guiStuff.gameCenterPoints then
  241. guiSetPosition(guiStuff.gameCenterPoints, sx+55+10, sy+107+20, false)
  242. end
  243. if guiStuff.gameCenterFlappy then
  244. guiSetPosition(guiStuff.gameCenterFlappy, sx+55+10, sy+107+20+25, false)
  245. end
  246. if guiStuff.gameCenterRanklist then
  247. guiSetPosition(guiStuff.gameCenterRanklist, sx+55+10, sy+107+20+25+120, false)
  248. end
  249. if guiStuff.gameCenterFlappyBtn then
  250. guiSetPosition(guiStuff.gameCenterFlappyBtn, sx+55+10, sy+107+20+25+120+25, false)
  251. end
  252. if guiStuff.ringtoneLabel then
  253. guiSetPosition(guiStuff.ringtoneLabel, sx+55+10, sy+107+25, false)
  254. end
  255. if guiStuff.ringtone1 then
  256. guiSetPosition(guiStuff.ringtone1, sx+55+50+10, sy+107+50, false)
  257. end
  258. if guiStuff.ringtone2 then
  259. guiSetPosition(guiStuff.ringtone2, sx+55+50+10, sy+107+50+20*1, false)
  260. end
  261. if guiStuff.ringtone3 then
  262. guiSetPosition(guiStuff.ringtone3, sx+55+50+10, sy+107+50+20*2, false)
  263. end
  264. if guiStuff.ringtone4 then
  265. guiSetPosition(guiStuff.ringtone4, sx+55+50+10, sy+107+50+20*3, false)
  266. end
  267. if guiStuff.ringtone5 then
  268. guiSetPosition(guiStuff.ringtone5, sx+55+50+10, sy+107+50+20*4, false)
  269. end
  270. if guiStuff.ringtone6 then
  271. guiSetPosition(guiStuff.ringtone6, sx+55+50+10, sy+107+50+20*5, false)
  272. end
  273. if guiStuff.ringtone7 then
  274. guiSetPosition(guiStuff.ringtone7, sx+55+50+10, sy+107+50+20*6, false)
  275. end
  276. if guiStuff.ringtone8 then
  277. guiSetPosition(guiStuff.ringtone8, sx+55+50+10, sy+107+50+20*7, false)
  278. end
  279. if guiStuff.showAds then
  280. guiSetPosition(guiStuff.showAds, sx+55+10, sy+107+25+20*8+40, false)
  281. end
  282. if guiStuff.myNumber then
  283. guiSetPosition(guiStuff.myNumber, sx+55+10, sy+107+480, false)
  284. end
  285. end
  286. end
  287.  
  288. function showPhoneFunction(num)
  289. if show then
  290. closePhoneFunction()
  291. else
  292. exports.rise_chat:sendLocalMeMessage(localPlayer, 'előveszi a telefonját.')
  293. tick = getTickCount()
  294. phoneState = 'show'
  295. checkConfigs()
  296. page = 0
  297. phoneData = {
  298. number = num
  299. }
  300. triggerServerEvent('phone:loadMessagesS', localPlayer, localPlayer, num)
  301. show = true
  302. addEventHandler('onClientHUDRender', root, render)
  303. end
  304. end
  305.  
  306. function closePhoneFunction()
  307. if show and phoneState == 'done' then
  308. tick = getTickCount()
  309. phoneState = 'hide'
  310. exports.rise_chat:sendLocalMeMessage(localPlayer, 'elrakja a telefonját.')
  311. removeGui()
  312. end
  313. end
  314.  
  315. function drawPanel(id)
  316. page = id
  317. if id == -1 then
  318. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  319. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  320. panel = true
  321. guiStuff.callNumberLabel = guiCreateLabel(-1000, -1000, 100, 25, 'Telefonszám:', false)
  322. guiStuff.callNumberEdit = guiCreateEdit(-1000, -1000, 190, 25, '', false)
  323. guiStuff.startCall = guiCreateButton(-1000, -1000, 265, 30, 'Hívás', false)
  324. guiEditSetMaxLength(guiStuff.callNumberEdit, 6)
  325. addEventHandler('onClientGUIClick', guiStuff.startCall, startCall, false)
  326. elseif id == -2 then
  327. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  328. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  329. panel = true
  330. guiStuff.nameLabel = guiCreateLabel(-1000, -1000, 100, 25, 'Telefonszám:', false)
  331. guiStuff.nameEdit = guiCreateEdit(-1000, -1000, 190, 25, '', false)
  332. guiEditSetMaxLength(guiStuff.nameEdit, 6)
  333. guiStuff.numberLabel = guiCreateLabel(-1000, -1000, 100, 25, 'Üzenet:', false)
  334. guiStuff.numberEdit = guiCreateEdit(-1000, -1000, 190, 25, '', false)
  335. guiEditSetMaxLength(guiStuff.numberEdit, 160)
  336. guiStuff.addButton = guiCreateButton(-1000, -1000, 265, 25, 'Küldés', false)
  337. addEventHandler('onClientGUIClick', guiStuff.addButton, function() triggerServerEvent('phone:sendMessageS', localPlayer, localPlayer, phoneData.number, guiGetText(guiStuff.nameEdit), guiGetText(guiStuff.numberEdit)) guiSetText(guiStuff.nameEdit, '') guiSetText(guiStuff.numberEdit, '') end, false)
  338. guiStuff.contactList = guiCreateGridList(-1000, -1000, 265, 365, false)
  339. guiGridListAddColumn(guiStuff.contactList, 'SMS Szövege', 0.6)
  340. guiGridListAddColumn(guiStuff.contactList, 'Küldő', 0.3)
  341. for k, v in pairs(messages) do
  342. guiGridListAddRow(guiStuff.contactList, v[2], getNumberName(v[1]))
  343. end
  344. addEventHandler('onClientGUIDoubleClick', guiStuff.contactList, showSMSInfo, false)
  345. elseif id == 1 then
  346. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  347. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  348. panel = true
  349. guiStuff.nameLabel = guiCreateLabel(-1000, -1000, 100, 25, 'Név:', false)
  350. guiStuff.nameEdit = guiCreateEdit(-1000, -1000, 190, 25, '', false)
  351. guiStuff.numberLabel = guiCreateLabel(-1000, -1000, 100, 25, 'Telefonszám:', false)
  352. guiStuff.numberEdit = guiCreateEdit(-1000, -1000, 190, 25, '', false)
  353. guiEditSetMaxLength(guiStuff.numberEdit, 6)
  354. guiStuff.addButton = guiCreateButton(-1000, -1000, 265, 25, 'Hozzáad', false)
  355. addEventHandler('onClientGUIClick', guiStuff.addButton, function() addContact(guiGetText(guiStuff.nameEdit), guiGetText(guiStuff.numberEdit)) end, false)
  356. guiStuff.contactList = guiCreateGridList(-1000, -1000, 265, 365, false)
  357. guiGridListAddColumn(guiStuff.contactList, 'Név', 0.6)
  358. guiGridListAddColumn(guiStuff.contactList, 'Telefonszám', 0.3)
  359. for k, v in pairs(contacts) do
  360. guiGridListAddRow(guiStuff.contactList, v[1], v[2])
  361. end
  362. addEventHandler('onClientGUIDoubleClick', guiStuff.contactList, showContactInfo, false)
  363. elseif id == 6 then
  364. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  365. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  366. panel = true
  367. guiStuff.notepadMemo = guiCreateMemo(-1000, -1000, 287, 495, notepadText, false)
  368. elseif id == 14 then
  369. toggleFlappy(true)
  370. elseif id == 16 then
  371. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  372. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  373. panel = true
  374. guiStuff.gameCenterPoints = guiCreateLabel(-1000, -1000, 265, 25, '<PONTSZÁMAID>', false)
  375. guiLabelSetHorizontalAlign(guiStuff.gameCenterPoints, 'center', true)
  376. guiSetFont(guiStuff.gameCenterPoints, 'default-bold-small')
  377. guiStuff.gameCenterFlappy = guiCreateLabel(-1000, -1000, 265, 25, 'Flappy Bird: 0', false)
  378. guiSetFont(guiStuff.gameCenterFlappy, 'default-bold-small')
  379. guiStuff.gameCenterRanklist = guiCreateLabel(-1000, -1000, 265, 25, '<RANGLISTÁK>', false)
  380. guiLabelSetHorizontalAlign(guiStuff.gameCenterRanklist, 'center', true)
  381. guiSetFont(guiStuff.gameCenterRanklist, 'default-bold-small')
  382. guiStuff.gameCenterFlappyBtn = guiCreateButton(-1000, -1000, 265, 25, 'Flappy Bird', false)
  383. elseif id == 17 then
  384. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  385. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  386. if localPlayer:getData('event:running') or localPlayer:getData('event:started')+3600 <= getRealTime().timestamp then
  387. panel = true
  388. guiStuff.hText = guiCreateLabel(-1000, -1000, 265, 100, 'A halloween tök megtalálásához, fel kell törnöd egy nyomkövető rendszert, ha nem sikerül, csak 1 óra múlva próbálkozhatsz, ha sikerül, akkor a telefon mutatni fog egy pozíciót, ahol megtalálható a tök, melyben rengeteg értékes nyeremény rejlik.', false)
  389. guiLabelSetHorizontalAlign(guiStuff.hText, 'center', true)
  390. guiSetFont(guiStuff.hText, 'default-bold-small')
  391. if not localPlayer:getData('event:level') or localPlayer:getData('event:level') and localPlayer:getData('event:level') < 1.5 then
  392. guiStuff.hHack = guiCreateButton(-1000, -1000, 265, 30, 'Hack', false)
  393. guiSetFont(guiStuff.hHack, 'default-bold-small')
  394. addEventHandler('onClientGUIClick', guiStuff.hHack, function() exports.rise_haloween:startHack() closePhoneFunction() end, false)
  395. end
  396. if localPlayer:getData('event:level') and localPlayer:getData('event:level') >= 1 and localPlayer:getData('event:level') <= 1.6 then
  397. local sx, sy = x-box[1]-10, y/2-box[2]/2
  398. exports.rise_haloween:drawMap(sx+55+10, sy+207+25, localPlayer:getData('event:level') or 1)
  399. end
  400. else
  401. page = 0
  402. outputChatBox('#0072FF[RiseMTA - #FF8800Halloween#0072FF]:#FFFFFF A halloween event indításához még #0072FF'..math.floor((3600 - (getRealTime().timestamp - localPlayer:getData('event:started')))/60)..'#FFFFFF percet kell várnod.', 0, 0, 0, true)
  403. end
  404. elseif id == 18 then
  405. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  406. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  407. panel = true
  408. guiStuff.advLabel = guiCreateLabel(-1000, -1000, 100, 100, 'Hírdetés:', false)
  409. guiStuff.advEdit = guiCreateMemo(-1000, -1000, 200, 100, '', false)
  410. guiStuff.advShowNumber = guiCreateCheckBox(-1000, -1000, 265, 25, 'Telefonszám megjelenítése', true, false)
  411. guiStuff.advSend = guiCreateButton(-1000, -1000, 265, 20, 'Küldés', false)
  412. addEventHandler('onClientGUIClick', guiStuff.advSend, function() triggerServerEvent('phone:sendAdvS', localPlayer, localPlayer, guiGetText(guiStuff.advEdit), guiCheckBoxGetSelected(guiStuff.advShowNumber), phoneData.number) guiSetText(guiStuff.advEdit, '') end, false)
  413. elseif id == 19 then
  414. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  415. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  416. panel = true
  417. guiStuff.ringtoneLabel = guiCreateLabel(-1000, -1000, 100, 25, 'Csengőhangok:', false)
  418. guiStuff.ringtone1 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 1', false)
  419. addEventHandler('onClientGUIClick', guiStuff.ringtone1, function() setRingtone(1) end, false)
  420. guiStuff.ringtone2 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 2', false)
  421. addEventHandler('onClientGUIClick', guiStuff.ringtone2, function() setRingtone(2) end, false)
  422. guiStuff.ringtone3 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 3', false)
  423. addEventHandler('onClientGUIClick', guiStuff.ringtone3, function() setRingtone(3) end, false)
  424. guiStuff.ringtone4 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 4', false)
  425. addEventHandler('onClientGUIClick', guiStuff.ringtone4, function() setRingtone(4) end, false)
  426. guiStuff.ringtone5 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 5', false)
  427. addEventHandler('onClientGUIClick', guiStuff.ringtone5, function() setRingtone(5) end, false)
  428. guiStuff.ringtone6 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 6', false)
  429. addEventHandler('onClientGUIClick', guiStuff.ringtone6, function() setRingtone(6) end, false)
  430. guiStuff.ringtone7 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 7', false)
  431. addEventHandler('onClientGUIClick', guiStuff.ringtone7, function() setRingtone(7) end, false)
  432. guiStuff.ringtone8 = guiCreateRadioButton(-1000, -1000, 150, 25, 'Csengőhang - 8', false)
  433. addEventHandler('onClientGUIClick', guiStuff.ringtone8, function() setRingtone(8) end, false)
  434. guiStuff.myNumber = guiCreateLabel(-1000, -1000, 287, 495, 'Telefonszám: '..phoneData.number, false)
  435. guiStuff.showAds = guiCreateCheckBox(-1000, -1000, 150, 30, 'Hírdetések megjelenítése', true, false)
  436. addEventHandler('onClientGUIClick', guiStuff.showAds, setAdvertisments, false)
  437. guiCheckBoxSetSelected(guiStuff.showAds, localPlayer:getData('phone:ads'))
  438. if tonumber(ownRingtone) == 1 then guiRadioButtonSetSelected(guiStuff.ringtone1, true) end
  439. if tonumber(ownRingtone) == 2 then guiRadioButtonSetSelected(guiStuff.ringtone2, true) end
  440. if tonumber(ownRingtone) == 3 then guiRadioButtonSetSelected(guiStuff.ringtone3, true) end
  441. if tonumber(ownRingtone) == 4 then guiRadioButtonSetSelected(guiStuff.ringtone4, true) end
  442. if tonumber(ownRingtone) == 5 then guiRadioButtonSetSelected(guiStuff.ringtone5, true) end
  443. if tonumber(ownRingtone) == 6 then guiRadioButtonSetSelected(guiStuff.ringtone6, true) end
  444. if tonumber(ownRingtone) == 7 then guiRadioButtonSetSelected(guiStuff.ringtone7, true) end
  445. if tonumber(ownRingtone) == 8 then guiRadioButtonSetSelected(guiStuff.ringtone8, true) end
  446. elseif id == 20 then
  447. --panel = guiCreateTabPanel(-1000, -1000, 287, 520, false)
  448. --addEventHandler('onClientGUIClick', panel, function() guiMoveToBack(panel) end, false)
  449. panel = true
  450. guiStuff.advLabel = guiCreateLabel(-1000, -1000, 100, 100, 'Hírdetés:', false)
  451. guiStuff.advEdit = guiCreateMemo(-1000, -1000, 200, 100, '', false)
  452. guiStuff.advShowNumber = guiCreateCheckBox(-1000, -1000, 265, 25, 'Telefonszám megjelenítése', true, false)
  453. guiStuff.advSend = guiCreateButton(-1000, -1000, 265, 20, 'Küldés', false)
  454. addEventHandler('onClientGUIClick', guiStuff.advSend, function() triggerServerEvent('phone:sendAdvIllegalS', localPlayer, localPlayer, guiGetText(guiStuff.advEdit), guiCheckBoxGetSelected(guiStuff.advShowNumber), phoneData.number) guiSetText(guiStuff.advEdit, '') end, false)
  455. end
  456. end
  457.  
  458. function removeGui(d)
  459. if page == 6 then
  460. notepadText = guiGetText(guiStuff.notepadMemo)
  461. setMemoText(notepadText)
  462. elseif page == 14 then
  463. toggleFlappy(false)
  464. elseif page == 4 then
  465. setCameraTarget(localPlayer)
  466. if selfie then
  467. removeEventHandler('onClientHUDRender', root, countStuff2)
  468. setPedAnimation(localPlayer)
  469. selfie = false
  470. end
  471. end
  472. if panel then
  473. --destroyElement(panel)
  474. panel = nil
  475. end
  476. if ownRingtoneSound then
  477. destroyElement(ownRingtoneSound)
  478. ownRingtoneSound = nil
  479. end
  480. for k, v in pairs(guiStuff) do
  481. if v and isElement(v) then
  482. destroyElement(v)
  483. guiStuff[k] = nil
  484. end
  485. end
  486. exports.rise_haloween:hideMap()
  487. if infoPanel then
  488. destroyElement(infoPanel)
  489. infoPanel = nil
  490. end
  491. if inCall and not d then
  492. endCall(true)
  493. end
  494. renderSMSText = false
  495. page = 0
  496. end
  497.  
  498. function startCall()
  499. local number = guiGetText(guiStuff.callNumberEdit)
  500. if tonumber(number) then
  501. if tonumber(number) >= 111111 and tonumber(number) <= 999999 then
  502. triggerServerEvent('phone:startCallS', localPlayer, localPlayer, phoneData.number, tonumber(number))
  503. end
  504. end
  505. end
  506.  
  507. function startRing(num, myNum)
  508. if not show then
  509. showPhoneFunction(myNum)
  510. elseif phoneState ~= 'done' then
  511. setTimer(startRing, 1000, 1, num, myNum)
  512. return
  513. end
  514. if infoPanel then destroyElement(infoPanel) infoPanel = nil end
  515. infoPanel = guiCreateWindow(-1000, -1000, 280, 180, 'Bejövő hívás', false)
  516. local caller = getNumberName(num)
  517. if not tonumber(caller) then caller = caller.." ("..num..")" end
  518. guiStuff.callerLabel = guiCreateLabel(20, 30, 240, 25, 'Hívó: '..caller, false, infoPanel)
  519. guiStuff.callerAccept = guiCreateButton(15, 145, 100, 25, 'Felvesz', false, infoPanel)
  520. addEventHandler('onClientGUIClick', guiStuff.callerAccept, function() destroyElement(infoPanel) infoPanel = nil setCallerScreen() triggerServerEvent('phone:stopRingSoundS', localPlayer, localPlayer) end, false)
  521. guiStuff.callerDecline = guiCreateButton(165, 145, 100, 25, 'Elutasít', false, infoPanel)
  522. addEventHandler('onClientGUIClick', guiStuff.callerDecline, function() endCall() triggerServerEvent('phone:stopRingSoundS', localPlayer, localPlayer) end, false)
  523. triggerServerEvent('phone:startRingSoundS', localPlayer, localPlayer, ownRingtone)
  524. end
  525. addEvent('phone:startRingC', true)
  526. addEventHandler('phone:startRingC', root, startRing)
  527.  
  528. function startRingSound(p, n)
  529. local x, y, z = getElementPosition(p)
  530. phonesRinging[p] = playSound3D('sound/'..n..'.mp3', x, y, z, true)
  531. attachElements(phonesRinging[p], p)
  532. end
  533. addEvent('phone:startRingSoundC', true)
  534. addEventHandler('phone:startRingSoundC', root, startRingSound)
  535.  
  536. function stopRingSound(p)
  537. if phonesRinging[p] then
  538. destroyElement(phonesRinging[p])
  539. phonesRinging[p] = nil
  540. end
  541. end
  542. addEvent('phone:stopRingSoundC', true)
  543. addEventHandler('phone:stopRingSoundC', root, stopRingSound)
  544.  
  545. function setCallerScreen()
  546. inCall = true
  547. if page ~= -1 then
  548. removeGui(true)
  549. drawPanel(-1)
  550. end
  551. guiSetText(guiStuff.callNumberLabel, 'Üzenet: ')
  552. guiSetText(guiStuff.callNumberEdit, '')
  553. guiEditSetMaxLength(guiStuff.callNumberEdit, 160)
  554. guiSetText(guiStuff.startCall, 'Küldés')
  555. removeEventHandler('onClientGUIClick', guiStuff.startCall, startCall)
  556. guiStuff.endCall = guiCreateButton(-1000, -1000, 265, 30, 'Hívás befejezése', false)
  557. addEventHandler('onClientGUIClick', guiStuff.endCall, endCall, false)
  558. addEventHandler('onClientGUIClick', guiStuff.startCall, sendCallText, false)
  559. end
  560. addEvent('phone:setCallerScreenC', true)
  561. addEventHandler('phone:setCallerScreenC', root, setCallerScreen)
  562.  
  563. function sendCallText()
  564. local text = guiGetText(guiStuff.callNumberEdit)
  565. guiSetText(guiStuff.callNumberEdit, '')
  566. triggerServerEvent('phone:sendPlayerCallerTextS', localPlayer, localPlayer, phoneData.number, text)
  567. end
  568.  
  569. function addPlayerCallerText(n, t)
  570. for i = #callMessages, 1, -1 do
  571. callMessages[i+1] = callMessages[i]
  572. end
  573. callMessages[1] = {n, t}
  574. if #callMessages > 12 then
  575. for i = 13, #callMessages do
  576. callMessages[i] = nil
  577. end
  578. end
  579. callMessageTXT = getNumberName(n)..t..'\n\n'..callMessageTXT
  580. end
  581. addEvent('phone:addPlayerCallerTextC', true)
  582. addEventHandler('phone:addPlayerCallerTextC', root, addPlayerCallerText)
  583.  
  584. function endCall(t)
  585. inCall = false
  586. callMessages = {}
  587. if not t then
  588. removeGui()
  589. else
  590. removeGui()
  591. triggerServerEvent('phone:endCallS', localPlayer, localPlayer)
  592. end
  593. end
  594. addEvent('phone:endCallC', true)
  595. addEventHandler('phone:endCallC', root, endCall)
  596.  
  597. function showContactInfo()
  598. if infoPanel then destroyElement(infoPanel) infoPanel = nil end
  599. selectedContact = guiGridListGetSelectedItem(guiStuff.contactList)
  600. local number = (guiGridListGetItemText(guiStuff.contactList, selectedContact, 2) or 0)
  601. infoPanel = guiCreateWindow(-1000, -1000, 280, 180, 'Információk', false)
  602. guiStuff.contactInfoNameLabel = guiCreateLabel(15, 30, 240, 25, 'Név: '..(guiGridListGetItemText(guiStuff.contactList, selectedContact, 1) or 'nil'), false, infoPanel)
  603. guiStuff.contactInfoNumberLabel = guiCreateLabel(15, 60, 240, 25, 'Telefonszám: '..(guiGridListGetItemText(guiStuff.contactList, selectedContact, 2) or 'nil'), false, infoPanel)
  604. guiStuff.contactInfoCallButton = guiCreateButton(15, 90, 110, 25, 'Hívás', false, infoPanel)
  605. addEventHandler('onClientGUIClick', guiStuff.contactInfoCallButton, function() removeGui() drawPanel(-1) guiSetText(guiStuff.callNumberEdit, number) end, false)
  606. guiStuff.contactInfoSMSButton = guiCreateButton(155, 90, 110, 25, 'SMS küldése', false, infoPanel)
  607. addEventHandler('onClientGUIClick', guiStuff.contactInfoSMSButton, function() removeGui() drawPanel(-2) guiSetText(guiStuff.nameEdit, number) end, false)
  608. guiStuff.contactInfoRemoveButton = guiCreateButton(15, 135, 110, 25, 'Törlés', false, infoPanel)
  609. addEventHandler('onClientGUIClick', guiStuff.contactInfoRemoveButton, function() removeContact() destroyElement(infoPanel) infoPanel = nil end, false)
  610. guiStuff.contactInfoCloseButton = guiCreateButton(155, 135, 110, 25, 'Bezár', false, infoPanel)
  611. addEventHandler('onClientGUIClick', guiStuff.contactInfoCloseButton, function() destroyElement(infoPanel) infoPanel = nil end, false)
  612. end
  613.  
  614. function showSMSInfo()
  615. if infoPanel then destroyElement(infoPanel) infoPanel = nil end
  616. selectedMessage = guiGridListGetSelectedItem(guiStuff.contactList)
  617. local number = (guiGridListGetItemText(guiStuff.contactList, selectedMessage, 2) or 0)
  618. if not tonumber(number) then
  619. number = messages[selectedMessage+1][1]
  620. end
  621. infoPanel = guiCreateWindow(-1000, -1000, 280, 200, 'SMS', false)
  622. renderSMSText = true
  623. guiStuff.contactInfoNameLabel = guiCreateLabel(15, 30, 240, 25, 'Feladó: '..(guiGridListGetItemText(guiStuff.contactList, selectedMessage, 2) or 'nil'), false, infoPanel)
  624. guiStuff.contactInfoNumberLabel = guiCreateLabel(15, 60, 240, 150, 'Üzenet: ', false, infoPanel)
  625. guiStuff.contactInfoRemoveButton = guiCreateButton(25, 170, 90, 20, 'Válasz', false, infoPanel)
  626. addEventHandler('onClientGUIClick', guiStuff.contactInfoRemoveButton, function() guiSetText(guiStuff.nameEdit, number) guiBringToFront(guiStuff.numberEdit) destroyElement(infoPanel) infoPanel = nil renderSMSText = false end, false)
  627. guiStuff.contactInfoCloseButton = guiCreateButton(165, 170, 90, 20, 'Bezár', false, infoPanel)
  628. addEventHandler('onClientGUIClick', guiStuff.contactInfoCloseButton, function() destroyElement(infoPanel) infoPanel = nil renderSMSText = false end, false)
  629. end
  630.  
  631. function inbox(sx, sy, bx, by)
  632. if isCursorShowing() then
  633. local mx, my = getCursorPosition()
  634. return mx*x>=sx and mx*x<=sx+bx and my*y>=sy and my*y<=sy+by and phoneState == 'done'
  635. end
  636. end
  637.  
  638.  
  639. function savePhoto(isSelfie)
  640. if photoTimer then
  641. outputChatBox('#0072FF[RiseMTA - Telefon]:#FFFFFF Csak 5 másodpercenként csinálhatsz fényképet.', 0, 0, 0, true)
  642. else
  643. playSound('sound/expo.mp3')
  644. exports.rise_chat:sendLocalMeMessage(localPlayer, 'készít egy képet a telefonjával')
  645. local _f = fileCreate('photos/'..(isSelfie and 'selfie/' or '')..getRealTime().timestamp..'.jpeg')
  646. local pic = dxGetTexturePixels(screenSource)
  647. local pic = dxConvertPixels(pic, 'jpeg')
  648. fileWrite(_f, pic)
  649. fileFlush(_f)
  650. fileClose(_f)
  651. photoTimer = setTimer(function() photoTimer = nil end, 5000, 1)
  652. end
  653. end
  654.  
  655. local rot = 0
  656. local moveZ = 0
  657. local oldx, oldy = x/2, y/2
  658.  
  659. function countStuff()
  660. local x, y, z = getPedBonePosition(localPlayer, 8)
  661. local _x, _y, _z = x-math.sin(math.rad(rot))*1, y+math.cos(math.rad(rot))*1, z+moveZ
  662. return x, y, z, _x, _y, _z
  663. end
  664.  
  665. function countStuff2()
  666. if moveZ > 2 then moveZ = 2 end
  667. if moveZ < -2 then moveZ = -2 end
  668. local a, b, c, d, e, f = countStuff()
  669. setCameraMatrix(d, e, f, a, b, c)
  670. end
  671.  
  672. addEventHandler('onClientCursorMove', root, function(_, _, x, y)
  673. if isCursorShowing() then
  674. return
  675. end
  676. rot = (rot + (oldx-x)*0.05) % 360
  677. moveZ = moveZ + (oldy-y)*0.001
  678. end)
  679.  
  680. function createNewMessage(from, message)
  681. for i = #messages, 1, -1 do
  682. messages[i+1] = messages[i]
  683. end
  684. messages[1] = {from, message}
  685. if page == -2 then
  686. guiGridListInsertRowAfter(guiStuff.contactList, -1, message, getNumberName(from))
  687. end
  688. exports.rise_infobox:addNotificationC('info', 'Új szöveges üzeneted érkezett.')
  689. end
  690. addEvent('phone:createNewMessageC', true)
  691. addEventHandler('phone:createNewMessageC', root, createNewMessage)
  692.  
  693. function loadMessages(t)
  694. messages = t
  695. end
  696. addEvent('phone:loadMessagesC', true)
  697. addEventHandler('phone:loadMessagesC', root, loadMessages)
  698.  
  699. function getNumberName(number)
  700. local r = number
  701. for k, v in pairs(contacts) do
  702. if tonumber(v[2]) == tonumber(number) then
  703. r = v[1]
  704. break
  705. end
  706. end
  707. if inCall then
  708. if tonumber(r) then
  709. r = 'Valaki mondja: '
  710. else
  711. r = r..' mondja: '
  712. end
  713. if number == phoneData.number then
  714. r = 'Te mondod: '
  715. end
  716. end
  717. return r
  718. end
  719.  
  720. function setMemoText(t)
  721. local f = xmlLoadFile('configs.xml')
  722. local c = xmlFindChild(f, 'note', 0)
  723. xmlNodeSetAttribute(c, 'text', t)
  724. xmlSaveFile(f)
  725. xmlUnloadFile(f)
  726. end
  727.  
  728. function setRingtone(n)
  729. if ownRingtoneSound then
  730. destroyElement(ownRingtoneSound)
  731. ownRingtoneSound = nil
  732. end
  733. ownRingtoneSound = playSound('sound/'..n..'.mp3')
  734. ownRingtone = n
  735. local f = xmlLoadFile('configs.xml')
  736. local c = xmlFindChild(f, 'ringtone', 0)
  737. xmlNodeSetAttribute(c, 'id', n)
  738. xmlSaveFile(f)
  739. xmlUnloadFile(f)
  740. end
  741.  
  742. function addContact(name, number)
  743. if string.len(name) < 1 then
  744. exports.rise_infobox:addNotificationC('info', 'Adj meg egy nevet')
  745. return
  746. end
  747. if not tonumber(number) then
  748. exports.rise_infobox:addNotificationC('info', 'Telefonszám csak szám lehet')
  749. return
  750. end
  751. contacts[#contacts+1] = {name, number}
  752. guiGridListAddRow(guiStuff.contactList, name, number)
  753. local f = xmlLoadFile('contacts.xml')
  754. local c = xmlCreateChild(f, 'contact')
  755. xmlNodeSetAttribute(c, 'name', name)
  756. xmlNodeSetAttribute(c, 'number', number)
  757. xmlSaveFile(f)
  758. xmlUnloadFile(f)
  759. end
  760.  
  761. function removeContact()
  762. local name, number = guiGridListGetItemText(guiStuff.contactList, selectedContact, 1), guiGridListGetItemText(guiStuff.contactList, selectedContact, 2)
  763. local r = -1
  764. for k, v in pairs(contacts) do
  765. if v[1] == name and v[2] == number then
  766. r = k
  767. break
  768. end
  769. end
  770. for i = r+1, #contacts do
  771. contacts[i-1] = contacts[i]
  772. end
  773. contacts[#contacts] = nil
  774. local f = xmlLoadFile('contacts.xml')
  775. local c = xmlFindChild(f, 'contact', r-1)
  776. xmlDestroyNode(c)
  777. xmlSaveFile(f)
  778. xmlUnloadFile(f)
  779. guiGridListRemoveRow(guiStuff.contactList, selectedContact)
  780. end
  781.  
  782. function setAdvertisments()
  783. local state = guiCheckBoxGetSelected(guiStuff.showAds)
  784. localPlayer:setData('phone:ads', state)
  785. local f = xmlLoadFile('configs.xml')
  786. local c = xmlFindChild(f, 'adverts', 0)
  787. xmlNodeSetAttribute(c, 'state', tostring(state))
  788. xmlSaveFile(f)
  789. xmlUnloadFile(f)
  790. end
  791.  
  792. function checkConfigs()
  793. if not fileExists('contacts.xml') then
  794. local f = xmlCreateFile('contacts.xml', 'config')
  795. xmlSaveFile(f)
  796. xmlUnloadFile(f)
  797. else
  798. local f = xmlLoadFile('contacts.xml')
  799. local i = 0
  800. while xmlFindChild(f, 'contact', i) do
  801. local c = xmlFindChild(f, 'contact', i)
  802. contacts[i+1] = {xmlNodeGetAttribute(c, 'name'), xmlNodeGetAttribute(c, 'number')}
  803. i = i + 1
  804. end
  805. xmlUnloadFile(f)
  806. end
  807. if not fileExists('configs.xml') then
  808. local f = xmlCreateFile('configs.xml', 'config')
  809. local c = xmlCreateChild(f, 'ringtone')
  810. xmlNodeSetAttribute(c, 'id', 1)
  811. local c = xmlCreateChild(f, 'note')
  812. xmlNodeSetAttribute(c, 'text', '')
  813. local c = xmlCreateChild(f, 'adverts')
  814. xmlNodeSetAttribute(c, 'state', 'true')
  815. xmlSaveFile(f)
  816. xmlUnloadFile(f)
  817. notepadText = ""
  818. ownRingtone = 1
  819. localPlayer:setData('phone:ads', true)
  820. else
  821. local f = xmlLoadFile('configs.xml')
  822. local c = xmlFindChild(f, 'note', 0)
  823. notepadText = xmlNodeGetAttribute(c, 'text')
  824. local c = xmlFindChild(f, 'ringtone', 0)
  825. ownRingtone = xmlNodeGetAttribute(c, 'id')
  826. local c = xmlFindChild(f, 'adverts', 0)
  827. localPlayer:setData('phone:ads', xmlNodeGetAttribute(c, 'state') == 'true')
  828. xmlUnloadFile(f)
  829. end
  830. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement