Advertisement
Guest User

Untitled

a guest
Jan 30th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 307.36 KB | None | 0 0
  1. mysql = exports.mysql
  2.  
  3. -- ADMIN HISTORY:
  4. -- 0: jail
  5. -- 1: kick
  6. -- 2: ban
  7. -- 3: forceapp
  8. -- 4: warn
  9. -- 5: auto-ban
  10.  
  11. --
  12.  
  13. function gotoxyz_func ( player, cmd, x, y, z )
  14.  
  15. setElementPosition ( player, tonumber(x), tonumber(y), tonumber(z) )
  16.  
  17. end
  18. addCommandHandler ( "gotoxyz", gotoxyz_func )
  19.  
  20. local getPlayerName_ = getPlayerName
  21. getPlayerName = function( ... )
  22. s = getPlayerName_( ... )
  23. return s and s:gsub( "_", " " ) or s
  24. end
  25.  
  26. -- wardrobe temp fix..
  27. function fixWardrobe(thePlayer)
  28. if ( getElementData(thePlayer, "loggedin") == 1 ) then
  29. local dimension = getElementDimension(thePlayer)
  30. local interior = getElementInterior(thePlayer)
  31.  
  32. if ( dimension >= 65000 and interior == 14 ) then
  33. setElementPosition(thePlayer, 1520.0029296875, -1701.2421875, 13.546875)
  34. setPedRotation(thePlayer, 275.82971191406)
  35. setElementDimension(thePlayer, 0)
  36. setElementInterior(thePlayer, 0)
  37. else
  38. outputChatBox("Nincs wardrobe bugod.", thePlayer, 255, 0, 0)
  39. end
  40. else
  41. outputChatBox("Nincs wardrobe bugod.", thePlayer, 255, 0, 0)
  42. end
  43. end
  44. addCommandHandler("fixwardrobe", fixWardrobe)
  45.  
  46. function adminUncuff(thePlayer, commandName, targetPlayer)
  47. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  48. if (exports.global:isPlayerAdmin(thePlayer)) then
  49. if not (targetPlayer) then
  50. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  51. else
  52. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  53.  
  54. if targetPlayer then
  55. local logged = getElementData(targetPlayer, "loggedin")
  56. local username = getPlayerName(thePlayer)
  57.  
  58. if (logged==0) then
  59. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  60. else
  61. local restrain = getElementData(targetPlayer, "restrain")
  62.  
  63. if (restrain==0) then
  64. outputChatBox("A játékos nincs lefogva.", thePlayer, 255, 0, 0)
  65. else
  66. outputChatBox(targetPlayerName .. ": levetted róla a bilincset.", thePlayer)
  67. outputChatBox("" .. username .. ": levette rólad a bilincset.", targetPlayer)
  68. toggleControl(targetPlayer, "sprint", true)
  69. toggleControl(targetPlayer, "fire", true)
  70. toggleControl(targetPlayer, "jump", true)
  71. toggleControl(targetPlayer, "next_weapon", true)
  72. toggleControl(targetPlayer, "previous_weapon", true)
  73. toggleControl(targetPlayer, "accelerate", true)
  74. toggleControl(targetPlayer, "brake_reverse", true)
  75. toggleControl(targetPlayer, "aim_weapon", true)
  76. toggleAllControls(targetPlayer, true,true,true)
  77. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "restrain", 0)
  78. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "restrainedBy")
  79. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "restrainedObj")
  80. exports.global:removeAnimation(targetPlayer)
  81. mysql:query_free("UPDATE characters SET cuffed = 0, restrainedby = 0, restrainedobj = 0 WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  82. exports['item-system']:deleteAll(47, getElementData( targetPlayer, "dbid" ))
  83. end
  84. end
  85. end
  86. end
  87. end
  88. end
  89. end
  90. addCommandHandler("auncuff", adminUncuff, false, false)
  91.  
  92. --/AUNMASK
  93. function adminUnmask(thePlayer, commandName, targetPlayer)
  94. if (exports.global:isPlayerAdmin(thePlayer)) then
  95. if not (targetPlayer) then
  96. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  97. else
  98. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  99.  
  100. if targetPlayer then
  101. local logged = getElementData(targetPlayer, "loggedin")
  102. local username = getPlayerName(thePlayer)
  103.  
  104. if (logged==0) then
  105. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  106. else
  107. local gasmask = getElementData(targetPlayer, "gasmask")
  108. local mask = getElementData(targetPlayer, "mask")
  109. local helmet = getElementData(targetPlayer, "helmet")
  110.  
  111. if (gasmask==1 or mask==1 or helmet==1) then
  112. local name = targetPlayerName:gsub("_", " ")
  113. setPlayerNametagText(targetPlayer, tostring(name))
  114.  
  115. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "gasmask")
  116. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "mask")
  117. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "helmet")
  118. outputChatBox("Levetted a maszkot róla: " .. name .. ".", thePlayer, 255, 0, 0)
  119. else
  120. outputChatBox("A játékoson nincs MASK.", thePlayer, 255, 0, 0)
  121. end
  122. end
  123. end
  124. end
  125. end
  126. end
  127. addCommandHandler("aunmask", adminUnmask, false, false)
  128.  
  129. function asay(thePlayer, commandName, ...)
  130. if (exports.global:isPlayerAdmin(thePlayer)) then
  131. if not (...) then
  132. outputChatBox("Példa: /am [Admin Üzenet]", thePlayer, 255, 194, 15)
  133. else
  134. local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
  135.  
  136. message = table.concat({...}, " ")
  137. local playerName = getPlayerName(thePlayer)
  138.  
  139. outputChatBox(adminrang .. ": " .. message, getRootElement(), 255, 128, 0,true)
  140. end
  141. end
  142. end
  143. addCommandHandler("asay", asay, false, false)
  144.  
  145. function asayn(thePlayer, commandName, ...)
  146. if (exports.global:isPlayerAdmin(thePlayer)) then
  147. if not (...) then
  148. outputChatBox("Példa: /am [Admin Üzenet]", thePlayer, 255, 194, 15)
  149. else
  150. local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
  151. message = table.concat({...}, " ")
  152. local playerName = getPlayerName(thePlayer)
  153. outputChatBox(adminrang .. " " .. playerName .. ": " .. message, getRootElement(), 255, 0, 0,true)
  154. end
  155. end
  156. end
  157. addCommandHandler("asayn", asayn, false, false)
  158.  
  159. function adminUnblindfold(thePlayer, commandName, targetPlayer)
  160. if (exports.global:isPlayerAdmin(thePlayer)) then
  161. if not (targetPlayer) then
  162. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  163. else
  164. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  165.  
  166. if targetPlayer then
  167. local logged = getElementData(targetPlayer, "loggedin")
  168. local username = getPlayerName(thePlayer)
  169.  
  170. if (logged==0) then
  171. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  172. else
  173. local blindfolded = getElementData(targetPlayer, "rblindfold")
  174.  
  175. if (blindfolded==0) then
  176. outputChatBox("A játékosnak nincs bekötve a szeme!", thePlayer, 255, 0, 0)
  177. else
  178. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "blindfold")
  179. fadeCamera(targetPlayer, true)
  180. outputChatBox("Levetted " .. targetPlayerName .. "-rõl a kötést.", thePlayer)
  181. mysql:query_free("UPDATE characters SET blindfold = 0 WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  182. end
  183. end
  184. end
  185. end
  186. end
  187. end
  188. addCommandHandler("aunblindfold", adminUnblindfold, false, false)
  189.  
  190. -- /MUTE
  191. function mutePlayer(thePlayer, commandName, targetPlayer)
  192. if (exports.global:isPlayerAdmin(thePlayer)) then
  193. if not (targetPlayer) then
  194. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  195. else
  196. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  197.  
  198. if targetPlayer then
  199. local logged = getElementData(targetPlayer, "loggedin")
  200.  
  201. if (logged==0) then
  202. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  203. else
  204. local muted = getElementData(targetPlayer, "muted")
  205.  
  206. if (muted==0) then
  207. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "muted", 1)
  208. outputChatBox(targetPlayerName .. " némítva lett az OOC-rõl.", thePlayer, 255, 0, 0)
  209. outputChatBox("Némítva lettél az OOC-rõl '" .. getPlayerName(thePlayer) .. "' által.", targetPlayer, 255, 0, 0)
  210. else
  211. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "muted", 0)
  212. outputChatBox(targetPlayerName .. "-rõl levetted az OOC némítást.", thePlayer, 0, 255, 0)
  213. outputChatBox("'" .. getPlayerName(thePlayer) .. "' levette rólad az OOC némítást.", targetPlayer, 0, 255, 0)
  214. end
  215. mysql:query_free("UPDATE accounts SET muted=" .. mysql:escape_string(getElementData(targetPlayer, "muted")) .. " WHERE id = " .. mysql:escape_string(getElementData(targetPlayer, "gameaccountid")) )
  216. end
  217. end
  218. end
  219. end
  220. end
  221. addCommandHandler("pmute", mutePlayer, false, false)
  222.  
  223. -- /RESKICK
  224. function resKick(thePlayer, commandName, amount)
  225. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  226. if not (amount) then
  227. outputChatBox("Példa: /" .. commandName .. " [Játékosok száma amennyit kickelni akarsz]", thePlayer, 255, 194, 14)
  228. else
  229. amount = tonumber(amount)
  230. local playercount = getPlayerCount()
  231. if (amount>=playercount) then
  232. outputChatBox("Nincs elég játékos a kickeléshez. (Jelenleg " .. playercount .. " játékos online)", thePlayer, 255, 0, 0)
  233. else
  234. local players = { }
  235. local count = 1
  236. for key, value in ipairs(exports.pool:getPoolElementsByType("player")) do
  237. if not (exports.global:isPlayerAdmin(value)) and not exports.global:isPlayerScripter(value) then
  238. players[count] = value
  239. count = count + 1
  240.  
  241. if (count==amount) then
  242. break
  243. end
  244. end
  245. end
  246. local kickcount = 0
  247. for key, value in ipairs(players) do
  248. if (kickcount<amount) then
  249. local luck = math.random(0, 1)
  250. if (luck==1) then
  251. kickPlayer(value, getRootElement(), "Foglalt slot-ra csatlakoztál")
  252. kickcount = kickcount + 1
  253. end
  254. end
  255. end
  256. outputChatBox("" .. kickcount .. "/" .. amount .. " játékos kickelve.", thePlayer, 0, 255, 0)
  257. end
  258. end
  259. end
  260. end
  261. addCommandHandler("reskick", resKick, false, false)
  262.  
  263. -- /DISARM
  264. function disarmPlayer(thePlayer, commandName, targetPlayer)
  265. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  266. if (exports.global:isEgyesAdmin(thePlayer)) then
  267. if not (targetPlayer) then
  268. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  269. else
  270. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  271.  
  272. if targetPlayer then
  273. local logged = getElementData(targetPlayer, "loggedin")
  274.  
  275. if (logged==0) then
  276. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  277. elseif (logged==1) then
  278. exports.global:takeAllWeapons(targetPlayer)
  279. outputChatBox(targetPlayerName .. " lefegyverezve.", thePlayer, 255, 194, 14)
  280. exports.logs:logMessage("[/DISARM] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." disarmed ".. targetPlayerName , 4)
  281. end
  282. end
  283. end
  284. end
  285. end
  286. end
  287. addCommandHandler("disarm", disarmPlayer, false, false)
  288.  
  289. -- forceapp
  290. function forceApplication(thePlayer, commandName, targetPlayer, ...)
  291. if (exports.global:isPlayerAdmin(thePlayer)) then
  292. if not (targetPlayer) or not (...) then
  293. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Indok]", thePlayer, 255, 194, 14)
  294. else
  295. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  296.  
  297. if not (targetPlayer) then
  298. elseif exports.global:isPlayerAdmin(targetPlayer) then
  299. outputChatBox("Nem-nem.", thePlayer, 255, 0, 0)
  300. else
  301. local logged = getElementData(targetPlayer, "loggedin")
  302.  
  303. if (logged==0) then
  304. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  305. elseif (logged==1) then
  306. local reason = table.concat({...}, " ")
  307. local id = getElementData(targetPlayer, "gameaccountid")
  308. local username = getElementData(thePlayer, "gameaccountusername")
  309. mysql:query_free("UPDATE accounts SET appstate = 2, apphandler='" .. mysql:escape_string(username) .. "', appreason='" .. mysql:escape_string(reason) .. "', appdatetime = NOW() + INTERVAL 1 DAY WHERE id='" .. mysql:escape_string(id) .. "'")
  310. outputChatBox(targetPlayerName .. " was forced to re-write their application.", thePlayer, 255, 194, 14)
  311.  
  312. local port = getServerPort()
  313. local password = getServerPassword()
  314.  
  315. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  316. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " sent " .. targetPlayerName .. " back to the application stage.")
  317.  
  318. local res = mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',0,3,0,"' .. mysql:escape_string(reason) .. '")' )
  319.  
  320. redirectPlayer(targetPlayer, "server.mta.vg", port, password)
  321. end
  322. end
  323. end
  324. end
  325. end
  326. addCommandHandler("forceapp", forceApplication, false, false)
  327.  
  328. -- /CK
  329. function ckPlayer(thePlayer, commandName, targetPlayer, ...)
  330. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  331. if not (targetPlayer) or not (...) then
  332. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Karakter halál indoka]", thePlayer, 255, 194, 14)
  333. else
  334. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  335.  
  336. if targetPlayer then
  337. local logged = getElementData(targetPlayer, "loggedin")
  338.  
  339. if (logged==0) then
  340. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  341. elseif (logged==1) then
  342. info = table.concat({...}, " ")
  343. local query = mysql:query_free("UPDATE characters SET cked='1', ck_info='" .. mysql:escape_string(tostring(info)) .. "' WHERE id = " .. mysql:escape_string(getElementData(targetPlayer, "dbid")))
  344.  
  345. local x, y, z = getElementPosition(targetPlayer)
  346. local skin = getPedSkin(targetPlayer)
  347. local rotation = getPedRotation(targetPlayer)
  348.  
  349. call( getResourceFromName( "realism-system" ), "addCharacterKillBody", x, y, z, rotation, skin, getElementData(targetPlayer, "dbid"), targetPlayerName, getElementInterior(targetPlayer), getElementDimension(targetPlayer), getElementData(targetPlayer, "age"), getElementData(targetPlayer, "race"), getElementData(targetPlayer, "weight"), getElementData(targetPlayer, "height"), getElementData(targetPlayer, "chardescription"), info, getElementData(targetPlayer, "gender"))
  350.  
  351. -- send back to change char screen
  352. local id = getElementData(targetPlayer, "gameaccountid")
  353. showCursor(targetPlayer, false)
  354. triggerEvent("sendAccounts", targetPlayer, targetPlayer, id, true)
  355. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "loggedin", 0, false)
  356. outputChatBox("" .. getPlayerName(thePlayer) .. " karakter halált osztott ki rád.", targetPlayer, 255, 194, 14)
  357. showChat(targetPlayer, false)
  358. outputChatBox("Karakter halált osztottál ki rá: ".. targetPlayerName ..".", thePlayer, 255, 194, 1, 14)
  359. exports.logs:logMessage("[/CK] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." CK'ED ".. targetPlayerName , 4)
  360. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "dbid", 0)
  361. end
  362. end
  363. end
  364. end
  365. end
  366. addCommandHandler("ck", ckPlayer)
  367.  
  368. -- /UNCK
  369. function unckPlayer(thePlayer, commandName, ...)
  370. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  371. if not (...) then
  372. outputChatBox("Példa: /" .. commandName .. " [Játékos teljes neve]", thePlayer, 255, 194, 14)
  373. else
  374. local targetPlayer = table.concat({...}, "_")
  375. local result = mysql:query("SELECT id FROM characters WHERE charactername='" .. mysql:escape_string(tostring(targetPlayer)) .. "' AND cked > 0")
  376.  
  377. if (mysql:num_rows(result)>1) then
  378. outputChatBox("Túl sok találat - A találatok szûkítéséhez írd be a játékos nevét részletesebben.", thePlayer, 255, 0, 0)
  379. elseif (mysql:num_rows(result)==0) then
  380. outputChatBox("A játékos nem létezik vagy nem osztottak ki rá karakter halált.", thePlayer, 255, 0, 0)
  381. else
  382. local row = mysql:fetch_assoc(result)
  383. local dbid = tonumber(row["id"]) or 0
  384. mysql:query_free("UPDATE characters SET cked='0' WHERE id = " .. dbid .. " LIMIT 1")
  385.  
  386. -- delete all peds for him
  387. for key, value in pairs( getElementsByType( "ped" ) ) do
  388. if isElement( value ) and getElementData( value, "ckid" ) then
  389. if getElementData( value, "ckid" ) == dbid then
  390. destroyElement( value )
  391. end
  392. end
  393. end
  394.  
  395. outputChatBox(targetPlayer .. " karakter halála feloldva.", thePlayer, 0, 255, 0)
  396. exports.logs:logMessage("[/UNCK] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." UNCK'ED ".. targetPlayer , 4)
  397. end
  398. mysql:free_result(result)
  399. end
  400. end
  401. end
  402. addCommandHandler("unck", unckPlayer)
  403.  
  404. -- /BURY
  405. function buryPlayer(thePlayer, commandName, ...)
  406. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  407. if not (...) then
  408. outputChatBox("Példa: /" .. commandName .. " [Játékos teljes neve]", thePlayer, 255, 194, 14)
  409. else
  410. local targetPlayer = table.concat({...}, "_")
  411. local result = mysql:query("SELECT id, cked FROM characters WHERE charactername='" .. mysql:escape_string(tostring(targetPlayer)) .. "'")
  412.  
  413. if (mysql:num_rows(result)>1) then
  414. outputChatBox("Túl sok találat - A találatok szûkítéséhez írd be a játékos nevét részletesebben.", thePlayer, 255, 0, 0)
  415. elseif (mysql:num_rows(result)==0) then
  416. outputChatBox("A játékos nem létezik.", thePlayer, 255, 0, 0)
  417. else
  418. local row = mysql:fetch_assoc(result)
  419. local dbid = tonumber(row["id"]) or 0
  420. local cked = tonumber(row["cked"]) or 0
  421. if cked == 0 then
  422. outputChatBox("A játékoson nincs karakter halál.", thePlayer, 255, 0, 0)
  423. elseif cked == 2 then
  424. outputChatBox("A játékos már el van temetve.", thePlayer, 255, 0, 0)
  425. else
  426. mysql:query_free("UPDATE characters SET cked='2' WHERE id = " .. dbid .. " LIMIT 1")
  427.  
  428. -- delete all peds for him
  429. for key, value in pairs( getElementsByType( "ped" ) ) do
  430. if isElement( value ) and getElementData( value, "ckid" ) then
  431. if getElementData( value, "ckid" ) == dbid then
  432. destroyElement( value )
  433. end
  434. end
  435. end
  436.  
  437. outputChatBox(targetPlayer .. " eltemetve.", thePlayer, 0, 255, 0)
  438. exports.logs:logMessage("[/BURY] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." buried ".. targetPlayer , 4)
  439. end
  440. end
  441. mysql:free_result(result)
  442. end
  443. end
  444. end
  445. addCommandHandler("bury", buryPlayer)
  446.  
  447. -- /FRECONNECT
  448. function forceReconnect(thePlayer, commandName, targetPlayer)
  449. if (exports.global:isPlayerAdmin(thePlayer)) then
  450. if not (targetPlayer) then
  451. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  452. else
  453. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  454.  
  455. if targetPlayer then
  456. local logged = getElementData(targetPlayer, "loggedin")
  457.  
  458. if (logged==0) then
  459. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  460. elseif (logged==1) then
  461. outputChatBox("Játékos '" .. targetPlayerName .. "' újracsatlakoztatva.", thePlayer, 255, 0, 0)
  462.  
  463. local port = getServerPort()
  464. local password = getServerPassword()
  465.  
  466. redirectPlayer(targetPlayer, "91.82.84.190:22031", port, password) --ezt módosítani!!!
  467.  
  468. exports.logs:logMessage("[/FRECONNECT] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." reconnected ".. targetPlayerName , 4)
  469. end
  470. end
  471. end
  472. end
  473. end
  474. -- addCommandHandler("freconnect", forceReconnect, false, false)
  475.  
  476. -- /GIVEGUN
  477. function givePlayerGun(thePlayer, commandName, targetPlayer, ...)
  478. if (exports.global:isSuperAdmin(thePlayer)) then
  479. local args = {...}
  480. if not (targetPlayer) or (#args < 1) then
  481. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Fegyver ID / Név] [Töltény]", thePlayer, 255, 194, 14)
  482. else
  483. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  484.  
  485. if targetPlayer then
  486. local weapon = tonumber(args[1])
  487. local ammo = #args ~= 1 and tonumber(args[#args]) or 1
  488.  
  489. if not weapon then -- weapon is specified as name
  490. local weaponEnd = #args
  491. repeat
  492. weapon = getWeaponIDFromName(table.concat(args, " ", 1, weaponEnd))
  493. weaponEnd = weaponEnd - 1
  494. until weapon or weaponEnd == -1
  495. if weaponEnd == -1 then
  496. outputChatBox("Helytelen fegyver név.", thePlayer, 255, 0, 0)
  497. return
  498. elseif weaponEnd == #args - 1 then
  499. ammo = 1
  500. end
  501. elseif not getWeaponNameFromID(weapon) then
  502. outputChatBox("Helytelen fegyver ID.", thePlayer, 255, 0, 0)
  503. end
  504.  
  505. local logged = getElementData(targetPlayer, "loggedin")
  506. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  507.  
  508. if (logged==0) then
  509. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  510. elseif (logged==1) then
  511. exports.global:takeWeapon(targetPlayer, weapon)
  512. local give = exports.global:giveWeapon(targetPlayer, weapon, ammo, true)
  513.  
  514. if not (give) then
  515. outputChatBox("Helytelen fegyver ID.", thePlayer, 255, 0, 0)
  516. else
  517. outputChatBox("Játékos " .. targetPlayerName .. " kapott egy " .. getWeaponNameFromID(weapon) .. "-et " .. ammo .. " tölténnyel.", thePlayer, 0, 255, 0)
  518. exports.logs:logMessage(getPlayerName(thePlayer):gsub("_", " ") .. " gave " .. targetPlayerName .. " a " .. getWeaponNameFromID(weapon) .. " with " .. ammo .. " Ammo.", 22)
  519. if (hiddenAdmin==0) then
  520. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  521. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " adott " .. targetPlayerName .. "-ank egy " .. getWeaponNameFromID(weapon) .. "-et " .. ammo .. " tölténnyel.")
  522. end
  523. end
  524. end
  525. end
  526. end
  527. end
  528. end
  529. addCommandHandler("givegun", givePlayerGun, false, false)
  530.  
  531. -- /GIVEITEM
  532. function givePlayerItem(thePlayer, commandName, targetPlayer, itemID, ...)
  533. if (getElementData( thePlayer, "adminlevel" ) > 3) then
  534. if (exports.global:isPlayerAdmin(thePlayer)) then
  535. if not (itemID) or not (...) or not (targetPlayer) then
  536. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Tárgy ID] [Tárgy értéke]", thePlayer, 255, 194, 14)
  537. else
  538. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  539.  
  540. if targetPlayer then
  541. local logged = getElementData(targetPlayer, "loggedin")
  542.  
  543. itemID = tonumber(itemID)
  544. local itemValue = table.concat({...}, " ")
  545. itemValue = tonumber(itemValue) or itemValue
  546.  
  547. if ( itemID == 74 or itemID == 75 or itemID == 78 ) and not exports.global:isPlayerScripter( thePlayer ) and not exports.global:isPlayerHeadAdmin( thePlayer) then
  548. -- nuthin
  549. elseif ( itemID == 84 ) and not exports.global:isPlayerLeadAdmin( thePlayer ) then
  550. elseif (logged==0) then
  551. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  552. elseif (logged==1) then
  553. local name = call( getResourceFromName( "item-system" ), "getItemName", itemID )
  554.  
  555. if itemID > 0 and name and name ~= "?" then
  556. local success, reason = exports.global:giveItem(targetPlayer, itemID, itemValue)
  557. if success then
  558. outputChatBox("Játékos " .. targetPlayerName .. " kapott egy " .. name .. "-t ezzel az értékkel " .. itemValue .. ".", thePlayer, 0, 255, 0)
  559. exports.logs:logMessage(getPlayerName(thePlayer):gsub("_", " ") .. " gave " .. targetPlayerName .. " a " .. name .. " with value " .. itemValue, 13)
  560.  
  561. if itemID == 2 or itemID == 17 then
  562. triggerClientEvent(targetPlayer, "updateHudClock", targetPlayer)
  563. end
  564. else
  565. outputChatBox("Nem tudom odaadni " .. targetPlayerName .. "-nek a " .. name .. "-t: " .. tostring(reason), thePlayer, 255, 0, 0)
  566. end
  567. else
  568. outputChatBox("Helytelen Tárgy ID.", thePlayer, 255, 0, 0)
  569. end
  570. end
  571. end
  572. end
  573. end
  574. end
  575. end
  576. addCommandHandler("giveitem", givePlayerItem, false, false)
  577.  
  578. -- /TAKEITEM
  579. function takePlayerItem(thePlayer, commandName, targetPlayer, itemID, ...)
  580. if (exports.global:isPlayerAdmin(thePlayer)) then
  581. if not (itemID) or not (...) or not (targetPlayer) then
  582. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Tárgy ID] [Tárgy értéke]", thePlayer, 255, 194, 14)
  583. else
  584. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  585.  
  586. if targetPlayer then
  587. local logged = getElementData(targetPlayer, "loggedin")
  588.  
  589. itemID = tonumber(itemID)
  590. local itemValue = table.concat({...}, " ")
  591. itemValue = tonumber(itemValue) or itemValue
  592.  
  593. if (logged==0) then
  594. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  595. elseif (logged==1) then
  596. if exports.global:hasItem(targetPlayer, itemID, itemValue) then
  597. outputChatBox("Elvetted a " .. itemID .. "-t tõle: " .. targetPlayerName .. ".", thePlayer, 0, 255, 0)
  598. exports.global:takeItem(targetPlayer, itemID, itemValue)
  599.  
  600. if itemID == 2 or itemID == 17 then
  601. triggerClientEvent(targetPlayer, "updateHudClock", targetPlayer)
  602. end
  603. else
  604. outputChatBox("A játékosnak nincs meg ez a tárgy!", thePlayer, 255, 0, 0)
  605. end
  606. end
  607. end
  608. end
  609. end
  610. end
  611. addCommandHandler("takeitem", takePlayerItem, false, false)
  612.  
  613. -- /SETHP
  614. function setPlayerHealth(thePlayer, commandName, targetPlayer, health)
  615. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  616. if (exports.global:isFoAdmin(thePlayer)) then
  617. if not tonumber(health) or not (targetPlayer) then
  618. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Élet]", thePlayer, 255, 194, 14)
  619. else
  620. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  621.  
  622. if targetPlayer then
  623. if tonumber( health ) < getElementHealth( targetPlayer ) and getElementData( thePlayer, "adminlevel" ) < getElementData( targetPlayer, "adminlevel" ) then
  624. outputChatBox("Nah.", thePlayer, 255, 0, 0)
  625. elseif not setElementHealth(targetPlayer, tonumber(health)) then
  626. outputChatBox("Helytelen élet érték.", thePlayer, 255, 0, 0)
  627. else
  628. outputChatBox("Játékos " .. targetPlayerName .. " kapott " .. health .. " életet.", thePlayer, 0, 255, 0)
  629. triggerEvent("onPlayerHeal", targetPlayer, true)
  630. exports.logs:logMessage("[/SETHP] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." set ".. targetPlayerName .. " to " .. health , 4)
  631. exports.global:sendMessageToAdmins("Játékos " .. targetPlayerName .. " kapott " .. health .. " életet ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  632. end
  633. end
  634. end
  635. end
  636. end
  637. end
  638. addCommandHandler("sethp", setPlayerHealth, false, false)
  639.  
  640. -- /SETARMOR
  641. function setPlayerArmour(thePlayer, commandName, targetPlayer, armor)
  642. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  643. if (exports.global:isFoAdmin(thePlayer)) then
  644. if not (armor) or not (targetPlayer) then
  645. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Armor]", thePlayer, 255, 194, 14)
  646. else
  647. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  648.  
  649. if targetPlayer then
  650. local logged = getElementData(targetPlayer, "loggedin")
  651.  
  652. if (logged==0) then
  653. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  654. elseif (tostring(type(tonumber(armor))) == "number") then
  655. local setArmor = setPedArmor(targetPlayer, tonumber(armor))
  656. outputChatBox("Játékos " .. targetPlayerName .. " kapott " .. armor .. " páncélt.", thePlayer, 0, 255, 0)
  657. exports.logs:logMessage("[/SETARMOR] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." set ".. targetPlayerName .. " his armor to " .. armor , 4)
  658. exports.global:sendMessageToAdmins("Játékos " .. targetPlayerName .. " kapott " .. armor .. " páncélt ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  659. else
  660. outputChatBox("Helytelen páncél érték.", thePlayer, 255, 0, 0)
  661. end
  662. end
  663. end
  664. end
  665. end
  666. end
  667. addCommandHandler("setarmor", setPlayerArmour, false, false)
  668.  
  669. -- /SETPLAYERSKIN
  670. function setPlayerSkinCmd(thePlayer, commandName, targetPlayer, skinID)
  671. if (exports.global:isFoAdmin(thePlayer)) then
  672. if not (skinID) or not (targetPlayer) then
  673. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Skin ID]", thePlayer, 255, 194, 14)
  674. else
  675. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  676.  
  677. if targetPlayer then
  678. local logged = getElementData(targetPlayer, "loggedin")
  679.  
  680. if (logged==0) then
  681. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  682. elseif (tostring(type(tonumber(skinID))) == "number") then
  683. local fat = getPedStat(targetPlayer, 21)
  684. local muscle = getPedStat(targetPlayer, 23)
  685.  
  686. setPedStat(targetPlayer, 21, 0)
  687. setPedStat(targetPlayer, 23, 0)
  688. local skin = setElementModel(targetPlayer, tonumber(skinID))
  689.  
  690. setPedStat(targetPlayer, 21, fat)
  691. setPedStat(targetPlayer, 23, muscle)
  692. if not (skin) then
  693. outputChatBox("Helytelen skin ID.", thePlayer, 255, 0, 0)
  694. else
  695. outputChatBox("Játékos " .. targetPlayerName .. " kinézete megváltoztatva erre: " .. skinID .. ".", thePlayer, 0, 255, 0)
  696. mysql:query_free("UPDATE characters SET skin = " .. mysql:escape_string(skinID) .. " WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  697. exports.logs:logMessage("[/SETSKIN] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." set ".. targetPlayerName .. " his skin to "..skinID , 4)
  698. end
  699. else
  700. outputChatBox("Helytelen skin ID.", thePlayer, 255, 0, 0)
  701. end
  702. end
  703. end
  704. end
  705. end
  706. addCommandHandler("setskin", setPlayerSkinCmd, false, false)
  707.  
  708.  
  709.  
  710. function weatherall(thePlayer, commandName, IdoJaras)
  711. if (exports.global:isPlayerAdmin(thePlayer)) then
  712. if not (IdoJaras) then
  713. outputChatBox("Példa: /" .. commandName .. " [Időjárás]", thePlayer, 255, 194, 14)
  714. else
  715. setWeather (IdoJaras)
  716. end
  717. end
  718. end
  719. addCommandHandler("weatherall", weatherall, false, false)
  720.  
  721. function setIdo(thePlayer, commandName, Ido)
  722. if (exports.global:isPlayerAdmin(thePlayer)) then
  723. if not (Ido) then
  724. outputChatBox("Példa: /" .. commandName .. " [Óra]", thePlayer, 255, 194, 14)
  725. else
  726. setTime (Ido,0)
  727. end
  728. end
  729. end
  730. addCommandHandler("settime", setIdo, false, false)
  731.  
  732. -- /CHANGENAME
  733. function asetPlayerName(thePlayer, commandName, targetPlayer, ...)
  734. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  735. if (exports.global:isPlayerAdmin(thePlayer)) then
  736. if not (...) or not (targetPlayer) then
  737. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Játékos új neve]", thePlayer, 255, 194, 14)
  738. else
  739. local newName = table.concat({...}, "_")
  740. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  741.  
  742. if targetPlayer then
  743. if newName == targetPlayerName then
  744. outputChatBox( "A játékos már ezt a nevet viseli.", thePlayer, 255, 0, 0)
  745. else
  746. local dbid = getElementData(targetPlayer, "dbid")
  747. local result = mysql:query("SELECT charactername FROM characters WHERE charactername='" .. mysql:escape_string(newName) .. "' AND id != " .. mysql:escape_string(dbid))
  748.  
  749. if (mysql:num_rows(result)>0) then
  750. outputChatBox("Ez a név már használatban.", thePlayer, 255, 0, 0)
  751. else
  752. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "legitnamechange", 1)
  753. local name = setPlayerName(targetPlayer, tostring(newName))
  754.  
  755. if (name) then
  756. if getPlayerNametagText(targetPlayer) ~= "Unknown Person" then
  757. setPlayerNametagText(targetPlayer, tostring(newName):gsub("_", " "))
  758. end
  759. exports['cache']:clearCharacterName( dbid )
  760. mysql:query_free("UPDATE characters SET charactername='" .. mysql:escape_string(newName) .. "' WHERE id = " .. mysql:escape_string(dbid))
  761. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  762.  
  763. if (hiddenAdmin==0) then
  764. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  765. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " megváltoztatta " .. targetPlayerName .. " nevét erre: " .. newName .. ".")
  766. end
  767. outputChatBox("Megváltoztattad " .. targetPlayerName .. " nevét erre: " .. tostring(newName) .. ".", thePlayer, 0, 255, 0)
  768. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "legitnamechange", 0)
  769.  
  770. exports.logs:logMessage("[/CHANGENAME] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." changed ".. targetPlayerName .. " TO ".. tostring(newName) , 4)
  771. triggerClientEvent(targetPlayer, "updateName", targetPlayer, getElementData(targetPlayer, "dbid"))
  772. else
  773. outputChatBox("Játékosnak nem sikerült megváltoztatni a nevét.", thePlayer, 255, 0, 0)
  774. end
  775. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "legitnamechange", 0)
  776. end
  777. mysql:free_result(result)
  778. end
  779. end
  780. end
  781. end
  782. end
  783. end
  784. addCommandHandler("changename", asetPlayerName, false, false)
  785.  
  786. -- /HIDEADMIN
  787. function hideAdmin(thePlayer, commandName)
  788. if exports.global:isHarmasAdmin(thePlayer) then
  789. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  790.  
  791. if (hiddenAdmin==0) then
  792. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "hiddenadmin", 1)
  793. outputChatBox("Rejtett admin szolgálatba léptél.", thePlayer, 255, 194, 14)
  794. elseif (hiddenAdmin==1) then
  795. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "hiddenadmin", 0)
  796. outputChatBox("Kiléptél rejtett admin szolgálatból.", thePlayer, 255, 194, 14)
  797. end
  798. exports.global:updateNametagColor(thePlayer)
  799. mysql:query_free("UPDATE accounts SET hiddenadmin=" .. mysql:escape_string(getElementData(thePlayer, "hiddenadmin")) .. " WHERE id = " .. mysql:escape_string(getElementData(thePlayer, "gameaccountid")) )
  800. end
  801. end
  802. addCommandHandler("hideadmin", hideAdmin, false, false)
  803.  
  804. -- /SLAP
  805. function slapPlayer(thePlayer, commandName, targetPlayer)
  806. if (exports.global:isKettesAdmin(thePlayer)) then
  807. if not (targetPlayer) then
  808. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  809. else
  810. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  811.  
  812. if targetPlayer then
  813. local thePlayerPower = exports.global:getPlayerAdminLevel(thePlayer)
  814. local targetPlayerPower = exports.global:getPlayerAdminLevel(targetPlayer)
  815. local logged = getElementData(targetPlayer, "loggedin")
  816.  
  817. if (logged==0) then
  818. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  819. elseif (targetPlayerPower > thePlayerPower) then -- Check the admin isn't slapping someone higher rank them him
  820. outputChatBox("Nem tudod felpofozni ezt a játékost! Magosabb az Admin rangja mint a tied.", thePlayer, 255, 0, 0)
  821. else
  822. local x, y, z = getElementPosition(targetPlayer)
  823.  
  824. if (isPedInVehicle(targetPlayer)) then
  825. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  826. removePedFromVehicle(targetPlayer)
  827. end
  828.  
  829. setElementPosition(targetPlayer, x, y, z+15)
  830. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  831.  
  832. if (hiddenAdmin==0) then
  833. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  834. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " felpofozta " .. targetPlayerName .. ".")
  835. exports.logs:logMessage("[/SLAP] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." slapped ".. targetPlayerName , 4)
  836. triggerEvent("removeTintName", targetPlayer)
  837. end
  838. end
  839. end
  840. end
  841. end
  842. end
  843. addCommandHandler("slap", slapPlayer, false, false)
  844.  
  845. -- /HUGESLAP
  846. function hugeSlapPlayer(thePlayer, commandName, targetPlayer)
  847. if (exports.global:isHarmasAdmin(thePlayer)) then
  848. if not (targetPlayer) then
  849. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  850. else
  851. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  852.  
  853. if targetPlayer then
  854. local thePlayerPower = exports.global:getPlayerAdminLevel(thePlayer)
  855. local targetPlayerPower = exports.global:getPlayerAdminLevel(targetPlayer)
  856. local logged = getElementData(targetPlayer, "loggedin")
  857.  
  858. if (logged==0) then
  859. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  860. elseif (targetPlayerPower > thePlayerPower) then -- Check the admin isn't slapping someone higher rank them him
  861. outputChatBox("Nem tudod felpofozni ezt a játékost! Magosabb az Admin rangja mint a tied.", thePlayer, 255, 0, 0)
  862. else
  863. local x, y, z = getElementPosition(targetPlayer)
  864.  
  865. if (isPedInVehicle(targetPlayer)) then
  866. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  867. removePedFromVehicle(targetPlayer)
  868. end
  869.  
  870. setElementPosition(targetPlayer, x, y, z+50)
  871. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  872.  
  873. if (hiddenAdmin==0) then
  874. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  875. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " hatalmas pofont adott neki: " .. targetPlayerName .. ".")
  876. exports.logs:logMessage("[/HUGESLAP] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." slapped ".. targetPlayerName , 4)
  877. triggerEvent("removeTintName", targetPlayer)
  878. end
  879. end
  880. end
  881. end
  882. end
  883. end
  884. addCommandHandler("hugeslap", hugeSlapPlayer, false, false)
  885.  
  886. -- HEADS Hidden OOC
  887. function hiddenOOC(thePlayer, commandName, ...)
  888. local logged = getElementData(thePlayer, "loggedin")
  889.  
  890. if (exports.global:isPlayerHeadAdmin(thePlayer)) then
  891. if not (...) then
  892. outputChatBox("Példa: /" .. commandName .. " [Message]", thePlayer, 255, 194, 14)
  893. else
  894. local players = exports.pool:getPoolElementsByType("player")
  895. local message = table.concat({...}, " ")
  896.  
  897. for index, arrayPlayer in ipairs(players) do
  898. local logged = getElementData(arrayPlayer, "loggedin")
  899.  
  900. if (logged==1) and getElementData(arrayPlayer, "globalooc") == 1 then
  901. outputChatBox("(( Rejtett Admin: " .. message .. " ))", arrayPlayer, 255, 255, 255)
  902. end
  903. end
  904. end
  905. end
  906. end
  907. addCommandHandler("ho", hiddenOOC, false, false)
  908.  
  909. -- RECON
  910. function reconPlayer(thePlayer, commandName, targetPlayer)
  911. if (exports.global:isPlayerAdmin(thePlayer)) then
  912. if not (targetPlayer) then
  913. local rx = getElementData(thePlayer, "reconx")
  914. local ry = getElementData(thePlayer, "recony")
  915. local rz = getElementData(thePlayer, "reconz")
  916. local reconrot = getElementData(thePlayer, "reconrot")
  917. local recondimension = getElementData(thePlayer, "recondimension")
  918. local reconinterior = getElementData(thePlayer, "reconinterior")
  919.  
  920. if not (rx) or not (ry) or not (rz) or not (reconrot) or not (recondimension) or not (reconinterior) then
  921. outputChatBox("Példa: /" .. commandName .. " [Névrészlet]", thePlayer, 255, 194, 14)
  922. else
  923. detachElements(thePlayer)
  924.  
  925. setElementPosition(thePlayer, rx, ry, rz)
  926. setPedRotation(thePlayer, reconrot)
  927. setElementDimension(thePlayer, recondimension)
  928. setElementInterior(thePlayer, reconinterior)
  929. setCameraInterior(thePlayer, reconinterior)
  930.  
  931. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", nil)
  932. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recony", nil, false)
  933. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconz", nil, false)
  934. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconrot", nil, false)
  935. setCameraTarget(thePlayer, thePlayer)
  936. setElementAlpha(thePlayer, 255)
  937. outputChatBox("Recon kikapcsolva.", thePlayer, 255, 194, 14)
  938. end
  939. else
  940. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  941.  
  942. if targetPlayer then
  943. local logged = getElementData(targetPlayer, "loggedin")
  944.  
  945. if (logged==0) then
  946. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  947. else
  948. setElementAlpha(thePlayer, 0)
  949.  
  950. if ( not getElementData(thePlayer, "reconx") or getElementData(thePlayer, "reconx") == true ) and not getElementData(thePlayer, "recony") then
  951. local x, y, z = getElementPosition(thePlayer)
  952. local rot = getPedRotation(thePlayer)
  953. local dimension = getElementDimension(thePlayer)
  954. local interior = getElementInterior(thePlayer)
  955. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", x)
  956. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recony", y, false)
  957. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconz", z, false)
  958. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconrot", rot, false)
  959. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recondimension", dimension, false)
  960. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconinterior", interior, false)
  961. end
  962. setPedWeaponSlot(thePlayer, 0)
  963.  
  964. local playerdimension = getElementDimension(targetPlayer)
  965. local playerinterior = getElementInterior(targetPlayer)
  966.  
  967. setElementDimension(thePlayer, playerdimension)
  968. setElementInterior(thePlayer, playerinterior)
  969. setCameraInterior(thePlayer, playerinterior)
  970.  
  971. local x, y, z = getElementPosition(targetPlayer)
  972. setElementPosition(thePlayer, x - 10, y - 10, z - 5)
  973. local success = attachElements(thePlayer, targetPlayer, -10, -10, -5)
  974. if not (success) then
  975. success = attachElements(thePlayer, targetPlayer, -5, -5, -5)
  976. if not (success) then
  977. success = attachElements(thePlayer, targetPlayer, 5, 5, -5)
  978. end
  979. end
  980.  
  981. if not (success) then
  982. outputChatBox("Nem sikerült kapcsolódni a játékoshoz.", thePlayer, 0, 255, 0)
  983. else
  984. setCameraTarget(thePlayer, targetPlayer)
  985. outputChatBox("Admin TV: Most " .. targetPlayerName .. "-t figyeled.", thePlayer, 0, 255, 0)
  986.  
  987. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  988.  
  989. if hiddenAdmin == 0 then
  990. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  991. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " Admin TV-zi " .. targetPlayerName .. "-t.")
  992. end
  993. end
  994. end
  995. end
  996. end
  997. end
  998. end
  999. addCommandHandler("recon", reconPlayer, false, false)
  1000.  
  1001. function fuckRecon(thePlayer, commandName, targetPlayer)
  1002. if (exports.global:isPlayerAdmin(thePlayer)) then
  1003. local rx = getElementData(thePlayer, "reconx")
  1004. local ry = getElementData(thePlayer, "recony")
  1005. local rz = getElementData(thePlayer, "reconz")
  1006. local reconrot = getElementData(thePlayer, "reconrot")
  1007. local recondimension = getElementData(thePlayer, "recondimension")
  1008. local reconinterior = getElementData(thePlayer, "reconinterior")
  1009.  
  1010. detachElements(thePlayer)
  1011. setCameraTarget(thePlayer, thePlayer)
  1012. setElementAlpha(thePlayer, 255)
  1013.  
  1014. if rx and ry and rz then
  1015. setElementPosition(thePlayer, rx, ry, rz)
  1016. if reconrot then
  1017. setPedRotation(thePlayer, reconrot)
  1018. end
  1019.  
  1020. if recondimension then
  1021. setElementDimension(thePlayer, recondimension)
  1022. end
  1023.  
  1024. if reconinterior then
  1025. setElementInterior(thePlayer, reconinterior)
  1026. setCameraInterior(thePlayer, reconinterior)
  1027. end
  1028. end
  1029.  
  1030. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx")
  1031. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recony")
  1032. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconz")
  1033. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconrot")
  1034. outputChatBox("Admin TV kikapcsolva.", thePlayer, 255, 194, 14)
  1035. end
  1036. end
  1037. addCommandHandler("fuckrecon", fuckRecon, false, false)
  1038. addCommandHandler("stoprecon", fuckRecon, false, false)
  1039.  
  1040. --pm
  1041. function PMNeki(thePlayer, commandName, targetPlayer, ...)
  1042. if not (targetPlayer) or not (...) then
  1043. outputChatBox("Példa: /" .. commandName .. " [Névrészlet] [szöveg]", thePlayer, 255, 194, 14)
  1044. else
  1045. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  1046.  
  1047. if targetPlayer then
  1048. local blokkolva = getElementData(targetPlayer, "pmblocked")
  1049. if not(blokkolva == 1) then
  1050. szoveg = table.concat({...}, " ")
  1051. if (exports.global:isPlayerAdmin(targetPlayer) == true and getElementData(targetPlayer, "adminduty") == 1) or (exports.global:isPlayerAdmin(thePlayer)) then
  1052. local rejtettadmin = getElementData(thePlayer, "hiddenadmin")
  1053. local playerName = getPlayerName(thePlayer)
  1054. local targetName = getPlayerName(targetPlayer)
  1055. local idje = tonumber(getElementData(thePlayer, "playerid"))
  1056. -- local idje2 = tonumber(getElementData(targetPlayer, "playerid"))
  1057. outputChatBox("[PM neked, Admin IDje: "..idje.."] " .. playerName .. ": " .. szoveg, targetPlayer, 154, 205, 50)
  1058. outputChatBox("[PM tőled] " .. targetName .. ": " .. szoveg, thePlayer, 154, 205, 50)
  1059. else
  1060. outputChatBox("(( Csak szolgálatban levő adminnak írhatsz PM-et! ))", thePlayer, 255, 0, 0)
  1061. end
  1062. else
  1063. outputChatBox("(( Ez az adminisztrátor letiltotta a PM-eket! ))", thePlayer, 255, 0, 0)
  1064. end
  1065. end
  1066. end
  1067. end
  1068. addCommandHandler("pm", PMNeki, false, false)
  1069.  
  1070. --vá
  1071. function ValaszNeki(thePlayer, commandName, targetPlayer, ...)
  1072. if (exports.global:isPlayerAdmin(thePlayer)) then
  1073. if not (targetPlayer) or not (...) then
  1074. outputChatBox("Példa: /" .. commandName .. " [Névrészlet] [szöveg]", thePlayer, 255, 194, 14)
  1075. else
  1076. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  1077.  
  1078. if targetPlayer then
  1079. szoveg = table.concat({...}, " ")
  1080.  
  1081. if (exports.global:isPlayerAdmin(targetPlayer) ~= true) then
  1082. local rejtettadmin = getElementData(thePlayer, "hiddenadmin")
  1083. local playerName = getPlayerName(thePlayer)
  1084.  
  1085. if (rejtettadmin==0) then
  1086. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1087. --outputChatBox("Válaszod neki: " .. targetPlayerName .. ": " .. szoveg, thePlayer, 255, 255, 0)
  1088. outputChatBox(adminTitle .. playerName .. ": " .. szoveg, targetPlayer, 154, 205, 50)
  1089. else
  1090. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1091. --outputChatBox("Válaszod neki: " .. targetPlayerName .. ": " .. szoveg, thePlayer, 255, 255, 0)
  1092. outputChatBox(adminTitle .. ": " .. szoveg, targetPlayer, 154, 205, 50)
  1093. end
  1094. exports.global:sendMessageToAdmins(playerName .. " válaszolt neki: " .. targetPlayerName, 255, 255, 0)
  1095. exports.global:sendMessageToAdmins("Szöveg: " .. szoveg, 255, 255, 0)
  1096. -- outputChatBox("[".. targetPlayerName .."] válaszod: ".. szoveg, thePlayer, 255, 255, 0)
  1097. else
  1098. outputChatBox("(( Másik adminnak nem tudsz válaszolni. ))", thePlayer, 255, 0, 0)
  1099. end
  1100. end
  1101. end
  1102. end
  1103. end
  1104. addCommandHandler("vá", ValaszNeki, false, false)
  1105. addCommandHandler("válasz", ValaszNeki, false, false)
  1106.  
  1107. function jatekoskirugas(thePlayer, commandName, targetPlayer, ...)
  1108. if (exports.global:isPlayerAdmin(thePlayer)) then
  1109. if not (targetPlayer) or not (...) then
  1110. outputChatBox("Példa: /" .. commandName .. " [ID / Névrészlet] [indok]", thePlayer, 255, 194, 14)
  1111. else
  1112. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  1113.  
  1114. if targetPlayer then
  1115. szoveg = table.concat({...}, " ")
  1116.  
  1117. local playerName = getPlayerName(thePlayer)
  1118.  
  1119. outputChatBox("Kick: " .. playerName .. " kickelte " .. targetPlayerName .. "-t.", getRootElement(), 255, 0, 51)
  1120. outputChatBox("Kick: Indok: " .. szoveg .. ".", getRootElement(), 255, 0, 51)
  1121.  
  1122. kickPlayer(targetPlayer, thePlayer, szoveg)
  1123. exports.logs:logMessage("[/KICK] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." kicked ".. targetPlayerName .." (".. reason ..")" , 4)
  1124. end
  1125. end
  1126. end
  1127. end
  1128. addCommandHandler("pkick", jatekoskirugas, false, false)
  1129. addCommandHandler("kick", jatekoskirugas, false, false)
  1130.  
  1131. -- BAN
  1132. function banAPlayer(thePlayer, commandName, targetPlayer, hours, ...)
  1133. if (exports.global:isPlayerAdmin(thePlayer)) then
  1134. if not (targetPlayer) or not (hours) or (tonumber(hours)<0) or not (...) then
  1135. outputChatBox("Példa: /" .. commandName .. " [NÉV / ID] [Óraszám, 0 = örök] [oka]", thePlayer, 255, 194, 14)
  1136. else
  1137. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  1138. hours = tonumber(hours)
  1139.  
  1140. if not (targetPlayer) then
  1141. elseif (hours>168) then
  1142. outputChatBox("Max 7 nap. (168 óra).", thePlayer, 255, 194, 14)
  1143. else
  1144. local thePlayerPower = exports.global:getPlayerAdminLevel(thePlayer)
  1145. local targetPlayerPower = exports.global:getPlayerAdminLevel(targetPlayer)
  1146. reason = table.concat({...}, " ")
  1147.  
  1148. if (targetPlayerPower <= thePlayerPower) then -- Check the admin isn't banning someone higher rank them him
  1149. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  1150. local playerName = getPlayerName(thePlayer)
  1151. local accountID = getElementData(targetPlayer, "gameaccountid")
  1152.  
  1153. local seconds = ((hours*60)*60)
  1154. local rhours = hours
  1155. -- text value
  1156. if (hours==0) then
  1157. hours = "Örök"
  1158. elseif (hours==1) then
  1159. hours = "1 óra"
  1160. else
  1161. hours = hours .. " óra"
  1162. end
  1163.  
  1164. reason = reason .. " (" .. hours .. ")"
  1165.  
  1166. mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',2,' .. mysql:escape_string(rhours) .. ',"' .. mysql:escape_string(reason) .. '")' )
  1167. -- if (hiddenAdmin==0) then
  1168. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1169. -- exports.global:sendMessageToAdmins("AdmBan: " .. adminTitle .. " " .. playerName .. " kitiltotta " .. targetPlayerName .. ". (" .. hours .. ")")
  1170. -- exports.global:sendMessageToAdmins("AdmBan: Oka: " .. reason .. ".")
  1171. outputChatBox("AdmBan: " .. adminTitle .. " " .. playerName .. " kitiltotta " .. targetPlayerName .. ". (" .. hours .. ")", getRootElement(), 255, 0, 51)
  1172. outputChatBox("AdmBan: Oka: " .. reason .. ".", getRootElement(), 255, 0, 51)
  1173.  
  1174. local ban = banPlayer(targetPlayer,false, false,true, thePlayer, reason, seconds)
  1175.  
  1176. mysql:query_free("UPDATE accounts SET banned='1', banned_reason='" .. mysql:escape_string(reason) .. "', banned_by='" .. mysql:escape_string(playerName) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1177. -- elseif (hiddenAdmin==1) then
  1178. outputChatBox("AdmBan: Rejtett Admin kitiltotta " .. targetPlayerName .. ". (" .. hours .. ")", getRootElement(), 255, 0, 51)
  1179. outputChatBox("AdmBan: Oka: " .. reason, getRootElement(), 255, 0, 51)
  1180. outputChatBox("AdmBan: Idő: " .. hours .. ".", getRootElement(), 255, 0, 51)
  1181.  
  1182. -- local ban = banPlayer(targetPlayer,false, false,true, getRootElement(), reason, seconds)
  1183.  
  1184. -- mysql:query_free("UPDATE accounts SET banned='1', banned_reason='" .. mysql:escape_string(reason) .. "', banned_by='" .. mysql:escape_string(playerName) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1185. -- end
  1186. else
  1187. local playerName = getPlayerName(thePlayer)
  1188. outputChatBox(" Nem bannolhatsz nagyobb admin. (értesítve)", thePlayer, 255, 0, 0)
  1189. outputChatBox(playerName .. " ki akart bannolni.", targetPlayer, 255, 0 ,0)
  1190. end
  1191. end
  1192. end
  1193. end
  1194. end
  1195. addCommandHandler("pban", banAPlayer, false, false)
  1196. addCommandHandler("ban", banAPlayer, false, false)
  1197.  
  1198. function unbanAccount(theBan)
  1199. local ip = getBanIP(theBan)
  1200. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. ip .. "'")
  1201. end
  1202. addEventHandler("onUnban", getRootElement(), unbanAccount)
  1203.  
  1204. function remoteUnban(thePlayer, targetNick)
  1205. local bans = getBans()
  1206. local found = false
  1207.  
  1208. local result1 = mysql:query("SELECT id, ip, banned FROM accounts WHERE username='" .. mysql:escape_string(tostring(targetNick)) .. "' LIMIT 1")
  1209.  
  1210. if (result1) then
  1211. if (mysql:num_rows(result1)>0) then
  1212. local row = mysql:fetch_assoc(result1)
  1213.  
  1214. local accountid = tonumber(row["id"])
  1215. local ip = tostring(row["ip"])
  1216. local banned = tonumber(row["banned"])
  1217. mysql:free_result(result1)
  1218. local bans = getBans()
  1219.  
  1220. for key, value in ipairs(bans) do
  1221. if (ip==getBanIP(value)) then
  1222. exports.global:sendMessageToAdmins(tostring(targetNick) .. " unbannolva " .. thePlayer .. " által.")
  1223. removeBan(value)
  1224. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. mysql:escape_string(ip) .. "'")
  1225. outputChatBox("Unbannolva.", thePlayer, 255, 0, 0)
  1226. found = true
  1227. break
  1228. end
  1229. end
  1230.  
  1231. if not found and banned == 1 then
  1232. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE id='" .. mysql:escape_string(id) .. "'")
  1233. outputChatBox("Unbannolva.", thePlayer, 255, 0, 0)
  1234. return true
  1235. end
  1236. end
  1237. end
  1238. outputChatBox("Hiba.", thePlayer, 255, 0, 0)
  1239. return found
  1240. end
  1241. addCommandHandler("runban", remoteUnban, false, false)
  1242.  
  1243. -- /UNBAN
  1244. function unbanPlayer(thePlayer, commandName, nickName)
  1245. if (exports.global:isRpSeged(thePlayer)) then
  1246. if not (nickName) then
  1247. outputChatBox("Példa: /" .. commandName .. " [Teljes név]", thePlayer, 255, 194, 14)
  1248. else
  1249. local bans = getBans()
  1250. local found = false
  1251.  
  1252. local result1 = mysql:query("SELECT account FROM characters WHERE charactername='" .. mysql:escape_string(tostring(nickName)) .. "' LIMIT 1")
  1253.  
  1254. if (result1 and mysql:num_rows(result1)>0) then
  1255. local row = mysql:fetch_assoc(result1)
  1256. local accountid = tonumber(row["account"])
  1257. mysql:free_result(result1)
  1258.  
  1259. local result = mysql:query("SELECT mtaserial, banned FROM accounts WHERE id='" .. mysql:escape_string(accountid) .. "'")
  1260.  
  1261. if (result) then
  1262. if (mysql:num_rows(result)>0) then
  1263. local row = mysql:fetch_assoc(result)
  1264. local serial = tostring(row["mtaserial"])
  1265. local banned = tonumber(row["banned"])
  1266.  
  1267. for key, value in ipairs(bans) do
  1268. if (serial==getBanSerial(value)) then
  1269. outputChatBox(tostring(nickName) .. " unbannolva " .. getPlayerName(thePlayer) .. " által.",thePlayer,50,255,50)
  1270. removeBan(value, thePlayer)
  1271. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE mtaserial='" .. mysql:escape_string(serial) .. "'")
  1272. found = true
  1273. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  1274. break
  1275. end
  1276. end
  1277.  
  1278. if not found and banned == 1 then
  1279. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE id='" .. mysql:escape_string(accountid) .. "'")
  1280. found = true
  1281. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  1282. end
  1283.  
  1284. if not (found) then
  1285. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1286. end
  1287. else
  1288. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1289. end
  1290. else
  1291. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1292. end
  1293. mysql:free_result(result)
  1294. else
  1295. local result2 = mysql:query("SELECT id FROM accounts WHERE username='" .. mysql:escape_string(tostring(nickName)) .. "' LIMIT 1")
  1296.  
  1297. if (mysql:num_rows(result2)>0) then
  1298. local row = mysql:fetch_assoc(result2)
  1299. local accountid = tonumber(row["id"])
  1300. mysql:free_result(result2)
  1301.  
  1302.  
  1303. local result = mysql:query("SELECT mtaserial, banned FROM accounts WHERE id='" .. mysql:escape_string(accountid) .. "'")
  1304.  
  1305. if (result) then
  1306. if (mysql:num_rows(result)>0) then
  1307. local row = mysql:fetch_assoc(result)
  1308. local serial = tostring(row["mtaserial"])
  1309. local banned = tonumber(row["banned"])
  1310.  
  1311. for key, value in ipairs(bans) do
  1312. if (serial==getBanSerial(value)) then
  1313. outputChatBox(tostring(nickName) .. " tiltás feloldva " .. getPlayerName(thePlayer) .. " által.",thePlayer,50,255,50)
  1314. removeBan(value, thePlayer)
  1315. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE mtaserial='" .. mysql:escape_string(serial) .. "'")
  1316. found = true
  1317. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  1318. break
  1319. end
  1320. end
  1321.  
  1322. if not found and banned == 1 then
  1323. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE id='" .. mysql:escape_string(accountid) .. "'")
  1324. found = true
  1325. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  1326. end
  1327.  
  1328. if not (found) then
  1329. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1330. end
  1331. else
  1332. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1333. end
  1334. else
  1335. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1336. end
  1337. mysql:free_result(result)
  1338. else
  1339. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  1340. end
  1341. end
  1342. mysql:free_result(result1)
  1343. end
  1344. end
  1345. end
  1346. addCommandHandler("unban", unbanPlayer, false, false)
  1347.  
  1348. -- /OBAN
  1349. function oban(thePlayer, commandName, neve, ido, ...)
  1350. if (exports.global:isPlayerAdmin(thePlayer)) then
  1351. if not (neve) or not (ido) or not (...) then
  1352. outputChatBox("Példa: /" .. commandName .. " [Teljes név] [Óraszám, 0=örök] [oka]", thePlayer, 255, 194, 14)
  1353. else
  1354. oka = table.concat({...}, " ")
  1355.  
  1356. ora = ((ido*60)*60)
  1357.  
  1358. if (ora==0) then
  1359. ido = "Örök"
  1360. ora = 99999999
  1361. elseif (ido==1) then
  1362. ido = "1 óra"
  1363. else
  1364. ido = ido .. " óra"
  1365. end
  1366.  
  1367. local lekerdezes = mysql:query("SELECT account FROM characters WHERE charactername='" .. mysql:escape_string(tostring(neve)) .. "' LIMIT 1")
  1368. if (lekerdezes and mysql:num_rows(lekerdezes)>0) then
  1369. local row = mysql:fetch_assoc(lekerdezes)
  1370. local accountid = tonumber(row["account"])
  1371. mysql:free_result(lekerdezes)
  1372.  
  1373. local result = mysql:query("SELECT mtaserial, banned, ip, id FROM accounts WHERE id='" .. mysql:escape_string(accountid) .. "'")
  1374. if (result and mysql:num_rows(result)>0) then
  1375. local row = mysql:fetch_assoc(result)
  1376. local ip = tostring(row["ip"])
  1377. local mtaserial = tostring(row["mtaserial"])
  1378. local id = tonumber(row["id"])
  1379.  
  1380. addBan ( ip, false, mtaserial, thePlayer, tostring(oka), ora )
  1381.  
  1382. mysql:query_free("UPDATE accounts SET banned = 1, banned_by = '"..getPlayerName(thePlayer).."' WHERE id = '" .. mysql:escape_string(id) .. "'")
  1383.  
  1384. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1385. -- exports.global:sendMessageToAdmins("OfflineBan: " .. adminTitle .. " " .. getPlayerName(thePlayer) .. " kitiltotta " .. neve .. ". (" .. ido .. ")")
  1386. -- exports.global:sendMessageToAdmins("OfflineBan: Oka: " .. tostring(oka) .. ".")
  1387.  
  1388. outputChatBox("OfflineBan: " .. adminTitle .. " " .. getPlayerName(thePlayer) .. " kitiltotta " .. neve .. ". (" .. ido .. ")", getRootElement(), 255, 0, 51)
  1389. outputChatBox("OfflineBan: Oka: " .. tostring(oka) .. ".", getRootElement(), 255, 0, 51)
  1390.  
  1391. mysql:free_result(result)
  1392. end
  1393. else
  1394. outputChatBox("Nincs találat '" .. neve .. "'", thePlayer, 255, 0, 0)
  1395. end
  1396. end
  1397. end
  1398. end
  1399. addCommandHandler("oban", oban, false, false)
  1400.  
  1401. -- /UNBANIP
  1402. function unbanPlayerIP(thePlayer, commandName, ip)
  1403. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  1404. if (exports.global:isPlayerAdmin(thePlayer)) then
  1405. if not (ip) then
  1406. outputChatBox("Példa: /" .. commandName .. " [IP]", thePlayer, 255, 194, 14)
  1407. else
  1408. ip = mysql:escape_string(ip)
  1409. local bans = getBans()
  1410. local found = false
  1411.  
  1412. for key, value in ipairs(bans) do
  1413. if (ip==getBanIP(value)) then
  1414. exports.global:sendMessageToAdmins(tostring(ip) .. " unbannolta " .. getPlayerName(thePlayer) .. ".")
  1415. removeBan(value, thePlayer)
  1416. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. mysql:escape_string(ip) .. "'")
  1417. found = true
  1418. break
  1419. end
  1420. end
  1421.  
  1422. local query = mysql:query_fetch_assoc("SELECT COUNT(*) as number FROM accounts WHERE ip = '" .. mysql:escape_string(ip) .. "' AND banned = 1")
  1423. if tonumber(query["number"]) > 0 then
  1424. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. mysql:escape_string(ip) .. "'")
  1425. end
  1426.  
  1427. if not (found) then
  1428. outputChatBox("Nem találtam BAN-t erre a névre: '" .. ip .. "'", thePlayer, 255, 0, 0)
  1429. end
  1430. end
  1431. end
  1432. end
  1433. end
  1434. addCommandHandler("unbanip", unbanPlayerIP, false, false)
  1435.  
  1436. local teleportLocations = {
  1437. -- x y z int dim rot
  1438. ls = { 1520.0029296875, -1701.2425537109, 13.546875, 0, 0, 275 },
  1439. sf = { -1689.0689697266, -536.7919921875, 18.854997, 0, 0, 252 },
  1440. lv = { 1691.6801757813, 1449.1293945313, 12.765375, 0, 0, 268 },
  1441. pc = { 2253.66796875, -85.0478515625, 28.086093, 0, 0, 180 },
  1442. bank = { 593.32421875, -1245.466796875, 18.083688, 0, 0, 198 },
  1443. cityhall = {1484.369140625, -1763.861328125, 18.795755, 0, 0, 180 },
  1444. vh = {1484.369140625, -1763.861328125, 18.795755, 0, 0, 180 },
  1445. igs = { 1970.248046875, -1778.4609375, 13.546875, 0, 0, 90 },
  1446. btr = { 2729.5419921875, -1457.904296875, 30.453125, 0, 0, 250 },
  1447. ash = { 1212.8564453125, -1327.5771484375, 13.567770, 0, 0, 90 }
  1448. }
  1449.  
  1450. function teleportToPresetPoint(thePlayer, commandName, target)
  1451. if (exports.global:isHarmasAdmin(thePlayer)) then
  1452. if not (target) then
  1453. outputChatBox("Példa: /" .. commandName .. " [Hely]", thePlayer, 255, 194, 14)
  1454. else
  1455. local target = string.lower(tostring(target))
  1456. if (teleportLocations[target] ~= nil) then
  1457. if (isPedInVehicle(thePlayer)) then
  1458. local veh = getPedOccupiedVehicle(thePlayer)
  1459. setVehicleTurnVelocity(veh, 0, 0, 0)
  1460. setElementPosition(veh, teleportLocations[target][1], teleportLocations[target][2], teleportLocations[target][3])
  1461. setVehicleRotation(veh, 0, 0, teleportLocations[target][6])
  1462. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  1463.  
  1464. setElementDimension(veh, teleportLocations[target][5])
  1465. setElementInterior(veh, teleportLocations[target][4])
  1466.  
  1467. setElementDimension(thePlayer, teleportLocations[target][5])
  1468. setElementInterior(thePlayer, teleportLocations[target][4])
  1469. setCameraInterior(thePlayer, teleportLocations[target][4])
  1470. else
  1471. setElementPosition(thePlayer, teleportLocations[target][1], teleportLocations[target][2], teleportLocations[target][3])
  1472. setPedRotation(thePlayer, teleportLocations[target][6])
  1473. setElementDimension(thePlayer, teleportLocations[target][5])
  1474. setCameraInterior(thePlayer, teleportLocations[target][4])
  1475. setElementInterior(thePlayer, teleportLocations[target][4])
  1476. end
  1477. else
  1478. outputChatBox("Ismeretlen hely!", thePlayer, 255, 0, 0)
  1479. end
  1480. end
  1481. end
  1482. end
  1483. addCommandHandler("tele", teleportToPresetPoint, false, false)
  1484. addCommandHandler("teleport", teleportToPresetPoint, false, false)
  1485.  
  1486. function makePlayerAdmin(thePlayer, commandName, who, rank)
  1487. if (exports.global:isSuperAdmin(thePlayer)) then
  1488. if not (who) then
  1489. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet] [Rang]", thePlayer, 255, 194, 14)
  1490. else
  1491. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  1492.  
  1493. if (targetPlayer) then
  1494. local username = getPlayerName(thePlayer)
  1495. local accountID = getElementData(targetPlayer, "gameaccountid")
  1496.  
  1497. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminlevel", tonumber(rank))
  1498.  
  1499. rank = tonumber(rank)
  1500.  
  1501. if (rank<1337) then
  1502. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "hiddenadmin", 0)
  1503. end
  1504.  
  1505. local query = mysql:query_free("UPDATE accounts SET admin='" .. mysql:escape_string(tonumber(rank)) .. "', hiddenadmin='0' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1506. outputChatBox("Beállítottad " .. targetPlayerName .. " Admin rangját erre: " .. rank .. ".", thePlayer, 0, 255, 0)
  1507.  
  1508. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  1509.  
  1510. local targetAdminTitle = exports.global:getPlayerAdminTitle(targetPlayer)
  1511. if (rank>0) or (rank==-999999999) then
  1512. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminduty", 1)
  1513. else
  1514. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminduty", 0)
  1515. end
  1516. mysql:query_free("UPDATE accounts SET adminduty=" .. mysql:escape_string(getElementData(targetPlayer, "adminduty")) .. " WHERE id = " .. mysql:escape_string(getElementData(targetPlayer, "gameaccountid")) )
  1517. exports.global:updateNametagColor(targetPlayer)
  1518.  
  1519. if (hiddenAdmin==0) then
  1520. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1521. outputChatBox(adminTitle .. " " .. username .. " beállította az Admin rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  1522. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " set " .. targetPlayerName .. "'s admin level to " .. rank .. ".")
  1523. else
  1524. outputChatBox("Egy rejtett Admin beállította az Admin rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  1525. end
  1526. end
  1527. end
  1528. end
  1529. end
  1530. addCommandHandler("makeadmin", makePlayerAdmin, false, false)
  1531.  
  1532. function makePlayerVip(thePlayer, commandName, who, rank)
  1533. if (exports.global:isSuperAdmin(thePlayer)) then
  1534. if not (who) then
  1535. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet] [Érték]", thePlayer, 255, 194, 14)
  1536. else
  1537. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  1538.  
  1539. if (targetPlayer) then
  1540. local username = getPlayerName(thePlayer)
  1541. local accountID = getElementData(targetPlayer, "gameaccountid")
  1542.  
  1543. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "vip", tonumber(rank))
  1544.  
  1545. rank = tonumber(rank)
  1546.  
  1547. local query = mysql:query_free("UPDATE accounts SET vip='" .. mysql:escape_string(tonumber(rank)) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1548. outputChatBox("Beállítottad " .. targetPlayerName .. " VIP rangját erre: " .. rank .. ".", thePlayer, 0, 255, 0)
  1549.  
  1550. exports.global:updateNametagColor(targetPlayer)
  1551.  
  1552. if (hiddenAdmin==0) then
  1553. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1554. outputChatBox(adminTitle .. " " .. username .. " beállította az VIP rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  1555. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " beállította " .. targetPlayerName .. " vip szintjét: " .. rank .. ".")
  1556. else
  1557. outputChatBox("Egy rejtett Admin beállította az VIP rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  1558. end
  1559. end
  1560. end
  1561. end
  1562. end
  1563. addCommandHandler("makevip", makePlayerVip, false, false)
  1564.  
  1565. ----------------------[JAIL]--------------------
  1566. function jailPlayer(thePlayer, commandName, who, minutes, ...)
  1567. if (exports.global:isPlayerAdmin(thePlayer)) then
  1568. local minutes = tonumber(minutes)
  1569. if not (who) or not (minutes) or not (...) or (minutes<1) then
  1570. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet] [Perc(>=1) 999=Végtelen] [Indok]", thePlayer, 255, 194, 14)
  1571. else
  1572. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  1573. local reason = table.concat({...}, " ")
  1574.  
  1575. if (targetPlayer) then
  1576. local playerName = getPlayerName(thePlayer)
  1577. local jailTimer = getElementData(targetPlayer, "jailtimer")
  1578. local accountID = getElementData(targetPlayer, "gameaccountid")
  1579.  
  1580. if isTimer(jailTimer) then
  1581. killTimer(jailTimer)
  1582. end
  1583.  
  1584. if (isPedInVehicle(targetPlayer)) then
  1585. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  1586. removePedFromVehicle(targetPlayer)
  1587. end
  1588.  
  1589. if (minutes>=999) then
  1590. mysql:query_free("UPDATE accounts SET adminjail='1', adminjail_time='" .. mysql:escape_string(minutes) .. "', adminjail_permanent='1', adminjail_by='" .. mysql:escape_string(playerName) .. "', adminjail_reason='" .. mysql:escape_string(reason) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1591. minutes = "Végtelen"
  1592. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtimer", true, false)
  1593. else
  1594. mysql:query_free("UPDATE accounts SET adminjail='1', adminjail_time='" .. mysql:escape_string(minutes) .. "', adminjail_permanent='0', adminjail_by='" .. mysql:escape_string(playerName) .. "', adminjail_reason='" .. mysql:escape_string(reason) .. "' WHERE id='" .. mysql:escape_string(tonumber(accountID)) .. "'")
  1595. local theTimer = setTimer(timerUnjailPlayer, 60000, minutes, targetPlayer)
  1596. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailserved", 0, false)
  1597. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtimer", theTimer, false)
  1598. end
  1599. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminjailed", true)
  1600. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailreason", reason, false)
  1601. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtime", minutes, false)
  1602. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailadmin", getPlayerName(thePlayer), false)
  1603.  
  1604. outputChatBox("Bebörtönözted " .. targetPlayerName .. "-t " .. minutes .. " percre.", thePlayer, 255, 0, 0)
  1605.  
  1606. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  1607. local res = mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',0,' .. mysql:escape_string(( minutes == 999 and 0 or minutes )) .. ',"' .. mysql:escape_string(reason) .. '")' )
  1608.  
  1609. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1610. if (hiddenAdmin==0) then
  1611. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1612. outputChatBox("AdmJail: " .. adminTitle .. " " .. playerName .. " bebörtönözte " .. targetPlayerName .. "-t " .. minutes .. " percre.", getRootElement(), 255, 0, 0)
  1613. outputChatBox("AdmJail: Indok: " .. reason, getRootElement(), 255, 0, 0)
  1614. else
  1615. outputChatBox("AdmJail: Rejtett Admin bebörtönözte " .. targetPlayerName .. "-t " .. minutes .. " percre.", getRootElement(), 255, 0, 0)
  1616. outputChatBox("AdmJail: Indok: " .. reason, getRootElement(), 255, 0, 0)
  1617. end
  1618. -- exports.global:sendMessageToAdmins("AdmJail: " .. adminTitle .. " " .. playerName .. " bebörtönözte " .. targetPlayerName .. "-t " .. minutes .. " percre.")
  1619. -- exports.global:sendMessageToAdmins("AdmJail: Indok: " .. reason)
  1620.  
  1621. setElementDimension(targetPlayer, 65400+getElementData(targetPlayer, "playerid"))
  1622. setElementInterior(targetPlayer, 6)
  1623. setCameraInterior(targetPlayer, 6)
  1624. setElementPosition(targetPlayer, 263.821807, 77.848365, 1001.0390625)
  1625. setPedRotation(targetPlayer, 267.438446)
  1626.  
  1627. toggleControl(targetPlayer,'next_weapon',false)
  1628. toggleControl(targetPlayer,'previous_weapon',false)
  1629. toggleControl(targetPlayer,'fire',false)
  1630. toggleControl(targetPlayer,'aim_weapon',false)
  1631. setPedWeaponSlot(targetPlayer,0)
  1632. end
  1633. end
  1634. end
  1635. end
  1636. addCommandHandler("jail", jailPlayer, false, false)
  1637.  
  1638. function timerUnjailPlayer(jailedPlayer)
  1639. if(isElement(jailedPlayer)) then
  1640. local timeServed = getElementData(jailedPlayer, "jailserved")
  1641. local timeLeft = getElementData(jailedPlayer, "jailtime")
  1642. local accountID = getElementData(jailedPlayer, "gameaccountid")
  1643. if (timeServed) then
  1644. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailserved", timeServed+1, false)
  1645. local timeLeft = timeLeft - 1
  1646. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailtime", timeLeft, false)
  1647.  
  1648. if (timeLeft<=0) then
  1649. local query = mysql:query_free("UPDATE accounts SET adminjail_time='0', adminjail='0' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1650. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailtimer")
  1651. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "adminjailed")
  1652. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailreason")
  1653. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailtime")
  1654. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailadmin")
  1655. setElementPosition(jailedPlayer, 1519.7177734375, -1697.8154296875, 13.546875)
  1656. setPedRotation(jailedPlayer, 269.92446899414)
  1657. setElementDimension(jailedPlayer, 0)
  1658. setElementInterior(jailedPlayer, 0)
  1659. setCameraInterior(jailedPlayer, 0)
  1660. toggleControl(jailedPlayer,'next_weapon',true)
  1661. toggleControl(jailedPlayer,'previous_weapon',true)
  1662. toggleControl(jailedPlayer,'fire',true)
  1663. toggleControl(jailedPlayer,'aim_weapon',true)
  1664. outputChatBox("Kiszabadítottak a börtönbõl! Legközelebb ésszel viselkedj!", jailedPlayer, 0, 255, 0)
  1665.  
  1666. local gender = getElementData(jailedPlayer, "gender")
  1667. local genderm = "his"
  1668. if (gender == 1) then
  1669. genderm = "her"
  1670. end
  1671.  
  1672. exports.global:sendMessageToAdmins("AdmJail: " .. getPlayerName(jailedPlayer) .. " Admin börtön ideje lenullázva.")
  1673. else
  1674. local query = mysql:query_free("UPDATE accounts SET adminjail_time='" .. mysql:escape_string(timeLeft) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1675. end
  1676. end
  1677. end
  1678. end
  1679.  
  1680. function unjailPlayer(thePlayer, commandName, who)
  1681. if (exports.global:isPlayerAdmin(thePlayer)) then
  1682. if not (who) then
  1683. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet]", thePlayer, 255, 194, 14)
  1684. else
  1685. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  1686.  
  1687. if (targetPlayer) then
  1688. local jailed = getElementData(targetPlayer, "jailtimer", nil)
  1689. local username = getPlayerName(thePlayer)
  1690. local accountID = getElementData(targetPlayer, "gameaccountid")
  1691.  
  1692. if not (jailed) then
  1693. outputChatBox(targetPlayerName .. " nincs bebörtönözve.", thePlayer, 255, 0, 0)
  1694. else
  1695. local query = mysql:query_free("UPDATE accounts SET adminjail_time='0', adminjail='0' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  1696.  
  1697. if isTimer(jailed) then
  1698. killTimer(jailed)
  1699. end
  1700. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtimer")
  1701. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminjailed")
  1702. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailreason")
  1703. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtime")
  1704. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailadmin")
  1705. setElementPosition(targetPlayer, 1519.7177734375, -1697.8154296875, 13.546875)
  1706. setPedRotation(targetPlayer, 269.92446899414)
  1707. setElementDimension(targetPlayer, 0)
  1708. setCameraInterior(targetPlayer, 0)
  1709. setElementInterior(targetPlayer, 0)
  1710. toggleControl(targetPlayer,'next_weapon',true)
  1711. toggleControl(targetPlayer,'previous_weapon',true)
  1712. toggleControl(targetPlayer,'fire',true)
  1713. toggleControl(targetPlayer,'aim_weapon',true)
  1714. outputChatBox(" " .. username .. " kivett a börtönbõl, Legközelebb ésszel viselkedj!", targetPlayer, 0, 255, 0)
  1715. exports.global:sendMessageToAdmins("AdmJail: " .. targetPlayerName .. "-t kivette a börtöbõl: " .. username .. ".")
  1716. end
  1717. end
  1718. end
  1719. end
  1720. end
  1721. addCommandHandler("unjail", unjailPlayer, false, false)
  1722.  
  1723. function jailedPlayers(thePlayer, commandName)
  1724. if (exports.global:isPlayerAdmin(thePlayer)) then
  1725. outputChatBox("~~~~~~~~~ Börtön ~~~~~~~~~", thePlayer, 255, 194, 15)
  1726.  
  1727. local players = exports.pool:getPoolElementsByType("player")
  1728. local count = 0
  1729. for key, value in ipairs(players) do
  1730. if getElementData(value, "adminjailed") then
  1731. outputChatBox("[BÖRTÖN] " .. getPlayerName(value) .. ", bebörtönözve " .. tostring(getElementData(value, "jailadmin")) .. " által, ült " .. tostring(getElementData(value, "jailserved")) .. " percet és " .. tostring(getElementData(value,"jailtime")) .. " perc van hátra", thePlayer, 255, 194, 15)
  1732. outputChatBox("[BÖRTÖN] Indok: " .. tostring(getElementData(value, "jailreason")), thePlayer, 255, 194, 15)
  1733. count = count + 1
  1734. elseif getElementData(value, "pd.jailtimer") then
  1735. outputChatBox("[LETARTÓZTATVA] " .. getPlayerName(value) .. ", ült " .. tostring(getElementData(value, "pd.jailserved")) .. " percet és " .. tostring(getElementData(value, "pd.jailtime")) .. " perc van még hátra", thePlayer, 0, 102, 255)
  1736. count = count + 1
  1737. end
  1738. end
  1739.  
  1740. if count == 0 then
  1741. outputChatBox("Senki sincs bebörtönözve.", thePlayer, 255, 194, 15)
  1742. end
  1743. end
  1744. end
  1745.  
  1746. addCommandHandler("jailed", jailedPlayers, false, false)
  1747.  
  1748. ----------------------------[GO TO PLAYER]---------------------------------------
  1749. function gotoPlayer(thePlayer, commandName, target)
  1750. if (exports.global:isPlayerAdmin(thePlayer)) then
  1751.  
  1752. if not (target) then
  1753. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  1754. else
  1755. local username = getPlayerName(thePlayer)
  1756. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1757.  
  1758. if targetPlayer then
  1759. local logged = getElementData(targetPlayer, "loggedin")
  1760.  
  1761. if (logged==0) then
  1762. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  1763. else
  1764. local x, y, z = getElementPosition(targetPlayer)
  1765. local interior = getElementInterior(targetPlayer)
  1766. local dimension = getElementDimension(targetPlayer)
  1767. local r = getPedRotation(targetPlayer)
  1768.  
  1769. x = x + ( ( math.cos ( math.rad ( r ) ) ) * 2 )
  1770. y = y + ( ( math.sin ( math.rad ( r ) ) ) * 2 )
  1771.  
  1772. setCameraInterior(thePlayer, interior)
  1773.  
  1774. if (isPedInVehicle(thePlayer)) then
  1775. local veh = getPedOccupiedVehicle(thePlayer)
  1776. setVehicleTurnVelocity(veh, 0, 0, 0)
  1777. setElementInterior(thePlayer, interior)
  1778. setElementDimension(thePlayer, dimension)
  1779. setElementInterior(veh, interior)
  1780. setElementDimension(veh, dimension)
  1781. setElementPosition(veh, x, y, z + 1)
  1782. warpPedIntoVehicle ( thePlayer, veh )
  1783. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  1784. else
  1785. setElementPosition(thePlayer, x, y, z)
  1786. setElementInterior(thePlayer, interior)
  1787. setElementDimension(thePlayer, dimension)
  1788. end
  1789. outputChatBox(" Teleportáltál hozzá: " .. targetPlayerName .. ".", thePlayer)
  1790. outputChatBox(" Admin " .. username .. " teleportált hozzád. ", targetPlayer)
  1791. end
  1792. end
  1793. end
  1794. end
  1795. end
  1796. addCommandHandler("goto", gotoPlayer, false, false)
  1797.  
  1798. function getPlayer(thePlayer, commandName, from, to)
  1799. if (exports.global:isNegyesAdmin(thePlayer)) then
  1800. if(not from or not to) then
  1801. outputChatBox("Példa: /" .. commandName .. " [ForrásJátékos] [CélJátékos]", thePlayer, 255, 194, 14)
  1802. else
  1803. local admin = getPlayerName(thePlayer):gsub("_"," ")
  1804. local fromplayer, targetPlayerName1 = exports.global:findPlayerByPartialNick(thePlayer, from)
  1805. local toplayer, targetPlayerName2 = exports.global:findPlayerByPartialNick(thePlayer, to)
  1806.  
  1807. if(fromplayer and toplayer) then
  1808. local logged1 = getElementData(fromplayer, "loggedin")
  1809. local logged2 = getElementData(toplayer, "loggedin")
  1810.  
  1811. if(not logged1 or not logged2) then
  1812. outputChatBox("Valamelyik játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  1813. else
  1814. local x, y, z = getElementPosition(toplayer)
  1815. local interior = getElementInterior(toplayer)
  1816. local dimension = getElementDimension(toplayer)
  1817. local r = getPedRotation(toplayer)
  1818.  
  1819. x = x + ( ( math.cos ( math.rad ( r ) ) ) * 2 )
  1820. y = y + ( ( math.sin ( math.rad ( r ) ) ) * 2 )
  1821.  
  1822. if (isPedInVehicle(fromplayer)) then
  1823. local veh = getPedOccupiedVehicle(fromplayer)
  1824. setVehicleTurnVelocity(veh, 0, 0, 0)
  1825. setElementPosition(veh, x, y, z + 1)
  1826. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  1827. setElementInterior(veh, interior)
  1828. setElementDimension(veh, dimension)
  1829.  
  1830. else
  1831. setElementPosition(fromplayer, x, y, z)
  1832. setElementInterior(fromplayer, interior)
  1833. setElementDimension(fromplayer, dimension)
  1834. end
  1835.  
  1836. outputChatBox(" Teleportáltad " .. targetPlayerName1:gsub("_"," ") .. "-t " .. targetPlayerName2:gsub("_"," ") .. "-hoz.", thePlayer)
  1837. outputChatBox(" Admin " .. admin .. " teleportált hozzá: " .. targetPlayerName2:gsub("_"," ") .. ". ", fromplayer)
  1838. outputChatBox(" Admin " .. admin .. " teleportálta " .. targetPlayerName1:gsub("_"," ") .. "-t hozzád.", toplayer)
  1839. end
  1840. end
  1841. end
  1842. end
  1843. end
  1844. addCommandHandler("sendto", getPlayer, false, false)
  1845.  
  1846. ----------------------------[GET PLAYER HERE]---------------------------------------
  1847. function getPlayer(thePlayer, commandName, target)
  1848. if (exports.global:isPlayerAdmin(thePlayer)) then
  1849.  
  1850. if not (target) then
  1851. outputChatBox("Példa: /" .. commandName .. " /gethere [NévRészlet]", thePlayer, 255, 194, 14)
  1852. else
  1853. local username = getPlayerName(thePlayer)
  1854. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1855.  
  1856. if targetPlayer then
  1857. local logged = getElementData(targetPlayer, "loggedin")
  1858.  
  1859. if (logged==0) then
  1860. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  1861. else
  1862. local x, y, z = getElementPosition(thePlayer)
  1863. local interior = getElementInterior(thePlayer)
  1864. local dimension = getElementDimension(thePlayer)
  1865. local r = getPedRotation(thePlayer)
  1866. setCameraInterior(targetPlayer, interior)
  1867.  
  1868. x = x + ( ( math.cos ( math.rad ( r ) ) ) * 2 )
  1869. y = y + ( ( math.sin ( math.rad ( r ) ) ) * 2 )
  1870.  
  1871. if (isPedInVehicle(targetPlayer)) then
  1872. local veh = getPedOccupiedVehicle(targetPlayer)
  1873. setVehicleTurnVelocity(veh, 0, 0, 0)
  1874. setElementPosition(veh, x, y, z + 1)
  1875. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  1876. setElementInterior(veh, interior)
  1877. setElementDimension(veh, dimension)
  1878.  
  1879. else
  1880. setElementPosition(targetPlayer, x, y, z)
  1881. setElementInterior(targetPlayer, interior)
  1882. setElementDimension(targetPlayer, dimension)
  1883. end
  1884. outputChatBox(" Teleportáltad " .. targetPlayerName .. "-t magadhoz.", thePlayer)
  1885. outputChatBox(" Admin " .. username .. " magához teleportált. ", targetPlayer)
  1886. end
  1887. end
  1888. end
  1889. end
  1890. end
  1891. addCommandHandler("gethere", getPlayer, false, false)
  1892.  
  1893.  
  1894. function setInt(thePlayer, commandName, target, int)
  1895. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  1896. if not (target) then
  1897. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Interior]", thePlayer, 255, 194, 14)
  1898. else
  1899. local username = getPlayerName(thePlayer)
  1900. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1901.  
  1902. if targetPlayer then
  1903. setElementInterior(targetPlayer,int)
  1904. outputChatBox(targetPlayerName .. " interiorja átírva: " .. int .. "", thePlayer)
  1905. outputChatBox("Admin " .. username .. " átállította az interiorod: " .. int .. ".", targetPlayer)
  1906. end
  1907. end
  1908. end
  1909. end
  1910. addCommandHandler("setint", setInt, false, false)
  1911.  
  1912. function setDim(thePlayer, commandName, target, dim)
  1913. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  1914. if not (target) then
  1915. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Dimenzió]", thePlayer, 255, 194, 14)
  1916. else
  1917. local username = getPlayerName(thePlayer)
  1918. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1919.  
  1920. if targetPlayer then
  1921. setElementDimension(targetPlayer,dim)
  1922. outputChatBox(targetPlayerName .. " interiorja átírva: " .. dim .. "", thePlayer)
  1923. outputChatBox("Admin " .. username .. " átállította az interiorod: " .. dim .. ".", targetPlayer)
  1924. end
  1925. end
  1926. end
  1927. end
  1928. addCommandHandler("setdim", setDim, false, false)
  1929.  
  1930. function setMoney(thePlayer, commandName, target, money)
  1931. if (exports.global:isSuperAdmin(thePlayer)) then
  1932. if not (target) then
  1933. outputChatBox("HASZNÁLD: /" .. commandName .. " [NévRészlet] [Összeg]", thePlayer, 255, 194, 14)
  1934. else
  1935. local username = getPlayerName(thePlayer)
  1936. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1937.  
  1938. if targetPlayer then
  1939. exports.logs:logMessage("[SET] " .. getPlayerName(thePlayer):gsub("_", " ") .. " set " .. targetPlayerName .. "'s money to $" .. money, 23)
  1940. exports.global:setMoney(targetPlayer, money)
  1941. outputChatBox(targetPlayerName .. " pénze beállítva " .. money .. " Ft.", thePlayer)
  1942. outputChatBox("Admin " .. username .. " beállította a pénzedet ennyire: " .. money .. " Ft.", targetPlayer)
  1943. -- exports.global:sendMessageToAdmins("(SetMoney) Játékos " .. targetPlayerName .. " kapott " .. money .. " Ft pénzt ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  1944. end
  1945. end
  1946. end
  1947. end
  1948. addCommandHandler("setmoney", setMoney, false, false)
  1949.  
  1950. function giveMoney(thePlayer, commandName, target, money)
  1951. if (exports.global:isSuperAdmin(thePlayer)) then
  1952. if not (target) then
  1953. outputChatBox("HASZNÁLD: /" .. commandName .. " [NévRészlet] [Összeg]", thePlayer, 255, 194, 14)
  1954. else
  1955. local username = getPlayerName(thePlayer)
  1956. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1957.  
  1958. if targetPlayer then
  1959. if ( exports.global:hasSpaceForItem(targetPlayer) ) then
  1960. exports.logs:logMessage("[GIVE] " .. getPlayerName(thePlayer):gsub("_", " ") .. " gave " .. targetPlayerName .. " to $" .. money, 23)
  1961. exports.global:giveMoney(targetPlayer, money)
  1962.  
  1963. outputChatBox("Adtál neki: " .. targetPlayerName .. " " .. money .. " Ft-t.", thePlayer)
  1964. outputChatBox("Admin " .. username .. " adott neked " .. money .. " Ft-t.", targetPlayer)
  1965. -- exports.global:sendMessageToAdmins("(GiveMoney) Játékos " .. targetPlayerName .. " kapott " .. money .. " Ft pénzt ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  1966. else
  1967. outputChatBox("Az ő zsebében már nem fér el semmi.", thePlayer)
  1968. end
  1969. end
  1970. end
  1971. end
  1972. end
  1973. addCommandHandler("givemoney", giveMoney, false, false)
  1974.  
  1975. -----------------------------------[FREEZE]----------------------------------
  1976. function freezePlayer(thePlayer, commandName, target)
  1977. if (exports.global:isPlayerAdmin(thePlayer)) then
  1978. if not (target) then
  1979. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  1980. else
  1981. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  1982. if targetPlayer then
  1983. local veh = getPedOccupiedVehicle( targetPlayer )
  1984. if (veh) then
  1985. setElementFrozen(veh, true)
  1986. toggleAllControls(targetPlayer, false, true, false)
  1987. outputChatBox(" Fagyasztva lettél egy Admin által. Kövesd az általa adott instrukciókat!", targetPlayer)
  1988. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. "-t.", thePlayer)
  1989. else
  1990. toggleAllControls(targetPlayer, false, true, false)
  1991. setPedWeaponSlot(targetPlayer, 0)
  1992. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "freeze", 1)
  1993. outputChatBox(" Fagyasztva lettél egy Admin által. Kövesd az általa adott instrukciókat!", targetPlayer)
  1994. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. ".", thePlayer)
  1995. end
  1996. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  1997. local username = getPlayerName(thePlayer)
  1998. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " lefagyasztotta " .. targetPlayerName .. "-t.")
  1999. end
  2000. end
  2001. end
  2002. end
  2003. addCommandHandler("freeze", freezePlayer, false, false)
  2004.  
  2005. -----------------------------------[UNFREEZE]----------------------------------
  2006. function unfreezePlayer(thePlayer, commandName, target)
  2007. if (exports.global:isPlayerAdmin(thePlayer)) then
  2008. if not (target) then
  2009. outputChatBox("Példa: /" .. commandName .. " /unfreeze [NévRészlet]", thePlayer, 255, 194, 14)
  2010. else
  2011. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  2012. if targetPlayer then
  2013. local veh = getPedOccupiedVehicle( targetPlayer )
  2014. if (veh) then
  2015. setElementFrozen(veh, false)
  2016. toggleAllControls(targetPlayer, true, true, true)
  2017.  
  2018. if (isElement(targetPlayer)) then
  2019. outputChatBox(" Ki lettél fagyasztva egy Admin által.", targetPlayer)
  2020. end
  2021.  
  2022. if (isElement(thePlayer)) then
  2023. outputChatBox(" Kifagyasztottad " ..targetPlayerName.. "-t.", thePlayer)
  2024. end
  2025. else
  2026. toggleAllControls(targetPlayer, true, true, true)
  2027.  
  2028. -- Disable weapon scrolling if restrained
  2029. if getElementData(targetPlayer, "restrain") == 1 then
  2030. setPedWeaponSlot(targetPlayer, 0)
  2031. toggleControl(targetPlayer, "next_weapon", false)
  2032. toggleControl(targetPlayer, "previous_weapon", false)
  2033. end
  2034. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "freeze")
  2035. outputChatBox(" Ki lettél fagyasztva egy Admin által.", targetPlayer)
  2036. outputChatBox(" Kifagyasztottad " ..targetPlayerName.. ".", thePlayer)
  2037. end
  2038. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  2039. local username = getPlayerName(thePlayer)
  2040. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " kifagyasztotta " .. targetPlayerName .. "-t.")
  2041. end
  2042. end
  2043. end
  2044. end
  2045. addCommandHandler("unfreeze", unfreezePlayer, false, false)
  2046.  
  2047. function freezePlayer(thePlayer, commandName, target)
  2048. --if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  2049. if not (target) then
  2050. outputChatBox("Példa: /" .. commandName .. " /freeze [NévRészlet]", thePlayer, 255, 194, 14)
  2051. else
  2052. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  2053. if targetPlayer then
  2054. local veh = getPedOccupiedVehicle( targetPlayer )
  2055. if (veh) then
  2056. setElementFrozen(veh, true)
  2057. toggleAllControls(targetPlayer, false, false, false)
  2058.  
  2059. if (isElement(targetPlayer)) then
  2060. outputChatBox(" Fagyasztva egy Admin által.", targetPlayer)
  2061. end
  2062.  
  2063. if (isElement(thePlayer)) then
  2064. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. "-t.", thePlayer)
  2065. end
  2066. else
  2067. toggleAllControls(targetPlayer, true, true, true)
  2068.  
  2069. -- Disable weapon scrolling if restrained
  2070. if getElementData(targetPlayer, "restrain") == 1 then
  2071. setPedWeaponSlot(targetPlayer, 0)
  2072. toggleControl(targetPlayer, "next_weapon", true)
  2073. toggleControl(targetPlayer, "previous_weapon", true)
  2074. end
  2075. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "freeze")
  2076. outputChatBox(" Le lettél fagyasztva egy Admin által.", targetPlayer)
  2077. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. ".", thePlayer)
  2078. end
  2079. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  2080. local username = getPlayerName(thePlayer)
  2081. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " lefagyasztotta " .. targetPlayerName .. "-t.")
  2082. end
  2083. end
  2084. --end
  2085. end
  2086. -- addCommandHandler("pfreeze", freezePlayer, false, false)
  2087. addEvent("remoteFreezePlayer", true )
  2088. addEventHandler("remoteFreezePlayer", getRootElement(), freezePlayer)
  2089. ------------- [gotoMark]
  2090. addEvent( "gotoMark", true )
  2091. addEventHandler( "gotoMark", getRootElement( ),
  2092. function( x, y, z, interior, dimension, name )
  2093. if type( x ) == "number" and type( y ) == "number" and type( z ) == "number" and type( interior ) == "number" and type( dimension ) == "number" then
  2094. if getElementData ( client, "loggedin" ) == 1 and exports.global:isRpSeged(client) then
  2095. fadeCamera ( client, false, 1,0,0,0 )
  2096.  
  2097. setTimer(function(client)
  2098.  
  2099. local vehicle = nil
  2100. local seat = nil
  2101.  
  2102. if(isPedInVehicle ( client )) then
  2103. vehicle = getPedOccupiedVehicle ( client )
  2104. seat = getPedOccupiedVehicleSeat ( client )
  2105. end
  2106.  
  2107. if(vehicle and (seat ~= 0)) then
  2108. removePedFromVehicle (client )
  2109. exports['anticheat-system']:changeProtectedElementDataEx(client, "realinvehicle", 0, false)
  2110. setElementPosition(client, x, y, z)
  2111. setElementInterior(client, interior)
  2112. setElementDimension(client, dimension)
  2113. elseif(vehicle and seat == 0) then
  2114. removePedFromVehicle (client )
  2115. exports['anticheat-system']:changeProtectedElementDataEx(client, "realinvehicle", 0, false)
  2116. setElementPosition(vehicle, x, y, z)
  2117. setElementInterior(vehicle, interior)
  2118. setElementDimension(vehicle, dimension)
  2119. warpPedIntoVehicle ( client, vehicle, 0)
  2120. else
  2121. setElementPosition(client, x, y, z)
  2122. setElementInterior(client, interior)
  2123. setElementDimension(client, dimension)
  2124. end
  2125.  
  2126. outputChatBox( "Teleportálva lettél" .. ( name and " '" .. name .. "'" or "" ) .. ".", client, 0, 255, 0 )
  2127. setTimer(fadeCamera, 1000, 1, client, true, 1)
  2128. end, 1000, 1, client)
  2129.  
  2130. end
  2131. end
  2132. end
  2133. )
  2134. ----------------------------[MAKE DONATOR]---------------------------------------
  2135. function makePlayerDonator(thePlayer, commandName, target, level)
  2136. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  2137. if (exports.global:isPlayerAdmin(thePlayer)) then
  2138. if (level) then
  2139. level = tonumber(level)
  2140. end
  2141.  
  2142. if not (target) or not (level) or (level<0) or (level>7) then
  2143. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Szint 0=Nem adakozó, 1=Bronz, 2=Ezüst, 3=Arany, 4=Platina, 5=Gyöngy, 6=Gyémánt, 7=Istenies]", thePlayer, 255, 194, 14)
  2144. else
  2145. local username = getPlayerName(thePlayer)
  2146. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  2147.  
  2148.  
  2149. if targetPlayer then
  2150. local logged = getElementData(targetPlayer, "loggedin")
  2151.  
  2152. if (logged==0) then
  2153. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  2154. else
  2155. local levelString = ""
  2156. local gameaccountID = getElementData(targetPlayer, "gameaccountid")
  2157.  
  2158. if (level==0) then
  2159. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 0)
  2160. mysql:query_free("UPDATE accounts SET donator='0' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2161. levelString = "Nem adakozó"
  2162. elseif (level==1) then
  2163. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 1)
  2164. mysql:query_free("UPDATE accounts SET donator='1' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2165. levelString = "Bronz Adakozó"
  2166. elseif (level==2) then
  2167. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 2)
  2168. mysql:query_free("UPDATE accounts SET donator='2' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2169. levelString = "Ezüst Adakozó"
  2170. elseif (level==3) then
  2171. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 3)
  2172. mysql:query_free("UPDATE accounts SET donator='3' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2173. levelString = "Arany Adakozó"
  2174. elseif (level==4) then
  2175. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 4)
  2176. mysql:query_free("UPDATE accounts SET donator='4' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2177. levelString = "Platina Adakozó"
  2178. elseif (level==5) then
  2179. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 5)
  2180. mysql:query_free("UPDATE accounts SET donator='5' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2181. levelString = "Gyöngy Adakozó"
  2182. elseif (level==6) then
  2183. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 6)
  2184. mysql:query_free("UPDATE accounts SET donator='6' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2185. levelString = "Gyémánt Adakozó"
  2186. elseif (level==7) then
  2187. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 7)
  2188. mysql:query_free("UPDATE accounts SET donator='7' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  2189. levelString = "Istenies Adakozó"
  2190. end
  2191.  
  2192. if (level>0) then
  2193. exports.global:givePlayerAchievement(targetPlayer, 29)
  2194. end
  2195. outputChatBox("Beállítottad " .. targetPlayerName .. "-t " .. levelString .. "-nak.", targetPlayer, 0, 255, 0)
  2196. exports.global:sendMessageToAdmins("AdmCmd: " .. username .. " beállította " .. targetPlayerName .. "-t " .. levelString .. "-nak.")
  2197. exports.global:updateNametagColor(targetPlayer)
  2198. exports.logs:logMessage("[/MAKEDONATOR] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." made " .. targetPlayerName .. " a " .. levelString , 4)
  2199.  
  2200. end
  2201. end
  2202. end
  2203. end
  2204. end
  2205. end
  2206. -- addCommandHandler("makedonator", makePlayerDonator, false, false)
  2207.  
  2208. function adminDuty(thePlayer, commandName)
  2209. if exports.global:isPlayerAdmin(thePlayer) then
  2210. local adminduty = getElementData(thePlayer, "adminduty")
  2211. local username = getPlayerName(thePlayer)
  2212. local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
  2213. local playerName = getPlayerName(thePlayer)
  2214. local pmid = getElementData(thePlayer, "playerid")
  2215.  
  2216. if (adminduty==0) then
  2217. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "adminduty", 1)
  2218. -- outputChatBox("Admin szolgálatba léptél.", thePlayer, 0, 255, 0)
  2219. exports.infobox:showBox(getRootElement(), "info", playerName.. " adminszolgálatba lépett!" )
  2220. exports.global:sendMessageToAdmins("AdmDuty: " .. username .. " szolgálatba lépett.")
  2221. outputChatBox(playerName .. " adminszolgálatba lépett! /pm "..pmid.." parancsal írsz neki!", getRootElement(), 0, 255, 0,true)
  2222. elseif (adminduty==1) then
  2223. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "adminduty", 0)
  2224. outputChatBox("Kiléptél az Admin szolgálatból.", thePlayer, 255, 0, 0)
  2225. exports.infobox:showBox(getRootElement(), "info", playerName.. " kilépett adminszolgálatból!" )
  2226. --exports.global:sendMessageToAdmins("AdmDuty: " .. username .. " kilépett a szolgálatból.")
  2227. outputChatBox(playerName .. " kilépett az adminszolgálatból!", getRootElement(), 255, 0, 0,true)
  2228. end
  2229. mysql:query_free("UPDATE accounts SET adminduty=" .. mysql:escape_string(getElementData(thePlayer, "adminduty")) .. " WHERE id = " .. mysql:escape_string(getElementData(thePlayer, "gameaccountid")) )
  2230. exports.global:updateNametagColor(thePlayer)
  2231. end
  2232. end
  2233. addCommandHandler("adminduty", adminDuty, false, false)
  2234.  
  2235. ----------------------------[SET MOTD]---------------------------------------
  2236. function setMOTD(thePlayer, commandName, ...)
  2237. if (exports.global:isPlayerAdmin(thePlayer)) then
  2238. if not (...) then
  2239. outputChatBox("Példa: " .. commandName .. " [Üzenet]", thePlayer, 255, 194, 14)
  2240. else
  2241. local message = table.concat({...}, " ")
  2242. local query = mysql:query_free("UPDATE settings SET value='" .. mysql:escape_string(message) .. "' WHERE name='motd'")
  2243. triggerClientEvent("updateMOTD", thePlayer, message)
  2244.  
  2245. if (query) then
  2246. outputChatBox("MOTD beállítva: '" .. message .. "'.", thePlayer, 0, 255, 0)
  2247. exports.logs:logMessage("[/SETMOTD] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." megváltoztatta az MOTD-t erre: " .. message , 4)
  2248. exports['anticheat-system']:changeProtectedElementDataEx(getRootElement(), "account:motd", message, false )
  2249. else
  2250. outputChatBox("Nem tudtam beállítani a MOTD-t.", thePlayer, 255, 0, 0)
  2251. end
  2252. end
  2253. end
  2254. end
  2255. -- addCommandHandler("setmotd", setMOTD, false, false)
  2256. ----------------------------[SET ADMIN MOTD]---------------------------------------
  2257. function setAdminMOTD(thePlayer, commandName, ...)
  2258. if (exports.global:isPlayerAdmin(thePlayer)) then
  2259. if not (...) then
  2260. outputChatBox("Példa: " .. commandName .. " [message]", thePlayer, 255, 194, 14)
  2261. else
  2262. local message = table.concat({...}, " ")
  2263. local query = mysql:query_free("UPDATE settings SET value='" .. mysql:escape_string(message) .. "' WHERE name='amotd'")
  2264.  
  2265. if (query) then
  2266. outputChatBox("Admin MOTD beállítva: '" .. message .. "'.", thePlayer, 0, 255, 0)
  2267. exports.logs:logMessage("[/SETAMOTD] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." megváltoztatta az Admin MOTD-t erre: " .. message , 4)
  2268. exports['anticheat-system']:changeProtectedElementDataEx(getRootElement(), "account:amotd", message, false )
  2269. else
  2270. outputChatBox("Nem tudtam beállítani a MOTD-t.", thePlayer, 255, 0, 0)
  2271. end
  2272. end
  2273. end
  2274. end
  2275. -- addCommandHandler("setamotd", setAdminMOTD, false, false)
  2276.  
  2277. -- GET PLAYER ID
  2278. function getPlayerID(thePlayer, commandName, target)
  2279. if not (target) then
  2280. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  2281. else
  2282. local username = getPlayerName(thePlayer)
  2283. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  2284.  
  2285. if targetPlayer then
  2286. local logged = getElementData(targetPlayer, "loggedin")
  2287. if (logged==1) then
  2288. local id = getElementData(targetPlayer, "playerid")
  2289. outputChatBox("** " .. targetPlayerName .. " ID-je: " .. id .. ".", thePlayer, 255, 194, 14)
  2290. else
  2291. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  2292. end
  2293. end
  2294. end
  2295. end
  2296. addCommandHandler("getid", getPlayerID, false, false)
  2297. addCommandHandler("id", getPlayerID, false, false)
  2298.  
  2299. -- EJECT
  2300. function ejectPlayer(thePlayer, commandName, target)
  2301. if not (target) then
  2302. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  2303. else
  2304. if not (isPedInVehicle(thePlayer)) then
  2305. outputChatBox("Nem vagy kocsiban.", thePlayer, 255, 0, 0)
  2306. else
  2307. local vehicle = getPedOccupiedVehicle(thePlayer)
  2308. local seat = getPedOccupiedVehicleSeat(thePlayer)
  2309.  
  2310. if (seat~=0) then
  2311. outputChatBox("Csak vezetõ tud kidobni embereket a jármûbõl.", thePlayer, 255, 0, 0)
  2312. else
  2313. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  2314.  
  2315. if not (targetPlayer) then
  2316. elseif (targetPlayer==thePlayer) then
  2317. outputChatBox("Nem dobhatod ki magadat.", thePlayer, 255, 0, 0)
  2318. else
  2319. local targetvehicle = getPedOccupiedVehicle(targetPlayer)
  2320.  
  2321. if targetvehicle~=vehicle and not exports.global:isPlayerAdmin(thePlayer) then
  2322. outputChatBox("Ez a játékos nincs a jármûben.", thePlayer, 255, 0, 0)
  2323. else
  2324. outputChatBox("Kidobtad " .. targetPlayerName .. "-t a jármûbõl.", thePlayer, 0, 255, 0)
  2325. removePedFromVehicle(targetPlayer)
  2326. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  2327. triggerEvent("removeTintName", targetPlayer)
  2328. end
  2329. end
  2330. end
  2331. end
  2332. end
  2333. end
  2334. addCommandHandler("eject", ejectPlayer, false, false)
  2335.  
  2336. function berakplayer(thePlayer, commandName, target)
  2337. if not (target) then
  2338. outputChatBox("Példa: /" .. commandName .. " [ID / Névrészlet]", thePlayer, 255, 194, 14)
  2339. else
  2340.  
  2341. local nearbyVehicles = exports.global:getNearbyElements(thePlayer, "vehicle", 5)
  2342. if #nearbyVehicles < 1 then outputChatBox("Nincs a közeledben semmi", thePlayer, 255, 194, 14) end
  2343.  
  2344. local vehicle = getPedOccupiedVehicle(thePlayer)
  2345. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  2346.  
  2347. if not (targetPlayer) then
  2348. elseif (targetPlayer==thePlayer) then
  2349. outputChatBox("Nem teheted be magad.", thePlayer, 255, 0, 0)
  2350. else
  2351.  
  2352. for i, veh in ipairs(nearbyVehicles) do
  2353.  
  2354. local targetvehicle = tonumber(getElementData(veh, "dbid"))
  2355. exports.global:sendLocalMeAction(thePlayer,"berakja a célszemélyt a járműbe.")
  2356. outputChatBox("Beraktad " .. targetPlayerName .. "-t a járműbe.", thePlayer, 0, 255, 0)
  2357. warpPedIntoVehicle( targetPlayer, targetvehicle )
  2358.  
  2359. end
  2360.  
  2361. end
  2362. end
  2363. end
  2364. -- addCommandHandler("detach", berakplayer, false, false)
  2365. -- addCommandHandler("berak", berakplayer, false, false)
  2366.  
  2367. -- WARNINGS
  2368. function warnPlayer(thePlayer, commandName, targetPlayer, ...)
  2369. if (exports.global:isRpSeged(thePlayer)) then
  2370. if not (targetPlayer) or not (...) then
  2371. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Indok]", thePlayer, 255, 194, 14)
  2372. else
  2373. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  2374.  
  2375. if targetPlayer then
  2376. local playerName = getPlayerName(thePlayer)
  2377. local warns = getElementData(targetPlayer, "warns")
  2378. reason = table.concat({...}, " ")
  2379. warns = warns + 1
  2380. local accountID = getElementData(targetPlayer, "gameaccountid")
  2381. mysql:query_free("UPDATE accounts SET warns=" .. mysql:escape_string(warns) .. " WHERE id = " .. mysql:escape_string(accountID) )
  2382. outputChatBox("Kaptál " .. targetPlayerName .. "-tõl egy figyelmeztetést. (" .. warns .. "/3).", targetPlayer, 255, 0, 0)
  2383. outputChatBox("Adtál egy figyelmeztetést neki: " .. getPlayerName(thePlayer) .. ".", thePlayer, 255, 0, 0)
  2384. outputChatBox("Indok: " .. reason, thePlayer, 255, 0, 0)
  2385. outputChatBox("Indok: " .. reason, targetPlayer, 255, 0, 0)
  2386.  
  2387. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "warns", warns, false)
  2388.  
  2389. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  2390. mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',4,0,"' .. mysql:escape_string(reason) .. '")' )
  2391.  
  2392. if (hiddenAdmin==0) then
  2393. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  2394. exports.global:sendMessageToAdmins("AdmWarn: " .. adminTitle .. " " .. playerName .. " figyelmeztette " .. targetPlayerName .. ". (" .. warns .. "/3)")
  2395. -- outputChatBox("AdmWarn: " .. adminTitle .. " " .. playerName .. " figyelmeztette " .. targetPlayerName .. ". (" .. warns .. "/3)", getRootElement(), 255, 0, 51)
  2396. end
  2397.  
  2398. if (warns>=3) then
  2399. mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',5,0,"' .. mysql:escape_string(warns) .. ' Admin Warnings")' )
  2400. banPlayer(targetPlayer, true, false, false, thePlayer, "Meghaladtad a maximális figyelmeztetések számát. (" .. warns .. "/3)", 0)
  2401. outputChatBox("AdmWarn: " .. targetPlayerName .. " ki lett bannolva. (Több mint 3 figyelmeztetés)", getRootElement(), 255, 0, 51)
  2402. -- exports.global:sendMessageToAdmins("AdmWarn: " .. targetPlayerName .. " ki lett bannolva. (Több mint 3 figyelmeztetés)")
  2403. mysql:query_free("UPDATE accounts SET banned='1', banned_reason='3 Admin figyelmeztetes', banned_by='Warn Rendszer' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  2404. end
  2405. end
  2406. end
  2407. end
  2408. end
  2409. addCommandHandler("warn", warnPlayer, false, false)
  2410.  
  2411. -- recon fix for interior changing
  2412. function interiorChanged()
  2413. for key, value in ipairs(exports.pool:getPoolElementsByType("player")) do
  2414. if isElement(value) then
  2415. local cameraTarget = getCameraTarget(value)
  2416. if (cameraTarget) then
  2417. if (cameraTarget==source) then
  2418. local interior = getElementInterior(source)
  2419. local dimension = getElementDimension(source)
  2420. setCameraInterior(value, interior)
  2421. setElementInterior(value, interior)
  2422. setElementDimension(value, dimension)
  2423. end
  2424. end
  2425. end
  2426. end
  2427. end
  2428. addEventHandler("onPlayerInteriorChange", getRootElement(), interiorChanged)
  2429.  
  2430. function removeReconning()
  2431. for key, value in ipairs(exports.pool:getPoolElementsByType("player")) do
  2432. if isElement(value) then
  2433. local cameraTarget = getCameraTarget(value)
  2434. if (cameraTarget) then
  2435. if (cameraTarget==source) then
  2436. reconPlayer(value)
  2437. end
  2438. end
  2439. end
  2440. end
  2441. end
  2442. addEventHandler("onPlayerQuit", getRootElement(), removeReconning)
  2443.  
  2444. -- FREECAM
  2445. function toggleFreecam(thePlayer)
  2446. if exports.global:isRpSeged(thePlayer) then
  2447. local enabled = exports.freecam:isPlayerFreecamEnabled (thePlayer)
  2448.  
  2449. if (enabled) then
  2450. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx")
  2451. setElementAlpha(thePlayer, 255)
  2452. setElementFrozen(thePlayer, false)
  2453. exports.freecam:setPlayerFreecamDisabled (thePlayer)
  2454. else
  2455. removePedFromVehicle(thePlayer)
  2456. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", 0)
  2457. setElementAlpha(thePlayer, 0)
  2458. setElementFrozen(thePlayer, true)
  2459. exports.freecam:setPlayerFreecamEnabled (thePlayer)
  2460. end
  2461. end
  2462. end
  2463. addCommandHandler("freecam", toggleFreecam)
  2464.  
  2465. -- DROP ME
  2466.  
  2467. function dropOffFreecam(thePlayer)
  2468. if exports.global:isRpSeged(thePlayer) then
  2469. local enabled = exports.freecam:isPlayerFreecamEnabled (thePlayer)
  2470. if (enabled) then
  2471. local x, y, z = getElementPosition(thePlayer)
  2472. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx")
  2473. setElementAlpha(thePlayer, 255)
  2474. setElementFrozen(thePlayer, false)
  2475. exports.freecam:setPlayerFreecamDisabled (thePlayer)
  2476. setElementPosition(thePlayer, x, y, z)
  2477. else
  2478. outputChatBox("Csak akkor működikik ha a FREECAM be van kapcsolva.", thePlayer, 255, 0, 0)
  2479. end
  2480. end
  2481. end
  2482. addCommandHandler("dropme", dropOffFreecam)
  2483.  
  2484. -- DISAPPEAR
  2485.  
  2486. function toggleInvisibility(thePlayer)
  2487. if exports.global:isPlayerAdmin(thePlayer) then
  2488. local enabled = getElementData(thePlayer, "invisible")
  2489. if (enabled == true) then
  2490. setElementAlpha(thePlayer, 255)
  2491. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", false)
  2492. outputChatBox("Látható vagy.", thePlayer, 255, 0, 0)
  2493. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "invisible", false)
  2494. exports.global:sendMessageToAdmins("".. getPlayerName(thePlayer) .." látható vált.", 0, 255, 0)
  2495. elseif (enabled == false or enabled == nil) then
  2496. setElementAlpha(thePlayer, 0)
  2497. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", true)
  2498. outputChatBox("Láthatattlan vagy.", thePlayer, 0, 255, 0)
  2499. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "invisible", true)
  2500. exports.global:sendMessageToAdmins("".. getPlayerName(thePlayer) .." láthatatlanná vált.", 255, 0, 0)
  2501. else
  2502. outputChatBox("Elõbb kapcsold ki az Admin TV-t.", thePlayer, 255, 0, 0)
  2503. end
  2504. end
  2505. end
  2506. addCommandHandler("disappear", toggleInvisibility)
  2507. addCommandHandler("vanish", toggleInvisibility)
  2508.  
  2509. -- TOGGLE NAMETAG
  2510.  
  2511. function toggleMyNametag(thePlayer)
  2512. local visible = getElementData(thePlayer, "reconx")
  2513. if exports.global:isPlayerAdmin(thePlayer) then
  2514. if (visible == true) then
  2515. setPlayerNametagShowing(thePlayer, false)
  2516. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", false)
  2517. outputChatBox("A neved mostantól látható.", thePlayer, 255, 0, 0)
  2518. elseif (visible == false or visible == nil) then
  2519. setPlayerNametagShowing(thePlayer, false)
  2520. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", true)
  2521. outputChatBox("A neved elrejtve.", thePlayer, 0, 255, 0)
  2522. else
  2523. outputChatBox("Elõbb kapcsold ki az Admin TV-t.", thePlayer, 255, 0, 0)
  2524. end
  2525. end
  2526. end
  2527. addCommandHandler("togmytag", toggleMyNametag)
  2528.  
  2529. -- RESET CHARACTER
  2530. function resetCharacter(thePlayer, commandName, ...)
  2531. if exports.global:isPlayerLeadAdmin(thePlayer) then
  2532. if not (...) then
  2533. outputChatBox("Példa: /" .. commandName .. " [Karakter pontos neve]", thePlayer, 255, 0, 0)
  2534. else
  2535. local character = table.concat({...}, "_")
  2536. if getPlayerFromName(character) then
  2537. kickPlayer(getPlayerFromName(character), "Karakter viszaállítás")
  2538. end
  2539.  
  2540. local result = mysql:query_fetch_assoc("SELECT id, account FROM characters WHERE charactername='" .. mysql:escape_string(character) .. "'")
  2541. local charid = tonumber(result["id"])
  2542. local account = tonumber(result["account"])
  2543.  
  2544. if charid then
  2545. -- delete all in-game vehicles
  2546. for key, value in pairs( getElementsByType( "vehicle" ) ) do
  2547. if isElement( value ) then
  2548. if getElementData( value, "owner" ) == charid then
  2549. call( getResourceFromName( "item-system" ), "deleteAll", 3, getElementData( value, "dbid" ) )
  2550. destroyElement( value )
  2551. end
  2552. end
  2553. end
  2554. mysql:query_free("DELETE FROM vehicles WHERE owner = " .. mysql:escape_string(charid) )
  2555.  
  2556. -- un-rent all interiors
  2557. local old = getElementData( thePlayer, "dbid" )
  2558. exports['anticheat-system']:changeProtectedElementDataEx( thePlayer, "dbid", charid )
  2559. local result = mysql:query("SELECT id FROM interiors WHERE owner = " .. mysql:escape_string(charid) .. " AND type != 2" )
  2560. if result then
  2561. local continue = true
  2562. while continue do
  2563. local row = mysql:fetch_assoc(result)
  2564. if not row then break end
  2565.  
  2566. local id = tonumber(row["id"])
  2567. call( getResourceFromName( "interior-system" ), "publicSellProperty", thePlayer, id, false, false )
  2568. end
  2569. end
  2570. exports['anticheat-system']:changeProtectedElementDataEx( thePlayer, "dbid", old )
  2571.  
  2572. -- get rid of all items, give him default items back
  2573. mysql:query_free("DELETE FROM items WHERE type = 1 AND owner = " .. mysql:escape_string(charid) )
  2574.  
  2575. -- get the skin
  2576. local skin = 264
  2577. local skinr = mysql:query_fetch_assoc("SELECT skin FROM characters WHERE id = " .. mysql:escape_string(charid) )
  2578. if skinr then
  2579. skin = tonumber(skinr["skin"]) or 264
  2580. end
  2581.  
  2582. mysql:query_free("INSERT INTO items (type, owner, itemID, itemValue) VALUES (1, " .. mysql:escape_string(charid) .. ", 16, " .. mysql:escape_string(skin) .. ")" )
  2583. mysql:query_free("INSERT INTO items (type, owner, itemID, itemValue) VALUES (1, " .. mysql:escape_string(charid) .. ", 17, 1)" )
  2584. mysql:query_free("INSERT INTO items (type, owner, itemID, itemValue) VALUES (1, " .. mysql:escape_string(charid) .. ", 18, 1)" )
  2585.  
  2586. -- delete wiretransfers
  2587. mysql:query_free("DELETE FROM wiretransfers WHERE `from` = " .. mysql:escape_string(charid) .. " OR `to` = " .. mysql:escape_string(charid) )
  2588.  
  2589. -- set spawn at unity, strip off money etc
  2590. mysql:query_free("UPDATE characters SET x=1742.1884765625, y=-1861.3564453125, z=13.577615737915, rotation=0, faction_id=-1, faction_rank=0, faction_leader=0, weapons='', ammo='', car_license=0, gun_license=0, hoursplayed=0, timeinserver=0, transport=1, lastarea='El Corona', lang1=1, lang1skill=100, lang2=0, lang2skill=0, lang3=0, lang3skill=0, currLang=1, money=250, bankmoney=500, interior_id=0, dimension_id=0, health=100, armor=0, radiochannel=100, fightstyle=0, pdjail=0, pdjail_time=0, restrainedobj=0, restrainedby=0, hunter=0, stevie=0, tyrese=0, rook=0, fish=0, truckingruns=0, truckingwage=0, blindfold=0, phoneoff=0 WHERE id = " .. mysql:escape_string(charid) )
  2591.  
  2592. outputChatBox("Lenulláztad " .. character .. " vagyonát.", thePlayer, 0, 255, 0)
  2593. if (getElementData(thePlayer, "hiddenadmin")==0) then
  2594. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  2595. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " visszaállította " .. character .. " karaktert.")
  2596. end
  2597.  
  2598. exports.logs:logMessage("[/RESETCHARACTER] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." did this on ".. character , 4)
  2599.  
  2600. else
  2601. outputChatBox("Nem találom: " .. character, thePlayer, 255, 0, 0)
  2602. end
  2603. end
  2604. end
  2605. end
  2606. addCommandHandler("resetcharacter", resetCharacter)
  2607.  
  2608. -- FIND ALT CHARS
  2609. local function showAlts(thePlayer, id)
  2610. result = mysql:query("SELECT charactername, cked, faction_id, lastlogin FROM characters WHERE account = '" .. mysql:escape_string(id) .. "'" )
  2611. if result then
  2612. local name = mysql:query_fetch_assoc("SELECT username, banned FROM accounts WHERE id = '" .. mysql:escape_string(id) .. "'" )
  2613. if name then
  2614. local uname = name["username"]
  2615. if uname and uname ~= mysql_null() then
  2616. if (tonumber(name["banned"])) == 1 then
  2617. outputChatBox( "WHOIS " .. uname .. ": (BANNED)", thePlayer, 255, 194, 14 )
  2618. else
  2619. outputChatBox( "WHOIS " .. uname .. ": ", thePlayer, 255, 194, 14 )
  2620. end
  2621. else
  2622. outputChatBox( " ", thePlayer )
  2623. end
  2624. else
  2625. outputChatBox( " ", thePlayer )
  2626. end
  2627. local count = 0
  2628. local continue = true
  2629. while continue do
  2630. local row = mysql:fetch_assoc(result)
  2631. if not row then break end
  2632.  
  2633. count = count + 1
  2634. local r = 255
  2635. if getPlayerFromName( row["charactername"] ) then
  2636. r = 0
  2637. end
  2638.  
  2639. local text = "#" .. count .. ": " .. row["charactername"]:gsub("_", " ")
  2640. if tonumber( row["cked"] ) == 1 then
  2641. text = text .. " (Missing)"
  2642. elseif tonumber( row["cked"] ) == 2 then
  2643. text = text .. " (Buried)"
  2644. end
  2645.  
  2646. if row['lastlogin'] ~= mysql_null() then
  2647. text = text .. " - " .. tostring( row['lastlogin'] )
  2648. end
  2649.  
  2650. local faction = tonumber( row["faction_id"] ) or 0
  2651. if faction > 0 then
  2652. local theTeam = exports.pool:getElement("team", faction)
  2653. if theTeam then
  2654. text = text .. " - " .. getTeamName( theTeam )
  2655. end
  2656. end
  2657.  
  2658. outputChatBox( text, thePlayer, r, 255, 0)
  2659. end
  2660. mysql:free_result( result )
  2661. else
  2662. outputChatBox( "Error #9102 - Jelentsd a fórumon!", thePlayer, 255, 0, 0)
  2663. end
  2664. end
  2665.  
  2666. function findAltChars(thePlayer, commandName, ...)
  2667. if exports.global:isKettesAdmin( thePlayer ) then
  2668. if not (...) then
  2669. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  2670. else
  2671. local targetPlayerName = table.concat({...}, "_")
  2672. local targetPlayer = targetPlayerName == "*" and thePlayer or exports.global:findPlayerByPartialNick(nil, targetPlayerName)
  2673.  
  2674. if not targetPlayer or getElementData( targetPlayer, "loggedin" ) ~= 1 then
  2675. -- select by character name
  2676. local result = mysql:query("SELECT account FROM characters WHERE charactername = '" .. mysql:escape_string(targetPlayerName ) .. "'" )
  2677. if result then
  2678. if mysql:num_rows( result ) == 1 then
  2679. local row = mysql:fetch_assoc(result)
  2680. local id = tonumber( row["account"] ) or 0
  2681. showAlts( thePlayer, id )
  2682. return
  2683. else
  2684. -- select by account name
  2685. local result2 = mysql:query("SELECT id FROM accounts WHERE username = '" .. mysql:escape_string( targetPlayerName ) .. "'" )
  2686. if result2 then
  2687. if mysql:num_rows( result2 ) == 1 then
  2688. local row2 = mysql:fetch_assoc(result2)
  2689. local id = tonumber( row2["id"] ) or 0
  2690. showAlts( thePlayer, id )
  2691. return
  2692. end
  2693. mysql:free_result( result2 )
  2694. end
  2695. end
  2696. mysql:free_result( result )
  2697. end
  2698. outputChatBox("Nem találom a játékost vagy több mint 1 találat van.", thePlayer, 255, 0, 0)
  2699. else
  2700. local id = getElementData( targetPlayer, "gameaccountid" )
  2701. if id then
  2702. showAlts( thePlayer, id )
  2703. else
  2704. outputChatBox("Játék karakter ismeretlen.", thePlayer, 255, 0, 0)
  2705. end
  2706. end
  2707. end
  2708. end
  2709. end
  2710. addCommandHandler( "findalts", findAltChars )
  2711.  
  2712. local function showIPAlts(thePlayer, ip)
  2713. result = mysql:query("SELECT username,lastlogin,banned,banned_by FROM accounts WHERE ip = '" .. mysql:escape_string(ip) .. "'" )
  2714. if result then
  2715. local count = 0
  2716. local continue = true
  2717. while continue do
  2718. local row = mysql:fetch_assoc(result)
  2719. if not row then break end
  2720. count = count + 1
  2721. if (count == 1) then
  2722. outputChatBox( " IP Address: " .. ip, thePlayer)
  2723. end
  2724.  
  2725. local text = "#" .. count .. ": " .. row["username"]
  2726. if tonumber( row["banned"] ) == 1 then
  2727. text = text .. " (Bannolta " .. row["banned_by"] .. ")"
  2728. else
  2729. text = text .. " (Utolsó bejelentkezés: " .. row["lastlogin"] .. ")"
  2730. end
  2731. outputChatBox( text, thePlayer)
  2732. end
  2733. mysql:free_result( result )
  2734. else
  2735. outputChatBox( "Error #9101 - Jelentsd a fórumon!", thePlayer, 255, 0, 0)
  2736. end
  2737. end
  2738.  
  2739. function findAltAccIP(thePlayer, commandName, ...)
  2740. if exports.global:isPlayerSuperAdmin( thePlayer ) then
  2741. if not (...) then
  2742. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  2743. else
  2744. local targetPlayerName = table.concat({...}, "_")
  2745. local targetPlayer = exports.global:findPlayerByPartialNick(nil, targetPlayerName)
  2746.  
  2747. if not targetPlayer or getElementData( targetPlayer, "loggedin" ) ~= 1 then
  2748. -- select by accountname
  2749. local result = mysql:query("SELECT ip FROM accounts WHERE username = '" .. mysql:escape_string(targetPlayerName ) .. "'" )
  2750. if result then
  2751. if mysql:num_rows( result ) == 1 then
  2752. local row = mysql:fetch_assoc(result)
  2753. local ip = row["ip"] or '0.0.0.0'
  2754. showIPAlts( thePlayer, ip )
  2755. mysql:free_result( result )
  2756. return
  2757. else
  2758. -- select by ip
  2759. local result2 = mysql:query("SELECT ip FROM accounts WHERE ip = '" .. mysql:escape_string( targetPlayerName ) .. "'" )
  2760. if result2 then
  2761. if mysql:num_rows( result2 ) == 1 then
  2762. local row2 = mysql:fetch_assoc(result2)
  2763. local ip = tonumber( row2["ip"] ) or '0.0.0.0'
  2764. showIPAlts( thePlayer, ip )
  2765. mysql:free_result( result2 )
  2766. return
  2767. end
  2768. mysql:free_result( result2 )
  2769. end
  2770. end
  2771. mysql:free_result( result )
  2772. end
  2773. outputChatBox("Nem találom a játékost vagy több mint 1 találat van.", thePlayer, 255, 0, 0)
  2774. else -- select by online player
  2775. showIPAlts( thePlayer, getPlayerIP(targetPlayer) )
  2776. end
  2777. end
  2778. end
  2779. end
  2780. addCommandHandler( "findip", findAltAccIP )
  2781.  
  2782. --give player license
  2783. function givePlayerLicense(thePlayer, commandName, targetPlayerName, licenseType)
  2784. local logged = getElementData(thePlayer, "loggedin")
  2785. if (logged==1) then
  2786. local theTeam = getPlayerTeam(thePlayer)
  2787. local factionType = getElementData(theTeam, "type")
  2788. if (factionType==3) then
  2789. if not targetPlayerName or not (licenseType and (licenseType == "1" or licenseType == "2")) then
  2790. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Típus]", thePlayer, 255, 194, 14)
  2791. outputChatBox("Típus 1 = Jogosítvány", thePlayer, 255, 194, 14)
  2792. outputChatBox("Típus 2 = Fegyverengedély", thePlayer, 255, 194, 14)
  2793. else
  2794. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayerName)
  2795.  
  2796. if targetPlayer then
  2797. local logged = getElementData(targetPlayer, "loggedin")
  2798. price = 1000000
  2799. if (logged==0) then
  2800. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  2801. elseif (logged==1) then
  2802. local licenseTypeOutput = licenseType == "1" and "Jogosítvány" or "fegyver"
  2803. licenseType = licenseType == "1" and "car" or "gun"
  2804. if getElementData(targetPlayer, "license."..licenseType) == 1 then
  2805. outputChatBox(getPlayerName(thePlayer).."-nak már van "..licenseTypeOutput.." engedélye.", thePlayer, 255, 255, 0)
  2806. else
  2807.  
  2808. local money = exports.global:getMoney(targetPlayer)
  2809. local bankmoney = getElementData(targetPlayer, "bankmoney")
  2810. if money + bankmoney < price then
  2811. outputChatBox("Játékosnak nincs elég pénze.", thePlayer, 255, 0, 0)
  2812. return
  2813. else
  2814.  
  2815. local takeFromCash = math.min( money, price )
  2816. local takeFromBank = price - takeFromCash
  2817. exports.global:takeMoney(targetPlayer, takeFromCash)
  2818. if takeFromBank > 0 then
  2819. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "bankmoney", bankmoney - takeFromBank)
  2820. end
  2821. exports.global:giveMoney( getTeamFromName("Országos Rendőr Fő-kapitányság"), price + 50000 )
  2822.  
  2823. if (licenseType == "gun") then
  2824. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "license."..licenseType, 1)
  2825. mysql:query_free("UPDATE characters SET "..mysql:escape_string(licenseType).."_license='1' WHERE id = "..mysql:escape_string(getElementData(targetPlayer, "dbid")).." LIMIT 1")
  2826. outputChatBox("Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt.", thePlayer, 0, 255, 0)
  2827. outputChatBox(""..getPlayerName(thePlayer):gsub("_"," ").." adott neked "..licenseTypeOutput.." engedélyt.", targetPlayer, 0, 255, 0)
  2828. exports.global:SendMessageToTeam("Országos Rendőr Fő-kapitányság","Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt. "..getPlayerName(thePlayer):gsub("_"," ").." által.", 255, 124, 14)
  2829. exports.logs:logMessage("[/GIVELICENSE] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." gave ".. targetPlayerName .." the following license:"..licenseTypeOutput, 4)
  2830. else
  2831. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "license."..licenseType, 1)
  2832. mysql:query_free("UPDATE characters SET "..mysql:escape_string(licenseType).."_license='1' WHERE id = "..mysql:escape_string(getElementData(targetPlayer, "dbid")).." LIMIT 1")
  2833. outputChatBox("Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt.", thePlayer, 0, 255, 0)
  2834. outputChatBox(""..getPlayerName(thePlayer):gsub("_"," ").." adott neked "..licenseTypeOutput.." engedélyt.", targetPlayer, 0, 255, 0)
  2835. exports.global:SendMessageToTeam("Országos Rendőr Fő-kapitányság","Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt. "..getPlayerName(thePlayer):gsub("_"," ").." által.", 255, 124, 14)
  2836. exports.logs:logMessage("[/GIVELICENSE] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." gave ".. targetPlayerName .." the following license:"..licenseTypeOutput, 4)
  2837. end
  2838.  
  2839. end
  2840.  
  2841. end
  2842. end
  2843. end
  2844. end
  2845. else
  2846. outputChatBox(" Csak rendőrségnek! ", thePlayer, 255,0,0)
  2847. end
  2848. end
  2849. end
  2850. addCommandHandler("givelicense", givePlayerLicense)
  2851.  
  2852. -- Language commands
  2853. function getLanguageByName( language )
  2854. for i = 1, call( getResourceFromName( "language-system" ), "getLanguageCount" ) do
  2855. if language:lower() == call( getResourceFromName( "language-system" ), "getLanguageName", i ):lower() then
  2856. return i
  2857. end
  2858. end
  2859. return false
  2860. end
  2861.  
  2862. function setLanguage(thePlayer, commandName, targetPlayerName, language, skill)
  2863. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  2864. if exports.global:isPlayerAdmin(thePlayer) then
  2865. if not targetPlayerName or not language or not tonumber( skill ) then
  2866. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Nyelv] [Skill]", thePlayer, 255, 194, 14)
  2867. else
  2868. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick( thePlayer, targetPlayerName )
  2869. if not targetPlayer then
  2870. elseif getElementData( targetPlayer, "loggedin" ) ~= 1 then
  2871. outputChatBox( "A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0 )
  2872. else
  2873. local lang = tonumber( language ) or getLanguageByName( language )
  2874. local skill = tonumber( skill )
  2875. if not lang then
  2876. outputChatBox( language .. " nem érvényes nyelv.", thePlayer, 255, 0, 0 )
  2877. else
  2878. local langname = call( getResourceFromName( "language-system" ), "getLanguageName", lang )
  2879. local success, reason = call( getResourceFromName( "language-system" ), "learnLanguage", targetPlayer, lang, false, skill )
  2880. if success then
  2881. outputChatBox( targetPlayerName .. " megtanultad a " .. langname .. " nyelvet.", thePlayer, 0, 255, 0 )
  2882. else
  2883. outputChatBox( targetPlayerName .. " nem tudtad megtanulni a " .. langname .. " nyelvet: " .. tostring( reason ), thePlayer, 255, 0, 0 )
  2884. end
  2885. exports.logs:logMessage("[/SETLANGUAGE] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." learned ".. targetPlayerName .. " " .. langname , 4)
  2886. end
  2887. end
  2888. end
  2889. end
  2890. end
  2891. end
  2892. addCommandHandler("setlanguage", setLanguage)
  2893.  
  2894. function deleteLanguage(thePlayer, commandName, targetPlayerName, language)
  2895. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  2896. if exports.global:isPlayerAdmin(thePlayer) then
  2897. if not targetPlayerName or not language then
  2898. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Nyelv]", thePlayer, 255, 194, 14)
  2899. else
  2900. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick( thePlayer, targetPlayerName )
  2901. if not targetPlayer then
  2902. elseif getElementData( targetPlayer, "loggedin" ) ~= 1 then
  2903. outputChatBox( "A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0 )
  2904. else
  2905. local lang = tonumber( language ) or getLanguageByName( language )
  2906. if not lang then
  2907. outputChatBox( language .. " nem érvényes nyelv.", thePlayer, 255, 0, 0 )
  2908. else
  2909. local langname = call( getResourceFromName( "language-system" ), "getLanguageName", lang )
  2910. if call( getResourceFromName( "language-system" ), "removeLanguage", targetPlayer, lang ) then
  2911. outputChatBox( targetPlayerName .. " forgot " .. langname .. ".", thePlayer, 0, 255, 0 )
  2912. else
  2913. outputChatBox( targetPlayerName .. " nem beszéli ezt a nyelvet: " .. langname, thePlayer, 255, 0, 0 )
  2914. end
  2915. end
  2916. end
  2917. end
  2918. end
  2919. end
  2920. end
  2921. addCommandHandler("dellanguage", deleteLanguage)
  2922.  
  2923. function marry(thePlayer, commandName, player1, player2)
  2924. if exports.global:isPlayerLeadAdmin(thePlayer) then
  2925. if not player1 or not player2 then
  2926. outputChatBox( "Példa: /" .. commandName .. " [Férj] [Feleség]", thePlayer, 255, 194, 14 )
  2927. else
  2928. local player1, player1name = exports.global:findPlayerByPartialNick( thePlayer, player1 )
  2929. if player1 then
  2930. local player2, player2name = exports.global:findPlayerByPartialNick( thePlayer, player2 )
  2931. if player2 then
  2932. -- check if one of the players is already married
  2933. local p1r = mysql:query_fetch_assoc("SELECT COUNT(*) as numbr FROM characters WHERE marriedto = " .. mysql:escape_string(getElementData( player1, "dbid" )) )
  2934. if p1r then
  2935. if tonumber( p1r["numbr"] ) == 0 then
  2936. local p2r = mysql:query_fetch_assoc("SELECT COUNT(*) as numbr FROM characters WHERE marriedto = " .. mysql:escape_string(getElementData( player2, "dbid" )) )
  2937. if p2r then
  2938. if tonumber( p2r["numbr"] ) == 0 then
  2939. mysql:query_free("UPDATE characters SET marriedto = " .. mysql:escape_string(getElementData( player1, "dbid" )) .. " WHERE id = " .. mysql:escape_string(getElementData( player2, "dbid" )) )
  2940. mysql:query_free("UPDATE characters SET marriedto = " .. mysql:escape_string(getElementData( player2, "dbid" )) .. " WHERE id = " .. mysql:escape_string(getElementData( player1, "dbid" )) )
  2941.  
  2942. outputChatBox( "Hozzál mentél " .. player2name .. "-hoz. Sok boldogságot!", player1, 0, 255, 0 )
  2943. outputChatBox( "Hozzál mentél " .. player1name .. "-hoz. Sok boldogságot!", player2, 0, 255, 0 )
  2944.  
  2945. exports['cache']:clearCharacterName( getElementData( player1, "dbid" ) )
  2946. exports['cache']:clearCharacterName( getElementData( player2, "dbid" ) )
  2947.  
  2948. outputChatBox( player1name .. " és " .. player2name .. " mostantól egy pár.", thePlayer, 255, 194, 14 )
  2949. else
  2950. outputChatBox( player2name .. " már házas.", thePlayer, 255, 0, 0 )
  2951. end
  2952. end
  2953. else
  2954. outputChatBox( player1name .. " már házas.", thePlayer, 255, 0, 0 )
  2955. end
  2956. end
  2957. end
  2958. end
  2959. end
  2960. end
  2961. end
  2962. addCommandHandler("marry", marry)
  2963. addCommandHandler("hazassag", marry)
  2964.  
  2965. function divorce(thePlayer, commandName, targetPlayer)
  2966. if exports.global:isPlayerLeadAdmin(thePlayer) then
  2967. if not targetPlayer then
  2968. outputChatBox( "Példa: /" .. commandName .. " [játékos]", thePlayer, 255, 194, 14 )
  2969. else
  2970. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick( thePlayer, targetPlayer )
  2971. if targetPlayer then
  2972. local marriedto = mysql:query_fetch_assoc("SELECT marriedto FROM characters WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  2973. if marriedto then
  2974. local to = tonumber( marriedto["marriedto"] )
  2975. if to > 0 then
  2976. mysql:query_free("UPDATE characters SET marriedto = 0 WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  2977. mysql:query_free("UPDATE characters SET marriedto = 0 WHERE marriedto = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  2978.  
  2979. exports['cache']:clearCharacterName( getElementData( targetPlayer, "dbid" ) )
  2980. exports['cache']:clearCharacterName( to )
  2981.  
  2982. outputChatBox( targetPlayerName .. " szétvált.", thePlayer, 0, 255, 0 )
  2983. else
  2984. outputChatBox( targetPlayerName .. " szétvált", thePlayer, 255, 194, 14 )
  2985. end
  2986. end
  2987. end
  2988. end
  2989. end
  2990. end
  2991. addCommandHandler("divorce", divorce)
  2992. addCommandHandler("hazassagtores", divorce)
  2993.  
  2994. function vehicleLimit(admin, command, player, limit)
  2995. if exports.global:isPlayerLeadAdmin(admin) then
  2996. if (not player and not limit) then
  2997. outputChatBox("Példa: /" .. command .. " [Játékos] [Limit]", admin, 255, 194, 14)
  2998. else
  2999. local tplayer, targetPlayerName = exports.global:findPlayerByPartialNick(admin, player)
  3000. if (tplayer) then
  3001. local query = mysql:query_fetch_assoc("SELECT maxvehicles FROM characters WHERE id = " .. mysql:escape_string(getElementData(tplayer, "dbid")))
  3002. if (query) then
  3003. local oldvl = query["maxvehicles"]
  3004. local newl = tonumber(limit)
  3005. if (newl) then
  3006. if (newl>0) then
  3007. mysql:query_free("UPDATE characters SET maxvehicles = " .. mysql:escape_string(newl) .. " WHERE id = " .. mysql:escape_string(getElementData(tplayer, "dbid")))
  3008.  
  3009. exports['anticheat-system']:changeProtectedElementDataEx(tplayer, "maxvehicles", newl)
  3010.  
  3011. outputChatBox("Beállítottad " .. targetPlayerName:gsub("_", " ") .. " jármá limitjét erre: " .. newl .. ".", admin, 255, 194, 14)
  3012. outputChatBox("Admin " .. getPlayerName(admin):gsub("_"," ") .. " beállította a jármû limitedet erre: " .. newl .. ".", tplayer, 255, 194, 14)
  3013.  
  3014. exports.logs:logMessage("[SET VEHICLE LIMIT] " .. getPlayerName(admin):gsub("_"," ") .. " has set " .. targetPlayerName:gsub("_", " ") .. " vehicle limit from " .. oldvl .. " to " .. newl .. ".", 4)
  3015. else
  3016. outputChatBox("A limit nem lehet kevesebb mint 0!", admin, 255, 194, 14)
  3017. end
  3018. end
  3019. end
  3020. else
  3021. outputChatBox("Probléma lépett fel a játékos keresése közben.", admin)
  3022. end
  3023. end
  3024. end
  3025. end
  3026. addCommandHandler("setvehlimit", vehicleLimit)
  3027.  
  3028. function fklista(admin, command, frakcio)
  3029. if exports.global:isPlayerLeadAdmin(admin) then
  3030. if (not frakcio) then
  3031. outputChatBox("Példa: /" .. command .. " [Frakció id]", admin, 255, 194, 14)
  3032. else
  3033.  
  3034. local result = mysql:query("SELECT faction, id, model FROM vehicles WHERE faction = " .. mysql:escape_string(frakcio) .. "" )
  3035. i = 0
  3036. if result then
  3037. outputChatBox("[[[ Frakció id: "..frakcio.." járművei ]]]", admin, 255,0,0)
  3038. local continue = true
  3039. while continue do
  3040. local row = mysql:fetch_assoc(result)
  3041. if not row then break end
  3042.  
  3043. local id = tonumber(row["id"])
  3044. local model = tonumber(row["model"])
  3045. outputChatBox(getVehicleNameFromModel ( model ) .. " - " .. id, admin, 255,255,0)
  3046. i = i + 1
  3047. end
  3048. outputChatBox("[[[ Összes jármű: "..i.." ]]]", admin, 255,0,0)
  3049. outputChatBox("[[[ Frakció id: "..frakcio.." járművei lekérdezés vége ]]]", admin, 255,0,0)
  3050. end
  3051.  
  3052. end
  3053. end
  3054. end
  3055.  
  3056. addCommandHandler("fklista", fklista)
  3057.  
  3058. RAW Paste Data
  3059. mysql = exports.mysql
  3060.  
  3061. -- ADMIN HISTORY:
  3062. -- 0: jail
  3063. -- 1: kick
  3064. -- 2: ban
  3065. -- 3: forceapp
  3066. -- 4: warn
  3067. -- 5: auto-ban
  3068.  
  3069. --
  3070.  
  3071. function gotoxyz_func ( player, cmd, x, y, z )
  3072.  
  3073. setElementPosition ( player, tonumber(x), tonumber(y), tonumber(z) )
  3074.  
  3075. end
  3076. addCommandHandler ( "gotoxyz", gotoxyz_func )
  3077.  
  3078. local getPlayerName_ = getPlayerName
  3079. getPlayerName = function( ... )
  3080. s = getPlayerName_( ... )
  3081. return s and s:gsub( "_", " " ) or s
  3082. end
  3083.  
  3084. -- wardrobe temp fix..
  3085. function fixWardrobe(thePlayer)
  3086. if ( getElementData(thePlayer, "loggedin") == 1 ) then
  3087. local dimension = getElementDimension(thePlayer)
  3088. local interior = getElementInterior(thePlayer)
  3089.  
  3090. if ( dimension >= 65000 and interior == 14 ) then
  3091. setElementPosition(thePlayer, 1520.0029296875, -1701.2421875, 13.546875)
  3092. setPedRotation(thePlayer, 275.82971191406)
  3093. setElementDimension(thePlayer, 0)
  3094. setElementInterior(thePlayer, 0)
  3095. else
  3096. outputChatBox("Nincs wardrobe bugod.", thePlayer, 255, 0, 0)
  3097. end
  3098. else
  3099. outputChatBox("Nincs wardrobe bugod.", thePlayer, 255, 0, 0)
  3100. end
  3101. end
  3102. addCommandHandler("fixwardrobe", fixWardrobe)
  3103.  
  3104. function adminUncuff(thePlayer, commandName, targetPlayer)
  3105. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  3106. if (exports.global:isPlayerAdmin(thePlayer)) then
  3107. if not (targetPlayer) then
  3108. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3109. else
  3110. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3111.  
  3112. if targetPlayer then
  3113. local logged = getElementData(targetPlayer, "loggedin")
  3114. local username = getPlayerName(thePlayer)
  3115.  
  3116. if (logged==0) then
  3117. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3118. else
  3119. local restrain = getElementData(targetPlayer, "restrain")
  3120.  
  3121. if (restrain==0) then
  3122. outputChatBox("A játékos nincs lefogva.", thePlayer, 255, 0, 0)
  3123. else
  3124. outputChatBox(targetPlayerName .. ": levetted róla a bilincset.", thePlayer)
  3125. outputChatBox("" .. username .. ": levette rólad a bilincset.", targetPlayer)
  3126. toggleControl(targetPlayer, "sprint", true)
  3127. toggleControl(targetPlayer, "fire", true)
  3128. toggleControl(targetPlayer, "jump", true)
  3129. toggleControl(targetPlayer, "next_weapon", true)
  3130. toggleControl(targetPlayer, "previous_weapon", true)
  3131. toggleControl(targetPlayer, "accelerate", true)
  3132. toggleControl(targetPlayer, "brake_reverse", true)
  3133. toggleControl(targetPlayer, "aim_weapon", true)
  3134. toggleAllControls(targetPlayer, true,true,true)
  3135. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "restrain", 0)
  3136. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "restrainedBy")
  3137. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "restrainedObj")
  3138. exports.global:removeAnimation(targetPlayer)
  3139. mysql:query_free("UPDATE characters SET cuffed = 0, restrainedby = 0, restrainedobj = 0 WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  3140. exports['item-system']:deleteAll(47, getElementData( targetPlayer, "dbid" ))
  3141. end
  3142. end
  3143. end
  3144. end
  3145. end
  3146. end
  3147. end
  3148. addCommandHandler("auncuff", adminUncuff, false, false)
  3149.  
  3150. --/AUNMASK
  3151. function adminUnmask(thePlayer, commandName, targetPlayer)
  3152. if (exports.global:isPlayerAdmin(thePlayer)) then
  3153. if not (targetPlayer) then
  3154. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3155. else
  3156. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3157.  
  3158. if targetPlayer then
  3159. local logged = getElementData(targetPlayer, "loggedin")
  3160. local username = getPlayerName(thePlayer)
  3161.  
  3162. if (logged==0) then
  3163. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3164. else
  3165. local gasmask = getElementData(targetPlayer, "gasmask")
  3166. local mask = getElementData(targetPlayer, "mask")
  3167. local helmet = getElementData(targetPlayer, "helmet")
  3168.  
  3169. if (gasmask==1 or mask==1 or helmet==1) then
  3170. local name = targetPlayerName:gsub("_", " ")
  3171. setPlayerNametagText(targetPlayer, tostring(name))
  3172.  
  3173. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "gasmask")
  3174. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "mask")
  3175. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "helmet")
  3176. outputChatBox("Levetted a maszkot róla: " .. name .. ".", thePlayer, 255, 0, 0)
  3177. else
  3178. outputChatBox("A játékoson nincs MASK.", thePlayer, 255, 0, 0)
  3179. end
  3180. end
  3181. end
  3182. end
  3183. end
  3184. end
  3185. addCommandHandler("aunmask", adminUnmask, false, false)
  3186.  
  3187. function asay(thePlayer, commandName, ...)
  3188. if (exports.global:isPlayerAdmin(thePlayer)) then
  3189. if not (...) then
  3190. outputChatBox("Példa: /am [Admin Üzenet]", thePlayer, 255, 194, 15)
  3191. else
  3192. local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
  3193.  
  3194. message = table.concat({...}, " ")
  3195. local playerName = getPlayerName(thePlayer)
  3196.  
  3197. outputChatBox(adminrang .. ": " .. message, getRootElement(), 255, 128, 0,true)
  3198. end
  3199. end
  3200. end
  3201. addCommandHandler("asay", asay, false, false)
  3202.  
  3203. function asayn(thePlayer, commandName, ...)
  3204. if (exports.global:isPlayerAdmin(thePlayer)) then
  3205. if not (...) then
  3206. outputChatBox("Példa: /am [Admin Üzenet]", thePlayer, 255, 194, 15)
  3207. else
  3208. local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
  3209. message = table.concat({...}, " ")
  3210. local playerName = getPlayerName(thePlayer)
  3211. outputChatBox(adminrang .. " " .. playerName .. ": " .. message, getRootElement(), 255, 0, 0,true)
  3212. end
  3213. end
  3214. end
  3215. addCommandHandler("asayn", asayn, false, false)
  3216.  
  3217. function adminUnblindfold(thePlayer, commandName, targetPlayer)
  3218. if (exports.global:isPlayerAdmin(thePlayer)) then
  3219. if not (targetPlayer) then
  3220. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3221. else
  3222. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3223.  
  3224. if targetPlayer then
  3225. local logged = getElementData(targetPlayer, "loggedin")
  3226. local username = getPlayerName(thePlayer)
  3227.  
  3228. if (logged==0) then
  3229. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3230. else
  3231. local blindfolded = getElementData(targetPlayer, "rblindfold")
  3232.  
  3233. if (blindfolded==0) then
  3234. outputChatBox("A játékosnak nincs bekötve a szeme!", thePlayer, 255, 0, 0)
  3235. else
  3236. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "blindfold")
  3237. fadeCamera(targetPlayer, true)
  3238. outputChatBox("Levetted " .. targetPlayerName .. "-rõl a kötést.", thePlayer)
  3239. mysql:query_free("UPDATE characters SET blindfold = 0 WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  3240. end
  3241. end
  3242. end
  3243. end
  3244. end
  3245. end
  3246. addCommandHandler("aunblindfold", adminUnblindfold, false, false)
  3247.  
  3248. -- /MUTE
  3249. function mutePlayer(thePlayer, commandName, targetPlayer)
  3250. if (exports.global:isPlayerAdmin(thePlayer)) then
  3251. if not (targetPlayer) then
  3252. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3253. else
  3254. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3255.  
  3256. if targetPlayer then
  3257. local logged = getElementData(targetPlayer, "loggedin")
  3258.  
  3259. if (logged==0) then
  3260. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3261. else
  3262. local muted = getElementData(targetPlayer, "muted")
  3263.  
  3264. if (muted==0) then
  3265. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "muted", 1)
  3266. outputChatBox(targetPlayerName .. " némítva lett az OOC-rõl.", thePlayer, 255, 0, 0)
  3267. outputChatBox("Némítva lettél az OOC-rõl '" .. getPlayerName(thePlayer) .. "' által.", targetPlayer, 255, 0, 0)
  3268. else
  3269. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "muted", 0)
  3270. outputChatBox(targetPlayerName .. "-rõl levetted az OOC némítást.", thePlayer, 0, 255, 0)
  3271. outputChatBox("'" .. getPlayerName(thePlayer) .. "' levette rólad az OOC némítást.", targetPlayer, 0, 255, 0)
  3272. end
  3273. mysql:query_free("UPDATE accounts SET muted=" .. mysql:escape_string(getElementData(targetPlayer, "muted")) .. " WHERE id = " .. mysql:escape_string(getElementData(targetPlayer, "gameaccountid")) )
  3274. end
  3275. end
  3276. end
  3277. end
  3278. end
  3279. addCommandHandler("pmute", mutePlayer, false, false)
  3280.  
  3281. -- /RESKICK
  3282. function resKick(thePlayer, commandName, amount)
  3283. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  3284. if not (amount) then
  3285. outputChatBox("Példa: /" .. commandName .. " [Játékosok száma amennyit kickelni akarsz]", thePlayer, 255, 194, 14)
  3286. else
  3287. amount = tonumber(amount)
  3288. local playercount = getPlayerCount()
  3289. if (amount>=playercount) then
  3290. outputChatBox("Nincs elég játékos a kickeléshez. (Jelenleg " .. playercount .. " játékos online)", thePlayer, 255, 0, 0)
  3291. else
  3292. local players = { }
  3293. local count = 1
  3294. for key, value in ipairs(exports.pool:getPoolElementsByType("player")) do
  3295. if not (exports.global:isPlayerAdmin(value)) and not exports.global:isPlayerScripter(value) then
  3296. players[count] = value
  3297. count = count + 1
  3298.  
  3299. if (count==amount) then
  3300. break
  3301. end
  3302. end
  3303. end
  3304. local kickcount = 0
  3305. for key, value in ipairs(players) do
  3306. if (kickcount<amount) then
  3307. local luck = math.random(0, 1)
  3308. if (luck==1) then
  3309. kickPlayer(value, getRootElement(), "Foglalt slot-ra csatlakoztál")
  3310. kickcount = kickcount + 1
  3311. end
  3312. end
  3313. end
  3314. outputChatBox("" .. kickcount .. "/" .. amount .. " játékos kickelve.", thePlayer, 0, 255, 0)
  3315. end
  3316. end
  3317. end
  3318. end
  3319. addCommandHandler("reskick", resKick, false, false)
  3320.  
  3321. -- /DISARM
  3322. function disarmPlayer(thePlayer, commandName, targetPlayer)
  3323. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  3324. if (exports.global:isEgyesAdmin(thePlayer)) then
  3325. if not (targetPlayer) then
  3326. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3327. else
  3328. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3329.  
  3330. if targetPlayer then
  3331. local logged = getElementData(targetPlayer, "loggedin")
  3332.  
  3333. if (logged==0) then
  3334. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3335. elseif (logged==1) then
  3336. exports.global:takeAllWeapons(targetPlayer)
  3337. outputChatBox(targetPlayerName .. " lefegyverezve.", thePlayer, 255, 194, 14)
  3338. exports.logs:logMessage("[/DISARM] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." disarmed ".. targetPlayerName , 4)
  3339. end
  3340. end
  3341. end
  3342. end
  3343. end
  3344. end
  3345. addCommandHandler("disarm", disarmPlayer, false, false)
  3346.  
  3347. -- forceapp
  3348. function forceApplication(thePlayer, commandName, targetPlayer, ...)
  3349. if (exports.global:isPlayerAdmin(thePlayer)) then
  3350. if not (targetPlayer) or not (...) then
  3351. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Indok]", thePlayer, 255, 194, 14)
  3352. else
  3353. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3354.  
  3355. if not (targetPlayer) then
  3356. elseif exports.global:isPlayerAdmin(targetPlayer) then
  3357. outputChatBox("Nem-nem.", thePlayer, 255, 0, 0)
  3358. else
  3359. local logged = getElementData(targetPlayer, "loggedin")
  3360.  
  3361. if (logged==0) then
  3362. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3363. elseif (logged==1) then
  3364. local reason = table.concat({...}, " ")
  3365. local id = getElementData(targetPlayer, "gameaccountid")
  3366. local username = getElementData(thePlayer, "gameaccountusername")
  3367. mysql:query_free("UPDATE accounts SET appstate = 2, apphandler='" .. mysql:escape_string(username) .. "', appreason='" .. mysql:escape_string(reason) .. "', appdatetime = NOW() + INTERVAL 1 DAY WHERE id='" .. mysql:escape_string(id) .. "'")
  3368. outputChatBox(targetPlayerName .. " was forced to re-write their application.", thePlayer, 255, 194, 14)
  3369.  
  3370. local port = getServerPort()
  3371. local password = getServerPassword()
  3372.  
  3373. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  3374. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " sent " .. targetPlayerName .. " back to the application stage.")
  3375.  
  3376. local res = mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',0,3,0,"' .. mysql:escape_string(reason) .. '")' )
  3377.  
  3378. redirectPlayer(targetPlayer, "server.mta.vg", port, password)
  3379. end
  3380. end
  3381. end
  3382. end
  3383. end
  3384. addCommandHandler("forceapp", forceApplication, false, false)
  3385.  
  3386. -- /CK
  3387. function ckPlayer(thePlayer, commandName, targetPlayer, ...)
  3388. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  3389. if not (targetPlayer) or not (...) then
  3390. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Karakter halál indoka]", thePlayer, 255, 194, 14)
  3391. else
  3392. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3393.  
  3394. if targetPlayer then
  3395. local logged = getElementData(targetPlayer, "loggedin")
  3396.  
  3397. if (logged==0) then
  3398. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3399. elseif (logged==1) then
  3400. info = table.concat({...}, " ")
  3401. local query = mysql:query_free("UPDATE characters SET cked='1', ck_info='" .. mysql:escape_string(tostring(info)) .. "' WHERE id = " .. mysql:escape_string(getElementData(targetPlayer, "dbid")))
  3402.  
  3403. local x, y, z = getElementPosition(targetPlayer)
  3404. local skin = getPedSkin(targetPlayer)
  3405. local rotation = getPedRotation(targetPlayer)
  3406.  
  3407. call( getResourceFromName( "realism-system" ), "addCharacterKillBody", x, y, z, rotation, skin, getElementData(targetPlayer, "dbid"), targetPlayerName, getElementInterior(targetPlayer), getElementDimension(targetPlayer), getElementData(targetPlayer, "age"), getElementData(targetPlayer, "race"), getElementData(targetPlayer, "weight"), getElementData(targetPlayer, "height"), getElementData(targetPlayer, "chardescription"), info, getElementData(targetPlayer, "gender"))
  3408.  
  3409. -- send back to change char screen
  3410. local id = getElementData(targetPlayer, "gameaccountid")
  3411. showCursor(targetPlayer, false)
  3412. triggerEvent("sendAccounts", targetPlayer, targetPlayer, id, true)
  3413. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "loggedin", 0, false)
  3414. outputChatBox("" .. getPlayerName(thePlayer) .. " karakter halált osztott ki rád.", targetPlayer, 255, 194, 14)
  3415. showChat(targetPlayer, false)
  3416. outputChatBox("Karakter halált osztottál ki rá: ".. targetPlayerName ..".", thePlayer, 255, 194, 1, 14)
  3417. exports.logs:logMessage("[/CK] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." CK'ED ".. targetPlayerName , 4)
  3418. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "dbid", 0)
  3419. end
  3420. end
  3421. end
  3422. end
  3423. end
  3424. addCommandHandler("ck", ckPlayer)
  3425.  
  3426. -- /UNCK
  3427. function unckPlayer(thePlayer, commandName, ...)
  3428. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  3429. if not (...) then
  3430. outputChatBox("Példa: /" .. commandName .. " [Játékos teljes neve]", thePlayer, 255, 194, 14)
  3431. else
  3432. local targetPlayer = table.concat({...}, "_")
  3433. local result = mysql:query("SELECT id FROM characters WHERE charactername='" .. mysql:escape_string(tostring(targetPlayer)) .. "' AND cked > 0")
  3434.  
  3435. if (mysql:num_rows(result)>1) then
  3436. outputChatBox("Túl sok találat - A találatok szûkítéséhez írd be a játékos nevét részletesebben.", thePlayer, 255, 0, 0)
  3437. elseif (mysql:num_rows(result)==0) then
  3438. outputChatBox("A játékos nem létezik vagy nem osztottak ki rá karakter halált.", thePlayer, 255, 0, 0)
  3439. else
  3440. local row = mysql:fetch_assoc(result)
  3441. local dbid = tonumber(row["id"]) or 0
  3442. mysql:query_free("UPDATE characters SET cked='0' WHERE id = " .. dbid .. " LIMIT 1")
  3443.  
  3444. -- delete all peds for him
  3445. for key, value in pairs( getElementsByType( "ped" ) ) do
  3446. if isElement( value ) and getElementData( value, "ckid" ) then
  3447. if getElementData( value, "ckid" ) == dbid then
  3448. destroyElement( value )
  3449. end
  3450. end
  3451. end
  3452.  
  3453. outputChatBox(targetPlayer .. " karakter halála feloldva.", thePlayer, 0, 255, 0)
  3454. exports.logs:logMessage("[/UNCK] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." UNCK'ED ".. targetPlayer , 4)
  3455. end
  3456. mysql:free_result(result)
  3457. end
  3458. end
  3459. end
  3460. addCommandHandler("unck", unckPlayer)
  3461.  
  3462. -- /BURY
  3463. function buryPlayer(thePlayer, commandName, ...)
  3464. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  3465. if not (...) then
  3466. outputChatBox("Példa: /" .. commandName .. " [Játékos teljes neve]", thePlayer, 255, 194, 14)
  3467. else
  3468. local targetPlayer = table.concat({...}, "_")
  3469. local result = mysql:query("SELECT id, cked FROM characters WHERE charactername='" .. mysql:escape_string(tostring(targetPlayer)) .. "'")
  3470.  
  3471. if (mysql:num_rows(result)>1) then
  3472. outputChatBox("Túl sok találat - A találatok szûkítéséhez írd be a játékos nevét részletesebben.", thePlayer, 255, 0, 0)
  3473. elseif (mysql:num_rows(result)==0) then
  3474. outputChatBox("A játékos nem létezik.", thePlayer, 255, 0, 0)
  3475. else
  3476. local row = mysql:fetch_assoc(result)
  3477. local dbid = tonumber(row["id"]) or 0
  3478. local cked = tonumber(row["cked"]) or 0
  3479. if cked == 0 then
  3480. outputChatBox("A játékoson nincs karakter halál.", thePlayer, 255, 0, 0)
  3481. elseif cked == 2 then
  3482. outputChatBox("A játékos már el van temetve.", thePlayer, 255, 0, 0)
  3483. else
  3484. mysql:query_free("UPDATE characters SET cked='2' WHERE id = " .. dbid .. " LIMIT 1")
  3485.  
  3486. -- delete all peds for him
  3487. for key, value in pairs( getElementsByType( "ped" ) ) do
  3488. if isElement( value ) and getElementData( value, "ckid" ) then
  3489. if getElementData( value, "ckid" ) == dbid then
  3490. destroyElement( value )
  3491. end
  3492. end
  3493. end
  3494.  
  3495. outputChatBox(targetPlayer .. " eltemetve.", thePlayer, 0, 255, 0)
  3496. exports.logs:logMessage("[/BURY] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." buried ".. targetPlayer , 4)
  3497. end
  3498. end
  3499. mysql:free_result(result)
  3500. end
  3501. end
  3502. end
  3503. addCommandHandler("bury", buryPlayer)
  3504.  
  3505. -- /FRECONNECT
  3506. function forceReconnect(thePlayer, commandName, targetPlayer)
  3507. if (exports.global:isPlayerAdmin(thePlayer)) then
  3508. if not (targetPlayer) then
  3509. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3510. else
  3511. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3512.  
  3513. if targetPlayer then
  3514. local logged = getElementData(targetPlayer, "loggedin")
  3515.  
  3516. if (logged==0) then
  3517. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3518. elseif (logged==1) then
  3519. outputChatBox("Játékos '" .. targetPlayerName .. "' újracsatlakoztatva.", thePlayer, 255, 0, 0)
  3520.  
  3521. local port = getServerPort()
  3522. local password = getServerPassword()
  3523.  
  3524. redirectPlayer(targetPlayer, "91.82.84.190:22031", port, password) --ezt módosítani!!!
  3525.  
  3526. exports.logs:logMessage("[/FRECONNECT] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." reconnected ".. targetPlayerName , 4)
  3527. end
  3528. end
  3529. end
  3530. end
  3531. end
  3532. -- addCommandHandler("freconnect", forceReconnect, false, false)
  3533.  
  3534. -- /GIVEGUN
  3535. function givePlayerGun(thePlayer, commandName, targetPlayer, ...)
  3536. if (exports.global:isSuperAdmin(thePlayer)) then
  3537. local args = {...}
  3538. if not (targetPlayer) or (#args < 1) then
  3539. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Fegyver ID / Név] [Töltény]", thePlayer, 255, 194, 14)
  3540. else
  3541. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3542.  
  3543. if targetPlayer then
  3544. local weapon = tonumber(args[1])
  3545. local ammo = #args ~= 1 and tonumber(args[#args]) or 1
  3546.  
  3547. if not weapon then -- weapon is specified as name
  3548. local weaponEnd = #args
  3549. repeat
  3550. weapon = getWeaponIDFromName(table.concat(args, " ", 1, weaponEnd))
  3551. weaponEnd = weaponEnd - 1
  3552. until weapon or weaponEnd == -1
  3553. if weaponEnd == -1 then
  3554. outputChatBox("Helytelen fegyver név.", thePlayer, 255, 0, 0)
  3555. return
  3556. elseif weaponEnd == #args - 1 then
  3557. ammo = 1
  3558. end
  3559. elseif not getWeaponNameFromID(weapon) then
  3560. outputChatBox("Helytelen fegyver ID.", thePlayer, 255, 0, 0)
  3561. end
  3562.  
  3563. local logged = getElementData(targetPlayer, "loggedin")
  3564. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  3565.  
  3566. if (logged==0) then
  3567. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3568. elseif (logged==1) then
  3569. exports.global:takeWeapon(targetPlayer, weapon)
  3570. local give = exports.global:giveWeapon(targetPlayer, weapon, ammo, true)
  3571.  
  3572. if not (give) then
  3573. outputChatBox("Helytelen fegyver ID.", thePlayer, 255, 0, 0)
  3574. else
  3575. outputChatBox("Játékos " .. targetPlayerName .. " kapott egy " .. getWeaponNameFromID(weapon) .. "-et " .. ammo .. " tölténnyel.", thePlayer, 0, 255, 0)
  3576. exports.logs:logMessage(getPlayerName(thePlayer):gsub("_", " ") .. " gave " .. targetPlayerName .. " a " .. getWeaponNameFromID(weapon) .. " with " .. ammo .. " Ammo.", 22)
  3577. if (hiddenAdmin==0) then
  3578. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  3579. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " adott " .. targetPlayerName .. "-ank egy " .. getWeaponNameFromID(weapon) .. "-et " .. ammo .. " tölténnyel.")
  3580. end
  3581. end
  3582. end
  3583. end
  3584. end
  3585. end
  3586. end
  3587. addCommandHandler("givegun", givePlayerGun, false, false)
  3588.  
  3589. -- /GIVEITEM
  3590. function givePlayerItem(thePlayer, commandName, targetPlayer, itemID, ...)
  3591. if (getElementData( thePlayer, "adminlevel" ) > 3) then
  3592. if (exports.global:isPlayerAdmin(thePlayer)) then
  3593. if not (itemID) or not (...) or not (targetPlayer) then
  3594. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Tárgy ID] [Tárgy értéke]", thePlayer, 255, 194, 14)
  3595. else
  3596. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3597.  
  3598. if targetPlayer then
  3599. local logged = getElementData(targetPlayer, "loggedin")
  3600.  
  3601. itemID = tonumber(itemID)
  3602. local itemValue = table.concat({...}, " ")
  3603. itemValue = tonumber(itemValue) or itemValue
  3604.  
  3605. if ( itemID == 74 or itemID == 75 or itemID == 78 ) and not exports.global:isPlayerScripter( thePlayer ) and not exports.global:isPlayerHeadAdmin( thePlayer) then
  3606. -- nuthin
  3607. elseif ( itemID == 84 ) and not exports.global:isPlayerLeadAdmin( thePlayer ) then
  3608. elseif (logged==0) then
  3609. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3610. elseif (logged==1) then
  3611. local name = call( getResourceFromName( "item-system" ), "getItemName", itemID )
  3612.  
  3613. if itemID > 0 and name and name ~= "?" then
  3614. local success, reason = exports.global:giveItem(targetPlayer, itemID, itemValue)
  3615. if success then
  3616. outputChatBox("Játékos " .. targetPlayerName .. " kapott egy " .. name .. "-t ezzel az értékkel " .. itemValue .. ".", thePlayer, 0, 255, 0)
  3617. exports.logs:logMessage(getPlayerName(thePlayer):gsub("_", " ") .. " gave " .. targetPlayerName .. " a " .. name .. " with value " .. itemValue, 13)
  3618.  
  3619. if itemID == 2 or itemID == 17 then
  3620. triggerClientEvent(targetPlayer, "updateHudClock", targetPlayer)
  3621. end
  3622. else
  3623. outputChatBox("Nem tudom odaadni " .. targetPlayerName .. "-nek a " .. name .. "-t: " .. tostring(reason), thePlayer, 255, 0, 0)
  3624. end
  3625. else
  3626. outputChatBox("Helytelen Tárgy ID.", thePlayer, 255, 0, 0)
  3627. end
  3628. end
  3629. end
  3630. end
  3631. end
  3632. end
  3633. end
  3634. addCommandHandler("giveitem", givePlayerItem, false, false)
  3635.  
  3636. -- /TAKEITEM
  3637. function takePlayerItem(thePlayer, commandName, targetPlayer, itemID, ...)
  3638. if (exports.global:isPlayerAdmin(thePlayer)) then
  3639. if not (itemID) or not (...) or not (targetPlayer) then
  3640. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Tárgy ID] [Tárgy értéke]", thePlayer, 255, 194, 14)
  3641. else
  3642. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3643.  
  3644. if targetPlayer then
  3645. local logged = getElementData(targetPlayer, "loggedin")
  3646.  
  3647. itemID = tonumber(itemID)
  3648. local itemValue = table.concat({...}, " ")
  3649. itemValue = tonumber(itemValue) or itemValue
  3650.  
  3651. if (logged==0) then
  3652. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3653. elseif (logged==1) then
  3654. if exports.global:hasItem(targetPlayer, itemID, itemValue) then
  3655. outputChatBox("Elvetted a " .. itemID .. "-t tõle: " .. targetPlayerName .. ".", thePlayer, 0, 255, 0)
  3656. exports.global:takeItem(targetPlayer, itemID, itemValue)
  3657.  
  3658. if itemID == 2 or itemID == 17 then
  3659. triggerClientEvent(targetPlayer, "updateHudClock", targetPlayer)
  3660. end
  3661. else
  3662. outputChatBox("A játékosnak nincs meg ez a tárgy!", thePlayer, 255, 0, 0)
  3663. end
  3664. end
  3665. end
  3666. end
  3667. end
  3668. end
  3669. addCommandHandler("takeitem", takePlayerItem, false, false)
  3670.  
  3671. -- /SETHP
  3672. function setPlayerHealth(thePlayer, commandName, targetPlayer, health)
  3673. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  3674. if (exports.global:isFoAdmin(thePlayer)) then
  3675. if not tonumber(health) or not (targetPlayer) then
  3676. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Élet]", thePlayer, 255, 194, 14)
  3677. else
  3678. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3679.  
  3680. if targetPlayer then
  3681. if tonumber( health ) < getElementHealth( targetPlayer ) and getElementData( thePlayer, "adminlevel" ) < getElementData( targetPlayer, "adminlevel" ) then
  3682. outputChatBox("Nah.", thePlayer, 255, 0, 0)
  3683. elseif not setElementHealth(targetPlayer, tonumber(health)) then
  3684. outputChatBox("Helytelen élet érték.", thePlayer, 255, 0, 0)
  3685. else
  3686. outputChatBox("Játékos " .. targetPlayerName .. " kapott " .. health .. " életet.", thePlayer, 0, 255, 0)
  3687. triggerEvent("onPlayerHeal", targetPlayer, true)
  3688. exports.logs:logMessage("[/SETHP] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." set ".. targetPlayerName .. " to " .. health , 4)
  3689. exports.global:sendMessageToAdmins("Játékos " .. targetPlayerName .. " kapott " .. health .. " életet ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  3690. end
  3691. end
  3692. end
  3693. end
  3694. end
  3695. end
  3696. addCommandHandler("sethp", setPlayerHealth, false, false)
  3697.  
  3698. -- /SETARMOR
  3699. function setPlayerArmour(thePlayer, commandName, targetPlayer, armor)
  3700. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  3701. if (exports.global:isFoAdmin(thePlayer)) then
  3702. if not (armor) or not (targetPlayer) then
  3703. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Armor]", thePlayer, 255, 194, 14)
  3704. else
  3705. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3706.  
  3707. if targetPlayer then
  3708. local logged = getElementData(targetPlayer, "loggedin")
  3709.  
  3710. if (logged==0) then
  3711. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3712. elseif (tostring(type(tonumber(armor))) == "number") then
  3713. local setArmor = setPedArmor(targetPlayer, tonumber(armor))
  3714. outputChatBox("Játékos " .. targetPlayerName .. " kapott " .. armor .. " páncélt.", thePlayer, 0, 255, 0)
  3715. exports.logs:logMessage("[/SETARMOR] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." set ".. targetPlayerName .. " his armor to " .. armor , 4)
  3716. exports.global:sendMessageToAdmins("Játékos " .. targetPlayerName .. " kapott " .. armor .. " páncélt ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  3717. else
  3718. outputChatBox("Helytelen páncél érték.", thePlayer, 255, 0, 0)
  3719. end
  3720. end
  3721. end
  3722. end
  3723. end
  3724. end
  3725. addCommandHandler("setarmor", setPlayerArmour, false, false)
  3726.  
  3727. -- /SETPLAYERSKIN
  3728. function setPlayerSkinCmd(thePlayer, commandName, targetPlayer, skinID)
  3729. if (exports.global:isFoAdmin(thePlayer)) then
  3730. if not (skinID) or not (targetPlayer) then
  3731. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Skin ID]", thePlayer, 255, 194, 14)
  3732. else
  3733. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3734.  
  3735. if targetPlayer then
  3736. local logged = getElementData(targetPlayer, "loggedin")
  3737.  
  3738. if (logged==0) then
  3739. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3740. elseif (tostring(type(tonumber(skinID))) == "number") then
  3741. local fat = getPedStat(targetPlayer, 21)
  3742. local muscle = getPedStat(targetPlayer, 23)
  3743.  
  3744. setPedStat(targetPlayer, 21, 0)
  3745. setPedStat(targetPlayer, 23, 0)
  3746. local skin = setElementModel(targetPlayer, tonumber(skinID))
  3747.  
  3748. setPedStat(targetPlayer, 21, fat)
  3749. setPedStat(targetPlayer, 23, muscle)
  3750. if not (skin) then
  3751. outputChatBox("Helytelen skin ID.", thePlayer, 255, 0, 0)
  3752. else
  3753. outputChatBox("Játékos " .. targetPlayerName .. " kinézete megváltoztatva erre: " .. skinID .. ".", thePlayer, 0, 255, 0)
  3754. mysql:query_free("UPDATE characters SET skin = " .. mysql:escape_string(skinID) .. " WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  3755. exports.logs:logMessage("[/SETSKIN] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." set ".. targetPlayerName .. " his skin to "..skinID , 4)
  3756. end
  3757. else
  3758. outputChatBox("Helytelen skin ID.", thePlayer, 255, 0, 0)
  3759. end
  3760. end
  3761. end
  3762. end
  3763. end
  3764. addCommandHandler("setskin", setPlayerSkinCmd, false, false)
  3765.  
  3766.  
  3767.  
  3768. function weatherall(thePlayer, commandName, IdoJaras)
  3769. if (exports.global:isPlayerAdmin(thePlayer)) then
  3770. if not (IdoJaras) then
  3771. outputChatBox("Példa: /" .. commandName .. " [Időjárás]", thePlayer, 255, 194, 14)
  3772. else
  3773. setWeather (IdoJaras)
  3774. end
  3775. end
  3776. end
  3777. addCommandHandler("weatherall", weatherall, false, false)
  3778.  
  3779. function setIdo(thePlayer, commandName, Ido)
  3780. if (exports.global:isPlayerAdmin(thePlayer)) then
  3781. if not (Ido) then
  3782. outputChatBox("Példa: /" .. commandName .. " [Óra]", thePlayer, 255, 194, 14)
  3783. else
  3784. setTime (Ido,0)
  3785. end
  3786. end
  3787. end
  3788. addCommandHandler("settime", setIdo, false, false)
  3789.  
  3790. -- /CHANGENAME
  3791. function asetPlayerName(thePlayer, commandName, targetPlayer, ...)
  3792. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  3793. if (exports.global:isPlayerAdmin(thePlayer)) then
  3794. if not (...) or not (targetPlayer) then
  3795. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet] [Játékos új neve]", thePlayer, 255, 194, 14)
  3796. else
  3797. local newName = table.concat({...}, "_")
  3798. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3799.  
  3800. if targetPlayer then
  3801. if newName == targetPlayerName then
  3802. outputChatBox( "A játékos már ezt a nevet viseli.", thePlayer, 255, 0, 0)
  3803. else
  3804. local dbid = getElementData(targetPlayer, "dbid")
  3805. local result = mysql:query("SELECT charactername FROM characters WHERE charactername='" .. mysql:escape_string(newName) .. "' AND id != " .. mysql:escape_string(dbid))
  3806.  
  3807. if (mysql:num_rows(result)>0) then
  3808. outputChatBox("Ez a név már használatban.", thePlayer, 255, 0, 0)
  3809. else
  3810. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "legitnamechange", 1)
  3811. local name = setPlayerName(targetPlayer, tostring(newName))
  3812.  
  3813. if (name) then
  3814. if getPlayerNametagText(targetPlayer) ~= "Unknown Person" then
  3815. setPlayerNametagText(targetPlayer, tostring(newName):gsub("_", " "))
  3816. end
  3817. exports['cache']:clearCharacterName( dbid )
  3818. mysql:query_free("UPDATE characters SET charactername='" .. mysql:escape_string(newName) .. "' WHERE id = " .. mysql:escape_string(dbid))
  3819. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  3820.  
  3821. if (hiddenAdmin==0) then
  3822. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  3823. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " megváltoztatta " .. targetPlayerName .. " nevét erre: " .. newName .. ".")
  3824. end
  3825. outputChatBox("Megváltoztattad " .. targetPlayerName .. " nevét erre: " .. tostring(newName) .. ".", thePlayer, 0, 255, 0)
  3826. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "legitnamechange", 0)
  3827.  
  3828. exports.logs:logMessage("[/CHANGENAME] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." changed ".. targetPlayerName .. " TO ".. tostring(newName) , 4)
  3829. triggerClientEvent(targetPlayer, "updateName", targetPlayer, getElementData(targetPlayer, "dbid"))
  3830. else
  3831. outputChatBox("Játékosnak nem sikerült megváltoztatni a nevét.", thePlayer, 255, 0, 0)
  3832. end
  3833. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "legitnamechange", 0)
  3834. end
  3835. mysql:free_result(result)
  3836. end
  3837. end
  3838. end
  3839. end
  3840. end
  3841. end
  3842. addCommandHandler("changename", asetPlayerName, false, false)
  3843.  
  3844. -- /HIDEADMIN
  3845. function hideAdmin(thePlayer, commandName)
  3846. if exports.global:isHarmasAdmin(thePlayer) then
  3847. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  3848.  
  3849. if (hiddenAdmin==0) then
  3850. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "hiddenadmin", 1)
  3851. outputChatBox("Rejtett admin szolgálatba léptél.", thePlayer, 255, 194, 14)
  3852. elseif (hiddenAdmin==1) then
  3853. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "hiddenadmin", 0)
  3854. outputChatBox("Kiléptél rejtett admin szolgálatból.", thePlayer, 255, 194, 14)
  3855. end
  3856. exports.global:updateNametagColor(thePlayer)
  3857. mysql:query_free("UPDATE accounts SET hiddenadmin=" .. mysql:escape_string(getElementData(thePlayer, "hiddenadmin")) .. " WHERE id = " .. mysql:escape_string(getElementData(thePlayer, "gameaccountid")) )
  3858. end
  3859. end
  3860. addCommandHandler("hideadmin", hideAdmin, false, false)
  3861.  
  3862. -- /SLAP
  3863. function slapPlayer(thePlayer, commandName, targetPlayer)
  3864. if (exports.global:isKettesAdmin(thePlayer)) then
  3865. if not (targetPlayer) then
  3866. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3867. else
  3868. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3869.  
  3870. if targetPlayer then
  3871. local thePlayerPower = exports.global:getPlayerAdminLevel(thePlayer)
  3872. local targetPlayerPower = exports.global:getPlayerAdminLevel(targetPlayer)
  3873. local logged = getElementData(targetPlayer, "loggedin")
  3874.  
  3875. if (logged==0) then
  3876. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3877. elseif (targetPlayerPower > thePlayerPower) then -- Check the admin isn't slapping someone higher rank them him
  3878. outputChatBox("Nem tudod felpofozni ezt a játékost! Magosabb az Admin rangja mint a tied.", thePlayer, 255, 0, 0)
  3879. else
  3880. local x, y, z = getElementPosition(targetPlayer)
  3881.  
  3882. if (isPedInVehicle(targetPlayer)) then
  3883. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  3884. removePedFromVehicle(targetPlayer)
  3885. end
  3886.  
  3887. setElementPosition(targetPlayer, x, y, z+15)
  3888. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  3889.  
  3890. if (hiddenAdmin==0) then
  3891. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  3892. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " felpofozta " .. targetPlayerName .. ".")
  3893. exports.logs:logMessage("[/SLAP] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." slapped ".. targetPlayerName , 4)
  3894. triggerEvent("removeTintName", targetPlayer)
  3895. end
  3896. end
  3897. end
  3898. end
  3899. end
  3900. end
  3901. addCommandHandler("slap", slapPlayer, false, false)
  3902.  
  3903. -- /HUGESLAP
  3904. function hugeSlapPlayer(thePlayer, commandName, targetPlayer)
  3905. if (exports.global:isHarmasAdmin(thePlayer)) then
  3906. if not (targetPlayer) then
  3907. outputChatBox("Példa: /" .. commandName .. " [ID / NévRészlet]", thePlayer, 255, 194, 14)
  3908. else
  3909. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3910.  
  3911. if targetPlayer then
  3912. local thePlayerPower = exports.global:getPlayerAdminLevel(thePlayer)
  3913. local targetPlayerPower = exports.global:getPlayerAdminLevel(targetPlayer)
  3914. local logged = getElementData(targetPlayer, "loggedin")
  3915.  
  3916. if (logged==0) then
  3917. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  3918. elseif (targetPlayerPower > thePlayerPower) then -- Check the admin isn't slapping someone higher rank them him
  3919. outputChatBox("Nem tudod felpofozni ezt a játékost! Magosabb az Admin rangja mint a tied.", thePlayer, 255, 0, 0)
  3920. else
  3921. local x, y, z = getElementPosition(targetPlayer)
  3922.  
  3923. if (isPedInVehicle(targetPlayer)) then
  3924. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  3925. removePedFromVehicle(targetPlayer)
  3926. end
  3927.  
  3928. setElementPosition(targetPlayer, x, y, z+50)
  3929. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  3930.  
  3931. if (hiddenAdmin==0) then
  3932. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  3933. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " hatalmas pofont adott neki: " .. targetPlayerName .. ".")
  3934. exports.logs:logMessage("[/HUGESLAP] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." slapped ".. targetPlayerName , 4)
  3935. triggerEvent("removeTintName", targetPlayer)
  3936. end
  3937. end
  3938. end
  3939. end
  3940. end
  3941. end
  3942. addCommandHandler("hugeslap", hugeSlapPlayer, false, false)
  3943.  
  3944. -- HEADS Hidden OOC
  3945. function hiddenOOC(thePlayer, commandName, ...)
  3946. local logged = getElementData(thePlayer, "loggedin")
  3947.  
  3948. if (exports.global:isPlayerHeadAdmin(thePlayer)) then
  3949. if not (...) then
  3950. outputChatBox("Példa: /" .. commandName .. " [Message]", thePlayer, 255, 194, 14)
  3951. else
  3952. local players = exports.pool:getPoolElementsByType("player")
  3953. local message = table.concat({...}, " ")
  3954.  
  3955. for index, arrayPlayer in ipairs(players) do
  3956. local logged = getElementData(arrayPlayer, "loggedin")
  3957.  
  3958. if (logged==1) and getElementData(arrayPlayer, "globalooc") == 1 then
  3959. outputChatBox("(( Rejtett Admin: " .. message .. " ))", arrayPlayer, 255, 255, 255)
  3960. end
  3961. end
  3962. end
  3963. end
  3964. end
  3965. addCommandHandler("ho", hiddenOOC, false, false)
  3966.  
  3967. -- RECON
  3968. function reconPlayer(thePlayer, commandName, targetPlayer)
  3969. if (exports.global:isPlayerAdmin(thePlayer)) then
  3970. if not (targetPlayer) then
  3971. local rx = getElementData(thePlayer, "reconx")
  3972. local ry = getElementData(thePlayer, "recony")
  3973. local rz = getElementData(thePlayer, "reconz")
  3974. local reconrot = getElementData(thePlayer, "reconrot")
  3975. local recondimension = getElementData(thePlayer, "recondimension")
  3976. local reconinterior = getElementData(thePlayer, "reconinterior")
  3977.  
  3978. if not (rx) or not (ry) or not (rz) or not (reconrot) or not (recondimension) or not (reconinterior) then
  3979. outputChatBox("Példa: /" .. commandName .. " [Névrészlet]", thePlayer, 255, 194, 14)
  3980. else
  3981. detachElements(thePlayer)
  3982.  
  3983. setElementPosition(thePlayer, rx, ry, rz)
  3984. setPedRotation(thePlayer, reconrot)
  3985. setElementDimension(thePlayer, recondimension)
  3986. setElementInterior(thePlayer, reconinterior)
  3987. setCameraInterior(thePlayer, reconinterior)
  3988.  
  3989. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", nil)
  3990. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recony", nil, false)
  3991. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconz", nil, false)
  3992. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconrot", nil, false)
  3993. setCameraTarget(thePlayer, thePlayer)
  3994. setElementAlpha(thePlayer, 255)
  3995. outputChatBox("Recon kikapcsolva.", thePlayer, 255, 194, 14)
  3996. end
  3997. else
  3998. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  3999.  
  4000. if targetPlayer then
  4001. local logged = getElementData(targetPlayer, "loggedin")
  4002.  
  4003. if (logged==0) then
  4004. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  4005. else
  4006. setElementAlpha(thePlayer, 0)
  4007.  
  4008. if ( not getElementData(thePlayer, "reconx") or getElementData(thePlayer, "reconx") == true ) and not getElementData(thePlayer, "recony") then
  4009. local x, y, z = getElementPosition(thePlayer)
  4010. local rot = getPedRotation(thePlayer)
  4011. local dimension = getElementDimension(thePlayer)
  4012. local interior = getElementInterior(thePlayer)
  4013. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", x)
  4014. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recony", y, false)
  4015. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconz", z, false)
  4016. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconrot", rot, false)
  4017. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recondimension", dimension, false)
  4018. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconinterior", interior, false)
  4019. end
  4020. setPedWeaponSlot(thePlayer, 0)
  4021.  
  4022. local playerdimension = getElementDimension(targetPlayer)
  4023. local playerinterior = getElementInterior(targetPlayer)
  4024.  
  4025. setElementDimension(thePlayer, playerdimension)
  4026. setElementInterior(thePlayer, playerinterior)
  4027. setCameraInterior(thePlayer, playerinterior)
  4028.  
  4029. local x, y, z = getElementPosition(targetPlayer)
  4030. setElementPosition(thePlayer, x - 10, y - 10, z - 5)
  4031. local success = attachElements(thePlayer, targetPlayer, -10, -10, -5)
  4032. if not (success) then
  4033. success = attachElements(thePlayer, targetPlayer, -5, -5, -5)
  4034. if not (success) then
  4035. success = attachElements(thePlayer, targetPlayer, 5, 5, -5)
  4036. end
  4037. end
  4038.  
  4039. if not (success) then
  4040. outputChatBox("Nem sikerült kapcsolódni a játékoshoz.", thePlayer, 0, 255, 0)
  4041. else
  4042. setCameraTarget(thePlayer, targetPlayer)
  4043. outputChatBox("Admin TV: Most " .. targetPlayerName .. "-t figyeled.", thePlayer, 0, 255, 0)
  4044.  
  4045. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  4046.  
  4047. if hiddenAdmin == 0 then
  4048. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4049. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " Admin TV-zi " .. targetPlayerName .. "-t.")
  4050. end
  4051. end
  4052. end
  4053. end
  4054. end
  4055. end
  4056. end
  4057. addCommandHandler("recon", reconPlayer, false, false)
  4058.  
  4059. function fuckRecon(thePlayer, commandName, targetPlayer)
  4060. if (exports.global:isPlayerAdmin(thePlayer)) then
  4061. local rx = getElementData(thePlayer, "reconx")
  4062. local ry = getElementData(thePlayer, "recony")
  4063. local rz = getElementData(thePlayer, "reconz")
  4064. local reconrot = getElementData(thePlayer, "reconrot")
  4065. local recondimension = getElementData(thePlayer, "recondimension")
  4066. local reconinterior = getElementData(thePlayer, "reconinterior")
  4067.  
  4068. detachElements(thePlayer)
  4069. setCameraTarget(thePlayer, thePlayer)
  4070. setElementAlpha(thePlayer, 255)
  4071.  
  4072. if rx and ry and rz then
  4073. setElementPosition(thePlayer, rx, ry, rz)
  4074. if reconrot then
  4075. setPedRotation(thePlayer, reconrot)
  4076. end
  4077.  
  4078. if recondimension then
  4079. setElementDimension(thePlayer, recondimension)
  4080. end
  4081.  
  4082. if reconinterior then
  4083. setElementInterior(thePlayer, reconinterior)
  4084. setCameraInterior(thePlayer, reconinterior)
  4085. end
  4086. end
  4087.  
  4088. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx")
  4089. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "recony")
  4090. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconz")
  4091. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconrot")
  4092. outputChatBox("Admin TV kikapcsolva.", thePlayer, 255, 194, 14)
  4093. end
  4094. end
  4095. addCommandHandler("fuckrecon", fuckRecon, false, false)
  4096. addCommandHandler("stoprecon", fuckRecon, false, false)
  4097.  
  4098. --pm
  4099. function PMNeki(thePlayer, commandName, targetPlayer, ...)
  4100. if not (targetPlayer) or not (...) then
  4101. outputChatBox("Példa: /" .. commandName .. " [Névrészlet] [szöveg]", thePlayer, 255, 194, 14)
  4102. else
  4103. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  4104.  
  4105. if targetPlayer then
  4106. local blokkolva = getElementData(targetPlayer, "pmblocked")
  4107. if not(blokkolva == 1) then
  4108. szoveg = table.concat({...}, " ")
  4109. if (exports.global:isPlayerAdmin(targetPlayer) == true and getElementData(targetPlayer, "adminduty") == 1) or (exports.global:isPlayerAdmin(thePlayer)) then
  4110. local rejtettadmin = getElementData(thePlayer, "hiddenadmin")
  4111. local playerName = getPlayerName(thePlayer)
  4112. local targetName = getPlayerName(targetPlayer)
  4113. local idje = tonumber(getElementData(thePlayer, "playerid"))
  4114. -- local idje2 = tonumber(getElementData(targetPlayer, "playerid"))
  4115. outputChatBox("[PM neked, Admin IDje: "..idje.."] " .. playerName .. ": " .. szoveg, targetPlayer, 154, 205, 50)
  4116. outputChatBox("[PM tőled] " .. targetName .. ": " .. szoveg, thePlayer, 154, 205, 50)
  4117. else
  4118. outputChatBox("(( Csak szolgálatban levő adminnak írhatsz PM-et! ))", thePlayer, 255, 0, 0)
  4119. end
  4120. else
  4121. outputChatBox("(( Ez az adminisztrátor letiltotta a PM-eket! ))", thePlayer, 255, 0, 0)
  4122. end
  4123. end
  4124. end
  4125. end
  4126. addCommandHandler("pm", PMNeki, false, false)
  4127.  
  4128. --vá
  4129. function ValaszNeki(thePlayer, commandName, targetPlayer, ...)
  4130. if (exports.global:isPlayerAdmin(thePlayer)) then
  4131. if not (targetPlayer) or not (...) then
  4132. outputChatBox("Példa: /" .. commandName .. " [Névrészlet] [szöveg]", thePlayer, 255, 194, 14)
  4133. else
  4134. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  4135.  
  4136. if targetPlayer then
  4137. szoveg = table.concat({...}, " ")
  4138.  
  4139. if (exports.global:isPlayerAdmin(targetPlayer) ~= true) then
  4140. local rejtettadmin = getElementData(thePlayer, "hiddenadmin")
  4141. local playerName = getPlayerName(thePlayer)
  4142.  
  4143. if (rejtettadmin==0) then
  4144. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4145. --outputChatBox("Válaszod neki: " .. targetPlayerName .. ": " .. szoveg, thePlayer, 255, 255, 0)
  4146. outputChatBox(adminTitle .. playerName .. ": " .. szoveg, targetPlayer, 154, 205, 50)
  4147. else
  4148. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4149. --outputChatBox("Válaszod neki: " .. targetPlayerName .. ": " .. szoveg, thePlayer, 255, 255, 0)
  4150. outputChatBox(adminTitle .. ": " .. szoveg, targetPlayer, 154, 205, 50)
  4151. end
  4152. exports.global:sendMessageToAdmins(playerName .. " válaszolt neki: " .. targetPlayerName, 255, 255, 0)
  4153. exports.global:sendMessageToAdmins("Szöveg: " .. szoveg, 255, 255, 0)
  4154. -- outputChatBox("[".. targetPlayerName .."] válaszod: ".. szoveg, thePlayer, 255, 255, 0)
  4155. else
  4156. outputChatBox("(( Másik adminnak nem tudsz válaszolni. ))", thePlayer, 255, 0, 0)
  4157. end
  4158. end
  4159. end
  4160. end
  4161. end
  4162. addCommandHandler("vá", ValaszNeki, false, false)
  4163. addCommandHandler("válasz", ValaszNeki, false, false)
  4164.  
  4165. function jatekoskirugas(thePlayer, commandName, targetPlayer, ...)
  4166. if (exports.global:isPlayerAdmin(thePlayer)) then
  4167. if not (targetPlayer) or not (...) then
  4168. outputChatBox("Példa: /" .. commandName .. " [ID / Névrészlet] [indok]", thePlayer, 255, 194, 14)
  4169. else
  4170. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  4171.  
  4172. if targetPlayer then
  4173. szoveg = table.concat({...}, " ")
  4174.  
  4175. local playerName = getPlayerName(thePlayer)
  4176.  
  4177. outputChatBox("Kick: " .. playerName .. " kickelte " .. targetPlayerName .. "-t.", getRootElement(), 255, 0, 51)
  4178. outputChatBox("Kick: Indok: " .. szoveg .. ".", getRootElement(), 255, 0, 51)
  4179.  
  4180. kickPlayer(targetPlayer, thePlayer, szoveg)
  4181. exports.logs:logMessage("[/KICK] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." kicked ".. targetPlayerName .." (".. reason ..")" , 4)
  4182. end
  4183. end
  4184. end
  4185. end
  4186. addCommandHandler("pkick", jatekoskirugas, false, false)
  4187. addCommandHandler("kick", jatekoskirugas, false, false)
  4188.  
  4189. -- BAN
  4190. function banAPlayer(thePlayer, commandName, targetPlayer, hours, ...)
  4191. if (exports.global:isPlayerAdmin(thePlayer)) then
  4192. if not (targetPlayer) or not (hours) or (tonumber(hours)<0) or not (...) then
  4193. outputChatBox("Példa: /" .. commandName .. " [NÉV / ID] [Óraszám, 0 = örök] [oka]", thePlayer, 255, 194, 14)
  4194. else
  4195. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  4196. hours = tonumber(hours)
  4197.  
  4198. if not (targetPlayer) then
  4199. elseif (hours>168) then
  4200. outputChatBox("Max 7 nap. (168 óra).", thePlayer, 255, 194, 14)
  4201. else
  4202. local thePlayerPower = exports.global:getPlayerAdminLevel(thePlayer)
  4203. local targetPlayerPower = exports.global:getPlayerAdminLevel(targetPlayer)
  4204. reason = table.concat({...}, " ")
  4205.  
  4206. if (targetPlayerPower <= thePlayerPower) then -- Check the admin isn't banning someone higher rank them him
  4207. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  4208. local playerName = getPlayerName(thePlayer)
  4209. local accountID = getElementData(targetPlayer, "gameaccountid")
  4210.  
  4211. local seconds = ((hours*60)*60)
  4212. local rhours = hours
  4213. -- text value
  4214. if (hours==0) then
  4215. hours = "Örök"
  4216. elseif (hours==1) then
  4217. hours = "1 óra"
  4218. else
  4219. hours = hours .. " óra"
  4220. end
  4221.  
  4222. reason = reason .. " (" .. hours .. ")"
  4223.  
  4224. mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',2,' .. mysql:escape_string(rhours) .. ',"' .. mysql:escape_string(reason) .. '")' )
  4225. -- if (hiddenAdmin==0) then
  4226. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4227. -- exports.global:sendMessageToAdmins("AdmBan: " .. adminTitle .. " " .. playerName .. " kitiltotta " .. targetPlayerName .. ". (" .. hours .. ")")
  4228. -- exports.global:sendMessageToAdmins("AdmBan: Oka: " .. reason .. ".")
  4229. outputChatBox("AdmBan: " .. adminTitle .. " " .. playerName .. " kitiltotta " .. targetPlayerName .. ". (" .. hours .. ")", getRootElement(), 255, 0, 51)
  4230. outputChatBox("AdmBan: Oka: " .. reason .. ".", getRootElement(), 255, 0, 51)
  4231.  
  4232. local ban = banPlayer(targetPlayer,false, false,true, thePlayer, reason, seconds)
  4233.  
  4234. mysql:query_free("UPDATE accounts SET banned='1', banned_reason='" .. mysql:escape_string(reason) .. "', banned_by='" .. mysql:escape_string(playerName) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4235. -- elseif (hiddenAdmin==1) then
  4236. outputChatBox("AdmBan: Rejtett Admin kitiltotta " .. targetPlayerName .. ". (" .. hours .. ")", getRootElement(), 255, 0, 51)
  4237. outputChatBox("AdmBan: Oka: " .. reason, getRootElement(), 255, 0, 51)
  4238. outputChatBox("AdmBan: Idő: " .. hours .. ".", getRootElement(), 255, 0, 51)
  4239.  
  4240. -- local ban = banPlayer(targetPlayer,false, false,true, getRootElement(), reason, seconds)
  4241.  
  4242. -- mysql:query_free("UPDATE accounts SET banned='1', banned_reason='" .. mysql:escape_string(reason) .. "', banned_by='" .. mysql:escape_string(playerName) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4243. -- end
  4244. else
  4245. local playerName = getPlayerName(thePlayer)
  4246. outputChatBox(" Nem bannolhatsz nagyobb admin. (értesítve)", thePlayer, 255, 0, 0)
  4247. outputChatBox(playerName .. " ki akart bannolni.", targetPlayer, 255, 0 ,0)
  4248. end
  4249. end
  4250. end
  4251. end
  4252. end
  4253. addCommandHandler("pban", banAPlayer, false, false)
  4254. addCommandHandler("ban", banAPlayer, false, false)
  4255.  
  4256. function unbanAccount(theBan)
  4257. local ip = getBanIP(theBan)
  4258. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. ip .. "'")
  4259. end
  4260. addEventHandler("onUnban", getRootElement(), unbanAccount)
  4261.  
  4262. function remoteUnban(thePlayer, targetNick)
  4263. local bans = getBans()
  4264. local found = false
  4265.  
  4266. local result1 = mysql:query("SELECT id, ip, banned FROM accounts WHERE username='" .. mysql:escape_string(tostring(targetNick)) .. "' LIMIT 1")
  4267.  
  4268. if (result1) then
  4269. if (mysql:num_rows(result1)>0) then
  4270. local row = mysql:fetch_assoc(result1)
  4271.  
  4272. local accountid = tonumber(row["id"])
  4273. local ip = tostring(row["ip"])
  4274. local banned = tonumber(row["banned"])
  4275. mysql:free_result(result1)
  4276. local bans = getBans()
  4277.  
  4278. for key, value in ipairs(bans) do
  4279. if (ip==getBanIP(value)) then
  4280. exports.global:sendMessageToAdmins(tostring(targetNick) .. " unbannolva " .. thePlayer .. " által.")
  4281. removeBan(value)
  4282. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. mysql:escape_string(ip) .. "'")
  4283. outputChatBox("Unbannolva.", thePlayer, 255, 0, 0)
  4284. found = true
  4285. break
  4286. end
  4287. end
  4288.  
  4289. if not found and banned == 1 then
  4290. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE id='" .. mysql:escape_string(id) .. "'")
  4291. outputChatBox("Unbannolva.", thePlayer, 255, 0, 0)
  4292. return true
  4293. end
  4294. end
  4295. end
  4296. outputChatBox("Hiba.", thePlayer, 255, 0, 0)
  4297. return found
  4298. end
  4299. addCommandHandler("runban", remoteUnban, false, false)
  4300.  
  4301. -- /UNBAN
  4302. function unbanPlayer(thePlayer, commandName, nickName)
  4303. if (exports.global:isRpSeged(thePlayer)) then
  4304. if not (nickName) then
  4305. outputChatBox("Példa: /" .. commandName .. " [Teljes név]", thePlayer, 255, 194, 14)
  4306. else
  4307. local bans = getBans()
  4308. local found = false
  4309.  
  4310. local result1 = mysql:query("SELECT account FROM characters WHERE charactername='" .. mysql:escape_string(tostring(nickName)) .. "' LIMIT 1")
  4311.  
  4312. if (result1 and mysql:num_rows(result1)>0) then
  4313. local row = mysql:fetch_assoc(result1)
  4314. local accountid = tonumber(row["account"])
  4315. mysql:free_result(result1)
  4316.  
  4317. local result = mysql:query("SELECT mtaserial, banned FROM accounts WHERE id='" .. mysql:escape_string(accountid) .. "'")
  4318.  
  4319. if (result) then
  4320. if (mysql:num_rows(result)>0) then
  4321. local row = mysql:fetch_assoc(result)
  4322. local serial = tostring(row["mtaserial"])
  4323. local banned = tonumber(row["banned"])
  4324.  
  4325. for key, value in ipairs(bans) do
  4326. if (serial==getBanSerial(value)) then
  4327. outputChatBox(tostring(nickName) .. " unbannolva " .. getPlayerName(thePlayer) .. " által.",thePlayer,50,255,50)
  4328. removeBan(value, thePlayer)
  4329. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE mtaserial='" .. mysql:escape_string(serial) .. "'")
  4330. found = true
  4331. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  4332. break
  4333. end
  4334. end
  4335.  
  4336. if not found and banned == 1 then
  4337. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE id='" .. mysql:escape_string(accountid) .. "'")
  4338. found = true
  4339. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  4340. end
  4341.  
  4342. if not (found) then
  4343. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4344. end
  4345. else
  4346. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4347. end
  4348. else
  4349. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4350. end
  4351. mysql:free_result(result)
  4352. else
  4353. local result2 = mysql:query("SELECT id FROM accounts WHERE username='" .. mysql:escape_string(tostring(nickName)) .. "' LIMIT 1")
  4354.  
  4355. if (mysql:num_rows(result2)>0) then
  4356. local row = mysql:fetch_assoc(result2)
  4357. local accountid = tonumber(row["id"])
  4358. mysql:free_result(result2)
  4359.  
  4360.  
  4361. local result = mysql:query("SELECT mtaserial, banned FROM accounts WHERE id='" .. mysql:escape_string(accountid) .. "'")
  4362.  
  4363. if (result) then
  4364. if (mysql:num_rows(result)>0) then
  4365. local row = mysql:fetch_assoc(result)
  4366. local serial = tostring(row["mtaserial"])
  4367. local banned = tonumber(row["banned"])
  4368.  
  4369. for key, value in ipairs(bans) do
  4370. if (serial==getBanSerial(value)) then
  4371. outputChatBox(tostring(nickName) .. " tiltás feloldva " .. getPlayerName(thePlayer) .. " által.",thePlayer,50,255,50)
  4372. removeBan(value, thePlayer)
  4373. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE mtaserial='" .. mysql:escape_string(serial) .. "'")
  4374. found = true
  4375. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  4376. break
  4377. end
  4378. end
  4379.  
  4380. if not found and banned == 1 then
  4381. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE id='" .. mysql:escape_string(accountid) .. "'")
  4382. found = true
  4383. outputChatBox("Unbanolva: '" .. nickName .. "'", thePlayer, 0, 255, 0)
  4384. end
  4385.  
  4386. if not (found) then
  4387. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4388. end
  4389. else
  4390. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4391. end
  4392. else
  4393. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4394. end
  4395. mysql:free_result(result)
  4396. else
  4397. outputChatBox("Nincs találat '" .. nickName .. "'", thePlayer, 255, 0, 0)
  4398. end
  4399. end
  4400. mysql:free_result(result1)
  4401. end
  4402. end
  4403. end
  4404. addCommandHandler("unban", unbanPlayer, false, false)
  4405.  
  4406. -- /OBAN
  4407. function oban(thePlayer, commandName, neve, ido, ...)
  4408. if (exports.global:isPlayerAdmin(thePlayer)) then
  4409. if not (neve) or not (ido) or not (...) then
  4410. outputChatBox("Példa: /" .. commandName .. " [Teljes név] [Óraszám, 0=örök] [oka]", thePlayer, 255, 194, 14)
  4411. else
  4412. oka = table.concat({...}, " ")
  4413.  
  4414. ora = ((ido*60)*60)
  4415.  
  4416. if (ora==0) then
  4417. ido = "Örök"
  4418. ora = 99999999
  4419. elseif (ido==1) then
  4420. ido = "1 óra"
  4421. else
  4422. ido = ido .. " óra"
  4423. end
  4424.  
  4425. local lekerdezes = mysql:query("SELECT account FROM characters WHERE charactername='" .. mysql:escape_string(tostring(neve)) .. "' LIMIT 1")
  4426. if (lekerdezes and mysql:num_rows(lekerdezes)>0) then
  4427. local row = mysql:fetch_assoc(lekerdezes)
  4428. local accountid = tonumber(row["account"])
  4429. mysql:free_result(lekerdezes)
  4430.  
  4431. local result = mysql:query("SELECT mtaserial, banned, ip, id FROM accounts WHERE id='" .. mysql:escape_string(accountid) .. "'")
  4432. if (result and mysql:num_rows(result)>0) then
  4433. local row = mysql:fetch_assoc(result)
  4434. local ip = tostring(row["ip"])
  4435. local mtaserial = tostring(row["mtaserial"])
  4436. local id = tonumber(row["id"])
  4437.  
  4438. addBan ( ip, false, mtaserial, thePlayer, tostring(oka), ora )
  4439.  
  4440. mysql:query_free("UPDATE accounts SET banned = 1, banned_by = '"..getPlayerName(thePlayer).."' WHERE id = '" .. mysql:escape_string(id) .. "'")
  4441.  
  4442. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4443. -- exports.global:sendMessageToAdmins("OfflineBan: " .. adminTitle .. " " .. getPlayerName(thePlayer) .. " kitiltotta " .. neve .. ". (" .. ido .. ")")
  4444. -- exports.global:sendMessageToAdmins("OfflineBan: Oka: " .. tostring(oka) .. ".")
  4445.  
  4446. outputChatBox("OfflineBan: " .. adminTitle .. " " .. getPlayerName(thePlayer) .. " kitiltotta " .. neve .. ". (" .. ido .. ")", getRootElement(), 255, 0, 51)
  4447. outputChatBox("OfflineBan: Oka: " .. tostring(oka) .. ".", getRootElement(), 255, 0, 51)
  4448.  
  4449. mysql:free_result(result)
  4450. end
  4451. else
  4452. outputChatBox("Nincs találat '" .. neve .. "'", thePlayer, 255, 0, 0)
  4453. end
  4454. end
  4455. end
  4456. end
  4457. addCommandHandler("oban", oban, false, false)
  4458.  
  4459. -- /UNBANIP
  4460. function unbanPlayerIP(thePlayer, commandName, ip)
  4461. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  4462. if (exports.global:isPlayerAdmin(thePlayer)) then
  4463. if not (ip) then
  4464. outputChatBox("Példa: /" .. commandName .. " [IP]", thePlayer, 255, 194, 14)
  4465. else
  4466. ip = mysql:escape_string(ip)
  4467. local bans = getBans()
  4468. local found = false
  4469.  
  4470. for key, value in ipairs(bans) do
  4471. if (ip==getBanIP(value)) then
  4472. exports.global:sendMessageToAdmins(tostring(ip) .. " unbannolta " .. getPlayerName(thePlayer) .. ".")
  4473. removeBan(value, thePlayer)
  4474. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. mysql:escape_string(ip) .. "'")
  4475. found = true
  4476. break
  4477. end
  4478. end
  4479.  
  4480. local query = mysql:query_fetch_assoc("SELECT COUNT(*) as number FROM accounts WHERE ip = '" .. mysql:escape_string(ip) .. "' AND banned = 1")
  4481. if tonumber(query["number"]) > 0 then
  4482. mysql:query_free("UPDATE accounts SET banned='0', banned_by=NULL WHERE ip='" .. mysql:escape_string(ip) .. "'")
  4483. end
  4484.  
  4485. if not (found) then
  4486. outputChatBox("Nem találtam BAN-t erre a névre: '" .. ip .. "'", thePlayer, 255, 0, 0)
  4487. end
  4488. end
  4489. end
  4490. end
  4491. end
  4492. addCommandHandler("unbanip", unbanPlayerIP, false, false)
  4493.  
  4494. local teleportLocations = {
  4495. -- x y z int dim rot
  4496. ls = { 1520.0029296875, -1701.2425537109, 13.546875, 0, 0, 275 },
  4497. sf = { -1689.0689697266, -536.7919921875, 18.854997, 0, 0, 252 },
  4498. lv = { 1691.6801757813, 1449.1293945313, 12.765375, 0, 0, 268 },
  4499. pc = { 2253.66796875, -85.0478515625, 28.086093, 0, 0, 180 },
  4500. bank = { 593.32421875, -1245.466796875, 18.083688, 0, 0, 198 },
  4501. cityhall = {1484.369140625, -1763.861328125, 18.795755, 0, 0, 180 },
  4502. vh = {1484.369140625, -1763.861328125, 18.795755, 0, 0, 180 },
  4503. igs = { 1970.248046875, -1778.4609375, 13.546875, 0, 0, 90 },
  4504. btr = { 2729.5419921875, -1457.904296875, 30.453125, 0, 0, 250 },
  4505. ash = { 1212.8564453125, -1327.5771484375, 13.567770, 0, 0, 90 }
  4506. }
  4507.  
  4508. function teleportToPresetPoint(thePlayer, commandName, target)
  4509. if (exports.global:isHarmasAdmin(thePlayer)) then
  4510. if not (target) then
  4511. outputChatBox("Példa: /" .. commandName .. " [Hely]", thePlayer, 255, 194, 14)
  4512. else
  4513. local target = string.lower(tostring(target))
  4514. if (teleportLocations[target] ~= nil) then
  4515. if (isPedInVehicle(thePlayer)) then
  4516. local veh = getPedOccupiedVehicle(thePlayer)
  4517. setVehicleTurnVelocity(veh, 0, 0, 0)
  4518. setElementPosition(veh, teleportLocations[target][1], teleportLocations[target][2], teleportLocations[target][3])
  4519. setVehicleRotation(veh, 0, 0, teleportLocations[target][6])
  4520. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  4521.  
  4522. setElementDimension(veh, teleportLocations[target][5])
  4523. setElementInterior(veh, teleportLocations[target][4])
  4524.  
  4525. setElementDimension(thePlayer, teleportLocations[target][5])
  4526. setElementInterior(thePlayer, teleportLocations[target][4])
  4527. setCameraInterior(thePlayer, teleportLocations[target][4])
  4528. else
  4529. setElementPosition(thePlayer, teleportLocations[target][1], teleportLocations[target][2], teleportLocations[target][3])
  4530. setPedRotation(thePlayer, teleportLocations[target][6])
  4531. setElementDimension(thePlayer, teleportLocations[target][5])
  4532. setCameraInterior(thePlayer, teleportLocations[target][4])
  4533. setElementInterior(thePlayer, teleportLocations[target][4])
  4534. end
  4535. else
  4536. outputChatBox("Ismeretlen hely!", thePlayer, 255, 0, 0)
  4537. end
  4538. end
  4539. end
  4540. end
  4541. addCommandHandler("tele", teleportToPresetPoint, false, false)
  4542. addCommandHandler("teleport", teleportToPresetPoint, false, false)
  4543.  
  4544. function makePlayerAdmin(thePlayer, commandName, who, rank)
  4545. if (exports.global:isSuperAdmin(thePlayer)) then
  4546. if not (who) then
  4547. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet] [Rang]", thePlayer, 255, 194, 14)
  4548. else
  4549. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  4550.  
  4551. if (targetPlayer) then
  4552. local username = getPlayerName(thePlayer)
  4553. local accountID = getElementData(targetPlayer, "gameaccountid")
  4554.  
  4555. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminlevel", tonumber(rank))
  4556.  
  4557. rank = tonumber(rank)
  4558.  
  4559. if (rank<1337) then
  4560. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "hiddenadmin", 0)
  4561. end
  4562.  
  4563. local query = mysql:query_free("UPDATE accounts SET admin='" .. mysql:escape_string(tonumber(rank)) .. "', hiddenadmin='0' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4564. outputChatBox("Beállítottad " .. targetPlayerName .. " Admin rangját erre: " .. rank .. ".", thePlayer, 0, 255, 0)
  4565.  
  4566. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  4567.  
  4568. local targetAdminTitle = exports.global:getPlayerAdminTitle(targetPlayer)
  4569. if (rank>0) or (rank==-999999999) then
  4570. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminduty", 1)
  4571. else
  4572. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminduty", 0)
  4573. end
  4574. mysql:query_free("UPDATE accounts SET adminduty=" .. mysql:escape_string(getElementData(targetPlayer, "adminduty")) .. " WHERE id = " .. mysql:escape_string(getElementData(targetPlayer, "gameaccountid")) )
  4575. exports.global:updateNametagColor(targetPlayer)
  4576.  
  4577. if (hiddenAdmin==0) then
  4578. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4579. outputChatBox(adminTitle .. " " .. username .. " beállította az Admin rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  4580. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " set " .. targetPlayerName .. "'s admin level to " .. rank .. ".")
  4581. else
  4582. outputChatBox("Egy rejtett Admin beállította az Admin rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  4583. end
  4584. end
  4585. end
  4586. end
  4587. end
  4588. addCommandHandler("makeadmin", makePlayerAdmin, false, false)
  4589.  
  4590. function makePlayerVip(thePlayer, commandName, who, rank)
  4591. if (exports.global:isSuperAdmin(thePlayer)) then
  4592. if not (who) then
  4593. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet] [Érték]", thePlayer, 255, 194, 14)
  4594. else
  4595. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  4596.  
  4597. if (targetPlayer) then
  4598. local username = getPlayerName(thePlayer)
  4599. local accountID = getElementData(targetPlayer, "gameaccountid")
  4600.  
  4601. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "vip", tonumber(rank))
  4602.  
  4603. rank = tonumber(rank)
  4604.  
  4605. local query = mysql:query_free("UPDATE accounts SET vip='" .. mysql:escape_string(tonumber(rank)) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4606. outputChatBox("Beállítottad " .. targetPlayerName .. " VIP rangját erre: " .. rank .. ".", thePlayer, 0, 255, 0)
  4607.  
  4608. exports.global:updateNametagColor(targetPlayer)
  4609.  
  4610. if (hiddenAdmin==0) then
  4611. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4612. outputChatBox(adminTitle .. " " .. username .. " beállította az VIP rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  4613. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " beállította " .. targetPlayerName .. " vip szintjét: " .. rank .. ".")
  4614. else
  4615. outputChatBox("Egy rejtett Admin beállította az VIP rangodat erre: " .. rank .. ".", targetPlayer, 255, 194, 14)
  4616. end
  4617. end
  4618. end
  4619. end
  4620. end
  4621. addCommandHandler("makevip", makePlayerVip, false, false)
  4622.  
  4623. ----------------------[JAIL]--------------------
  4624. function jailPlayer(thePlayer, commandName, who, minutes, ...)
  4625. if (exports.global:isPlayerAdmin(thePlayer)) then
  4626. local minutes = tonumber(minutes)
  4627. if not (who) or not (minutes) or not (...) or (minutes<1) then
  4628. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet] [Perc(>=1) 999=Végtelen] [Indok]", thePlayer, 255, 194, 14)
  4629. else
  4630. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  4631. local reason = table.concat({...}, " ")
  4632.  
  4633. if (targetPlayer) then
  4634. local playerName = getPlayerName(thePlayer)
  4635. local jailTimer = getElementData(targetPlayer, "jailtimer")
  4636. local accountID = getElementData(targetPlayer, "gameaccountid")
  4637.  
  4638. if isTimer(jailTimer) then
  4639. killTimer(jailTimer)
  4640. end
  4641.  
  4642. if (isPedInVehicle(targetPlayer)) then
  4643. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  4644. removePedFromVehicle(targetPlayer)
  4645. end
  4646.  
  4647. if (minutes>=999) then
  4648. mysql:query_free("UPDATE accounts SET adminjail='1', adminjail_time='" .. mysql:escape_string(minutes) .. "', adminjail_permanent='1', adminjail_by='" .. mysql:escape_string(playerName) .. "', adminjail_reason='" .. mysql:escape_string(reason) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4649. minutes = "Végtelen"
  4650. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtimer", true, false)
  4651. else
  4652. mysql:query_free("UPDATE accounts SET adminjail='1', adminjail_time='" .. mysql:escape_string(minutes) .. "', adminjail_permanent='0', adminjail_by='" .. mysql:escape_string(playerName) .. "', adminjail_reason='" .. mysql:escape_string(reason) .. "' WHERE id='" .. mysql:escape_string(tonumber(accountID)) .. "'")
  4653. local theTimer = setTimer(timerUnjailPlayer, 60000, minutes, targetPlayer)
  4654. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailserved", 0, false)
  4655. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtimer", theTimer, false)
  4656. end
  4657. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminjailed", true)
  4658. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailreason", reason, false)
  4659. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtime", minutes, false)
  4660. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailadmin", getPlayerName(thePlayer), false)
  4661.  
  4662. outputChatBox("Bebörtönözted " .. targetPlayerName .. "-t " .. minutes .. " percre.", thePlayer, 255, 0, 0)
  4663.  
  4664. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  4665. local res = mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',0,' .. mysql:escape_string(( minutes == 999 and 0 or minutes )) .. ',"' .. mysql:escape_string(reason) .. '")' )
  4666.  
  4667. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4668. if (hiddenAdmin==0) then
  4669. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  4670. outputChatBox("AdmJail: " .. adminTitle .. " " .. playerName .. " bebörtönözte " .. targetPlayerName .. "-t " .. minutes .. " percre.", getRootElement(), 255, 0, 0)
  4671. outputChatBox("AdmJail: Indok: " .. reason, getRootElement(), 255, 0, 0)
  4672. else
  4673. outputChatBox("AdmJail: Rejtett Admin bebörtönözte " .. targetPlayerName .. "-t " .. minutes .. " percre.", getRootElement(), 255, 0, 0)
  4674. outputChatBox("AdmJail: Indok: " .. reason, getRootElement(), 255, 0, 0)
  4675. end
  4676. -- exports.global:sendMessageToAdmins("AdmJail: " .. adminTitle .. " " .. playerName .. " bebörtönözte " .. targetPlayerName .. "-t " .. minutes .. " percre.")
  4677. -- exports.global:sendMessageToAdmins("AdmJail: Indok: " .. reason)
  4678.  
  4679. setElementDimension(targetPlayer, 65400+getElementData(targetPlayer, "playerid"))
  4680. setElementInterior(targetPlayer, 6)
  4681. setCameraInterior(targetPlayer, 6)
  4682. setElementPosition(targetPlayer, 263.821807, 77.848365, 1001.0390625)
  4683. setPedRotation(targetPlayer, 267.438446)
  4684.  
  4685. toggleControl(targetPlayer,'next_weapon',false)
  4686. toggleControl(targetPlayer,'previous_weapon',false)
  4687. toggleControl(targetPlayer,'fire',false)
  4688. toggleControl(targetPlayer,'aim_weapon',false)
  4689. setPedWeaponSlot(targetPlayer,0)
  4690. end
  4691. end
  4692. end
  4693. end
  4694. addCommandHandler("jail", jailPlayer, false, false)
  4695.  
  4696. function timerUnjailPlayer(jailedPlayer)
  4697. if(isElement(jailedPlayer)) then
  4698. local timeServed = getElementData(jailedPlayer, "jailserved")
  4699. local timeLeft = getElementData(jailedPlayer, "jailtime")
  4700. local accountID = getElementData(jailedPlayer, "gameaccountid")
  4701. if (timeServed) then
  4702. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailserved", timeServed+1, false)
  4703. local timeLeft = timeLeft - 1
  4704. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailtime", timeLeft, false)
  4705.  
  4706. if (timeLeft<=0) then
  4707. local query = mysql:query_free("UPDATE accounts SET adminjail_time='0', adminjail='0' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4708. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailtimer")
  4709. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "adminjailed")
  4710. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailreason")
  4711. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailtime")
  4712. exports['anticheat-system']:changeProtectedElementDataEx(jailedPlayer, "jailadmin")
  4713. setElementPosition(jailedPlayer, 1519.7177734375, -1697.8154296875, 13.546875)
  4714. setPedRotation(jailedPlayer, 269.92446899414)
  4715. setElementDimension(jailedPlayer, 0)
  4716. setElementInterior(jailedPlayer, 0)
  4717. setCameraInterior(jailedPlayer, 0)
  4718. toggleControl(jailedPlayer,'next_weapon',true)
  4719. toggleControl(jailedPlayer,'previous_weapon',true)
  4720. toggleControl(jailedPlayer,'fire',true)
  4721. toggleControl(jailedPlayer,'aim_weapon',true)
  4722. outputChatBox("Kiszabadítottak a börtönbõl! Legközelebb ésszel viselkedj!", jailedPlayer, 0, 255, 0)
  4723.  
  4724. local gender = getElementData(jailedPlayer, "gender")
  4725. local genderm = "his"
  4726. if (gender == 1) then
  4727. genderm = "her"
  4728. end
  4729.  
  4730. exports.global:sendMessageToAdmins("AdmJail: " .. getPlayerName(jailedPlayer) .. " Admin börtön ideje lenullázva.")
  4731. else
  4732. local query = mysql:query_free("UPDATE accounts SET adminjail_time='" .. mysql:escape_string(timeLeft) .. "' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4733. end
  4734. end
  4735. end
  4736. end
  4737.  
  4738. function unjailPlayer(thePlayer, commandName, who)
  4739. if (exports.global:isPlayerAdmin(thePlayer)) then
  4740. if not (who) then
  4741. outputChatBox("Példa: /" .. commandName .. " [ID/NévRészlet]", thePlayer, 255, 194, 14)
  4742. else
  4743. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
  4744.  
  4745. if (targetPlayer) then
  4746. local jailed = getElementData(targetPlayer, "jailtimer", nil)
  4747. local username = getPlayerName(thePlayer)
  4748. local accountID = getElementData(targetPlayer, "gameaccountid")
  4749.  
  4750. if not (jailed) then
  4751. outputChatBox(targetPlayerName .. " nincs bebörtönözve.", thePlayer, 255, 0, 0)
  4752. else
  4753. local query = mysql:query_free("UPDATE accounts SET adminjail_time='0', adminjail='0' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  4754.  
  4755. if isTimer(jailed) then
  4756. killTimer(jailed)
  4757. end
  4758. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtimer")
  4759. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "adminjailed")
  4760. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailreason")
  4761. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailtime")
  4762. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "jailadmin")
  4763. setElementPosition(targetPlayer, 1519.7177734375, -1697.8154296875, 13.546875)
  4764. setPedRotation(targetPlayer, 269.92446899414)
  4765. setElementDimension(targetPlayer, 0)
  4766. setCameraInterior(targetPlayer, 0)
  4767. setElementInterior(targetPlayer, 0)
  4768. toggleControl(targetPlayer,'next_weapon',true)
  4769. toggleControl(targetPlayer,'previous_weapon',true)
  4770. toggleControl(targetPlayer,'fire',true)
  4771. toggleControl(targetPlayer,'aim_weapon',true)
  4772. outputChatBox(" " .. username .. " kivett a börtönbõl, Legközelebb ésszel viselkedj!", targetPlayer, 0, 255, 0)
  4773. exports.global:sendMessageToAdmins("AdmJail: " .. targetPlayerName .. "-t kivette a börtöbõl: " .. username .. ".")
  4774. end
  4775. end
  4776. end
  4777. end
  4778. end
  4779. addCommandHandler("unjail", unjailPlayer, false, false)
  4780.  
  4781. function jailedPlayers(thePlayer, commandName)
  4782. if (exports.global:isPlayerAdmin(thePlayer)) then
  4783. outputChatBox("~~~~~~~~~ Börtön ~~~~~~~~~", thePlayer, 255, 194, 15)
  4784.  
  4785. local players = exports.pool:getPoolElementsByType("player")
  4786. local count = 0
  4787. for key, value in ipairs(players) do
  4788. if getElementData(value, "adminjailed") then
  4789. outputChatBox("[BÖRTÖN] " .. getPlayerName(value) .. ", bebörtönözve " .. tostring(getElementData(value, "jailadmin")) .. " által, ült " .. tostring(getElementData(value, "jailserved")) .. " percet és " .. tostring(getElementData(value,"jailtime")) .. " perc van hátra", thePlayer, 255, 194, 15)
  4790. outputChatBox("[BÖRTÖN] Indok: " .. tostring(getElementData(value, "jailreason")), thePlayer, 255, 194, 15)
  4791. count = count + 1
  4792. elseif getElementData(value, "pd.jailtimer") then
  4793. outputChatBox("[LETARTÓZTATVA] " .. getPlayerName(value) .. ", ült " .. tostring(getElementData(value, "pd.jailserved")) .. " percet és " .. tostring(getElementData(value, "pd.jailtime")) .. " perc van még hátra", thePlayer, 0, 102, 255)
  4794. count = count + 1
  4795. end
  4796. end
  4797.  
  4798. if count == 0 then
  4799. outputChatBox("Senki sincs bebörtönözve.", thePlayer, 255, 194, 15)
  4800. end
  4801. end
  4802. end
  4803.  
  4804. addCommandHandler("jailed", jailedPlayers, false, false)
  4805.  
  4806. ----------------------------[GO TO PLAYER]---------------------------------------
  4807. function gotoPlayer(thePlayer, commandName, target)
  4808. if (exports.global:isPlayerAdmin(thePlayer)) then
  4809.  
  4810. if not (target) then
  4811. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  4812. else
  4813. local username = getPlayerName(thePlayer)
  4814. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  4815.  
  4816. if targetPlayer then
  4817. local logged = getElementData(targetPlayer, "loggedin")
  4818.  
  4819. if (logged==0) then
  4820. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  4821. else
  4822. local x, y, z = getElementPosition(targetPlayer)
  4823. local interior = getElementInterior(targetPlayer)
  4824. local dimension = getElementDimension(targetPlayer)
  4825. local r = getPedRotation(targetPlayer)
  4826.  
  4827. x = x + ( ( math.cos ( math.rad ( r ) ) ) * 2 )
  4828. y = y + ( ( math.sin ( math.rad ( r ) ) ) * 2 )
  4829.  
  4830. setCameraInterior(thePlayer, interior)
  4831.  
  4832. if (isPedInVehicle(thePlayer)) then
  4833. local veh = getPedOccupiedVehicle(thePlayer)
  4834. setVehicleTurnVelocity(veh, 0, 0, 0)
  4835. setElementInterior(thePlayer, interior)
  4836. setElementDimension(thePlayer, dimension)
  4837. setElementInterior(veh, interior)
  4838. setElementDimension(veh, dimension)
  4839. setElementPosition(veh, x, y, z + 1)
  4840. warpPedIntoVehicle ( thePlayer, veh )
  4841. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  4842. else
  4843. setElementPosition(thePlayer, x, y, z)
  4844. setElementInterior(thePlayer, interior)
  4845. setElementDimension(thePlayer, dimension)
  4846. end
  4847. outputChatBox(" Teleportáltál hozzá: " .. targetPlayerName .. ".", thePlayer)
  4848. outputChatBox(" Admin " .. username .. " teleportált hozzád. ", targetPlayer)
  4849. end
  4850. end
  4851. end
  4852. end
  4853. end
  4854. addCommandHandler("goto", gotoPlayer, false, false)
  4855.  
  4856. function getPlayer(thePlayer, commandName, from, to)
  4857. if (exports.global:isNegyesAdmin(thePlayer)) then
  4858. if(not from or not to) then
  4859. outputChatBox("Példa: /" .. commandName .. " [ForrásJátékos] [CélJátékos]", thePlayer, 255, 194, 14)
  4860. else
  4861. local admin = getPlayerName(thePlayer):gsub("_"," ")
  4862. local fromplayer, targetPlayerName1 = exports.global:findPlayerByPartialNick(thePlayer, from)
  4863. local toplayer, targetPlayerName2 = exports.global:findPlayerByPartialNick(thePlayer, to)
  4864.  
  4865. if(fromplayer and toplayer) then
  4866. local logged1 = getElementData(fromplayer, "loggedin")
  4867. local logged2 = getElementData(toplayer, "loggedin")
  4868.  
  4869. if(not logged1 or not logged2) then
  4870. outputChatBox("Valamelyik játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  4871. else
  4872. local x, y, z = getElementPosition(toplayer)
  4873. local interior = getElementInterior(toplayer)
  4874. local dimension = getElementDimension(toplayer)
  4875. local r = getPedRotation(toplayer)
  4876.  
  4877. x = x + ( ( math.cos ( math.rad ( r ) ) ) * 2 )
  4878. y = y + ( ( math.sin ( math.rad ( r ) ) ) * 2 )
  4879.  
  4880. if (isPedInVehicle(fromplayer)) then
  4881. local veh = getPedOccupiedVehicle(fromplayer)
  4882. setVehicleTurnVelocity(veh, 0, 0, 0)
  4883. setElementPosition(veh, x, y, z + 1)
  4884. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  4885. setElementInterior(veh, interior)
  4886. setElementDimension(veh, dimension)
  4887.  
  4888. else
  4889. setElementPosition(fromplayer, x, y, z)
  4890. setElementInterior(fromplayer, interior)
  4891. setElementDimension(fromplayer, dimension)
  4892. end
  4893.  
  4894. outputChatBox(" Teleportáltad " .. targetPlayerName1:gsub("_"," ") .. "-t " .. targetPlayerName2:gsub("_"," ") .. "-hoz.", thePlayer)
  4895. outputChatBox(" Admin " .. admin .. " teleportált hozzá: " .. targetPlayerName2:gsub("_"," ") .. ". ", fromplayer)
  4896. outputChatBox(" Admin " .. admin .. " teleportálta " .. targetPlayerName1:gsub("_"," ") .. "-t hozzád.", toplayer)
  4897. end
  4898. end
  4899. end
  4900. end
  4901. end
  4902. addCommandHandler("sendto", getPlayer, false, false)
  4903.  
  4904. ----------------------------[GET PLAYER HERE]---------------------------------------
  4905. function getPlayer(thePlayer, commandName, target)
  4906. if (exports.global:isPlayerAdmin(thePlayer)) then
  4907.  
  4908. if not (target) then
  4909. outputChatBox("Példa: /" .. commandName .. " /gethere [NévRészlet]", thePlayer, 255, 194, 14)
  4910. else
  4911. local username = getPlayerName(thePlayer)
  4912. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  4913.  
  4914. if targetPlayer then
  4915. local logged = getElementData(targetPlayer, "loggedin")
  4916.  
  4917. if (logged==0) then
  4918. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  4919. else
  4920. local x, y, z = getElementPosition(thePlayer)
  4921. local interior = getElementInterior(thePlayer)
  4922. local dimension = getElementDimension(thePlayer)
  4923. local r = getPedRotation(thePlayer)
  4924. setCameraInterior(targetPlayer, interior)
  4925.  
  4926. x = x + ( ( math.cos ( math.rad ( r ) ) ) * 2 )
  4927. y = y + ( ( math.sin ( math.rad ( r ) ) ) * 2 )
  4928.  
  4929. if (isPedInVehicle(targetPlayer)) then
  4930. local veh = getPedOccupiedVehicle(targetPlayer)
  4931. setVehicleTurnVelocity(veh, 0, 0, 0)
  4932. setElementPosition(veh, x, y, z + 1)
  4933. setTimer(setVehicleTurnVelocity, 50, 20, veh, 0, 0, 0)
  4934. setElementInterior(veh, interior)
  4935. setElementDimension(veh, dimension)
  4936.  
  4937. else
  4938. setElementPosition(targetPlayer, x, y, z)
  4939. setElementInterior(targetPlayer, interior)
  4940. setElementDimension(targetPlayer, dimension)
  4941. end
  4942. outputChatBox(" Teleportáltad " .. targetPlayerName .. "-t magadhoz.", thePlayer)
  4943. outputChatBox(" Admin " .. username .. " magához teleportált. ", targetPlayer)
  4944. end
  4945. end
  4946. end
  4947. end
  4948. end
  4949. addCommandHandler("gethere", getPlayer, false, false)
  4950.  
  4951.  
  4952. function setInt(thePlayer, commandName, target, int)
  4953. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  4954. if not (target) then
  4955. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Interior]", thePlayer, 255, 194, 14)
  4956. else
  4957. local username = getPlayerName(thePlayer)
  4958. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  4959.  
  4960. if targetPlayer then
  4961. setElementInterior(targetPlayer,int)
  4962. outputChatBox(targetPlayerName .. " interiorja átírva: " .. int .. "", thePlayer)
  4963. outputChatBox("Admin " .. username .. " átállította az interiorod: " .. int .. ".", targetPlayer)
  4964. end
  4965. end
  4966. end
  4967. end
  4968. addCommandHandler("setint", setInt, false, false)
  4969.  
  4970. function setDim(thePlayer, commandName, target, dim)
  4971. if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  4972. if not (target) then
  4973. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Dimenzió]", thePlayer, 255, 194, 14)
  4974. else
  4975. local username = getPlayerName(thePlayer)
  4976. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  4977.  
  4978. if targetPlayer then
  4979. setElementDimension(targetPlayer,dim)
  4980. outputChatBox(targetPlayerName .. " interiorja átírva: " .. dim .. "", thePlayer)
  4981. outputChatBox("Admin " .. username .. " átállította az interiorod: " .. dim .. ".", targetPlayer)
  4982. end
  4983. end
  4984. end
  4985. end
  4986. addCommandHandler("setdim", setDim, false, false)
  4987.  
  4988. function setMoney(thePlayer, commandName, target, money)
  4989. if (exports.global:isSuperAdmin(thePlayer)) then
  4990. if not (target) then
  4991. outputChatBox("HASZNÁLD: /" .. commandName .. " [NévRészlet] [Összeg]", thePlayer, 255, 194, 14)
  4992. else
  4993. local username = getPlayerName(thePlayer)
  4994. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  4995.  
  4996. if targetPlayer then
  4997. exports.logs:logMessage("[SET] " .. getPlayerName(thePlayer):gsub("_", " ") .. " set " .. targetPlayerName .. "'s money to $" .. money, 23)
  4998. exports.global:setMoney(targetPlayer, money)
  4999. outputChatBox(targetPlayerName .. " pénze beállítva " .. money .. " Ft.", thePlayer)
  5000. outputChatBox("Admin " .. username .. " beállította a pénzedet ennyire: " .. money .. " Ft.", targetPlayer)
  5001. -- exports.global:sendMessageToAdmins("(SetMoney) Játékos " .. targetPlayerName .. " kapott " .. money .. " Ft pénzt ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  5002. end
  5003. end
  5004. end
  5005. end
  5006. addCommandHandler("setmoney", setMoney, false, false)
  5007.  
  5008. function giveMoney(thePlayer, commandName, target, money)
  5009. if (exports.global:isSuperAdmin(thePlayer)) then
  5010. if not (target) then
  5011. outputChatBox("HASZNÁLD: /" .. commandName .. " [NévRészlet] [Összeg]", thePlayer, 255, 194, 14)
  5012. else
  5013. local username = getPlayerName(thePlayer)
  5014. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5015.  
  5016. if targetPlayer then
  5017. if ( exports.global:hasSpaceForItem(targetPlayer) ) then
  5018. exports.logs:logMessage("[GIVE] " .. getPlayerName(thePlayer):gsub("_", " ") .. " gave " .. targetPlayerName .. " to $" .. money, 23)
  5019. exports.global:giveMoney(targetPlayer, money)
  5020.  
  5021. outputChatBox("Adtál neki: " .. targetPlayerName .. " " .. money .. " Ft-t.", thePlayer)
  5022. outputChatBox("Admin " .. username .. " adott neked " .. money .. " Ft-t.", targetPlayer)
  5023. -- exports.global:sendMessageToAdmins("(GiveMoney) Játékos " .. targetPlayerName .. " kapott " .. money .. " Ft pénzt ".. getPlayerName(thePlayer) .." által.", 255, 255, 0)
  5024. else
  5025. outputChatBox("Az ő zsebében már nem fér el semmi.", thePlayer)
  5026. end
  5027. end
  5028. end
  5029. end
  5030. end
  5031. addCommandHandler("givemoney", giveMoney, false, false)
  5032.  
  5033. -----------------------------------[FREEZE]----------------------------------
  5034. function freezePlayer(thePlayer, commandName, target)
  5035. if (exports.global:isPlayerAdmin(thePlayer)) then
  5036. if not (target) then
  5037. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  5038. else
  5039. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5040. if targetPlayer then
  5041. local veh = getPedOccupiedVehicle( targetPlayer )
  5042. if (veh) then
  5043. setElementFrozen(veh, true)
  5044. toggleAllControls(targetPlayer, false, true, false)
  5045. outputChatBox(" Fagyasztva lettél egy Admin által. Kövesd az általa adott instrukciókat!", targetPlayer)
  5046. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. "-t.", thePlayer)
  5047. else
  5048. toggleAllControls(targetPlayer, false, true, false)
  5049. setPedWeaponSlot(targetPlayer, 0)
  5050. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "freeze", 1)
  5051. outputChatBox(" Fagyasztva lettél egy Admin által. Kövesd az általa adott instrukciókat!", targetPlayer)
  5052. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. ".", thePlayer)
  5053. end
  5054. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  5055. local username = getPlayerName(thePlayer)
  5056. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " lefagyasztotta " .. targetPlayerName .. "-t.")
  5057. end
  5058. end
  5059. end
  5060. end
  5061. addCommandHandler("freeze", freezePlayer, false, false)
  5062.  
  5063. -----------------------------------[UNFREEZE]----------------------------------
  5064. function unfreezePlayer(thePlayer, commandName, target)
  5065. if (exports.global:isPlayerAdmin(thePlayer)) then
  5066. if not (target) then
  5067. outputChatBox("Példa: /" .. commandName .. " /unfreeze [NévRészlet]", thePlayer, 255, 194, 14)
  5068. else
  5069. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5070. if targetPlayer then
  5071. local veh = getPedOccupiedVehicle( targetPlayer )
  5072. if (veh) then
  5073. setElementFrozen(veh, false)
  5074. toggleAllControls(targetPlayer, true, true, true)
  5075.  
  5076. if (isElement(targetPlayer)) then
  5077. outputChatBox(" Ki lettél fagyasztva egy Admin által.", targetPlayer)
  5078. end
  5079.  
  5080. if (isElement(thePlayer)) then
  5081. outputChatBox(" Kifagyasztottad " ..targetPlayerName.. "-t.", thePlayer)
  5082. end
  5083. else
  5084. toggleAllControls(targetPlayer, true, true, true)
  5085.  
  5086. -- Disable weapon scrolling if restrained
  5087. if getElementData(targetPlayer, "restrain") == 1 then
  5088. setPedWeaponSlot(targetPlayer, 0)
  5089. toggleControl(targetPlayer, "next_weapon", false)
  5090. toggleControl(targetPlayer, "previous_weapon", false)
  5091. end
  5092. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "freeze")
  5093. outputChatBox(" Ki lettél fagyasztva egy Admin által.", targetPlayer)
  5094. outputChatBox(" Kifagyasztottad " ..targetPlayerName.. ".", thePlayer)
  5095. end
  5096. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  5097. local username = getPlayerName(thePlayer)
  5098. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " kifagyasztotta " .. targetPlayerName .. "-t.")
  5099. end
  5100. end
  5101. end
  5102. end
  5103. addCommandHandler("unfreeze", unfreezePlayer, false, false)
  5104.  
  5105. function freezePlayer(thePlayer, commandName, target)
  5106. --if (exports.global:isPlayerLeadAdmin(thePlayer)) then
  5107. if not (target) then
  5108. outputChatBox("Példa: /" .. commandName .. " /freeze [NévRészlet]", thePlayer, 255, 194, 14)
  5109. else
  5110. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5111. if targetPlayer then
  5112. local veh = getPedOccupiedVehicle( targetPlayer )
  5113. if (veh) then
  5114. setElementFrozen(veh, true)
  5115. toggleAllControls(targetPlayer, false, false, false)
  5116.  
  5117. if (isElement(targetPlayer)) then
  5118. outputChatBox(" Fagyasztva egy Admin által.", targetPlayer)
  5119. end
  5120.  
  5121. if (isElement(thePlayer)) then
  5122. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. "-t.", thePlayer)
  5123. end
  5124. else
  5125. toggleAllControls(targetPlayer, true, true, true)
  5126.  
  5127. -- Disable weapon scrolling if restrained
  5128. if getElementData(targetPlayer, "restrain") == 1 then
  5129. setPedWeaponSlot(targetPlayer, 0)
  5130. toggleControl(targetPlayer, "next_weapon", true)
  5131. toggleControl(targetPlayer, "previous_weapon", true)
  5132. end
  5133. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "freeze")
  5134. outputChatBox(" Le lettél fagyasztva egy Admin által.", targetPlayer)
  5135. outputChatBox(" Lefagyasztottad " ..targetPlayerName.. ".", thePlayer)
  5136. end
  5137. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  5138. local username = getPlayerName(thePlayer)
  5139. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. username .. " lefagyasztotta " .. targetPlayerName .. "-t.")
  5140. end
  5141. end
  5142. --end
  5143. end
  5144. -- addCommandHandler("pfreeze", freezePlayer, false, false)
  5145. addEvent("remoteFreezePlayer", true )
  5146. addEventHandler("remoteFreezePlayer", getRootElement(), freezePlayer)
  5147. ------------- [gotoMark]
  5148. addEvent( "gotoMark", true )
  5149. addEventHandler( "gotoMark", getRootElement( ),
  5150. function( x, y, z, interior, dimension, name )
  5151. if type( x ) == "number" and type( y ) == "number" and type( z ) == "number" and type( interior ) == "number" and type( dimension ) == "number" then
  5152. if getElementData ( client, "loggedin" ) == 1 and exports.global:isRpSeged(client) then
  5153. fadeCamera ( client, false, 1,0,0,0 )
  5154.  
  5155. setTimer(function(client)
  5156.  
  5157. local vehicle = nil
  5158. local seat = nil
  5159.  
  5160. if(isPedInVehicle ( client )) then
  5161. vehicle = getPedOccupiedVehicle ( client )
  5162. seat = getPedOccupiedVehicleSeat ( client )
  5163. end
  5164.  
  5165. if(vehicle and (seat ~= 0)) then
  5166. removePedFromVehicle (client )
  5167. exports['anticheat-system']:changeProtectedElementDataEx(client, "realinvehicle", 0, false)
  5168. setElementPosition(client, x, y, z)
  5169. setElementInterior(client, interior)
  5170. setElementDimension(client, dimension)
  5171. elseif(vehicle and seat == 0) then
  5172. removePedFromVehicle (client )
  5173. exports['anticheat-system']:changeProtectedElementDataEx(client, "realinvehicle", 0, false)
  5174. setElementPosition(vehicle, x, y, z)
  5175. setElementInterior(vehicle, interior)
  5176. setElementDimension(vehicle, dimension)
  5177. warpPedIntoVehicle ( client, vehicle, 0)
  5178. else
  5179. setElementPosition(client, x, y, z)
  5180. setElementInterior(client, interior)
  5181. setElementDimension(client, dimension)
  5182. end
  5183.  
  5184. outputChatBox( "Teleportálva lettél" .. ( name and " '" .. name .. "'" or "" ) .. ".", client, 0, 255, 0 )
  5185. setTimer(fadeCamera, 1000, 1, client, true, 1)
  5186. end, 1000, 1, client)
  5187.  
  5188. end
  5189. end
  5190. end
  5191. )
  5192. ----------------------------[MAKE DONATOR]---------------------------------------
  5193. function makePlayerDonator(thePlayer, commandName, target, level)
  5194. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  5195. if (exports.global:isPlayerAdmin(thePlayer)) then
  5196. if (level) then
  5197. level = tonumber(level)
  5198. end
  5199.  
  5200. if not (target) or not (level) or (level<0) or (level>7) then
  5201. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Szint 0=Nem adakozó, 1=Bronz, 2=Ezüst, 3=Arany, 4=Platina, 5=Gyöngy, 6=Gyémánt, 7=Istenies]", thePlayer, 255, 194, 14)
  5202. else
  5203. local username = getPlayerName(thePlayer)
  5204. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5205.  
  5206.  
  5207. if targetPlayer then
  5208. local logged = getElementData(targetPlayer, "loggedin")
  5209.  
  5210. if (logged==0) then
  5211. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0 , 0)
  5212. else
  5213. local levelString = ""
  5214. local gameaccountID = getElementData(targetPlayer, "gameaccountid")
  5215.  
  5216. if (level==0) then
  5217. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 0)
  5218. mysql:query_free("UPDATE accounts SET donator='0' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5219. levelString = "Nem adakozó"
  5220. elseif (level==1) then
  5221. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 1)
  5222. mysql:query_free("UPDATE accounts SET donator='1' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5223. levelString = "Bronz Adakozó"
  5224. elseif (level==2) then
  5225. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 2)
  5226. mysql:query_free("UPDATE accounts SET donator='2' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5227. levelString = "Ezüst Adakozó"
  5228. elseif (level==3) then
  5229. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 3)
  5230. mysql:query_free("UPDATE accounts SET donator='3' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5231. levelString = "Arany Adakozó"
  5232. elseif (level==4) then
  5233. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 4)
  5234. mysql:query_free("UPDATE accounts SET donator='4' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5235. levelString = "Platina Adakozó"
  5236. elseif (level==5) then
  5237. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 5)
  5238. mysql:query_free("UPDATE accounts SET donator='5' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5239. levelString = "Gyöngy Adakozó"
  5240. elseif (level==6) then
  5241. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 6)
  5242. mysql:query_free("UPDATE accounts SET donator='6' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5243. levelString = "Gyémánt Adakozó"
  5244. elseif (level==7) then
  5245. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "donatorlevel", 7)
  5246. mysql:query_free("UPDATE accounts SET donator='7' WHERE id='" .. mysql:escape_string(gameaccountID) .. "'")
  5247. levelString = "Istenies Adakozó"
  5248. end
  5249.  
  5250. if (level>0) then
  5251. exports.global:givePlayerAchievement(targetPlayer, 29)
  5252. end
  5253. outputChatBox("Beállítottad " .. targetPlayerName .. "-t " .. levelString .. "-nak.", targetPlayer, 0, 255, 0)
  5254. exports.global:sendMessageToAdmins("AdmCmd: " .. username .. " beállította " .. targetPlayerName .. "-t " .. levelString .. "-nak.")
  5255. exports.global:updateNametagColor(targetPlayer)
  5256. exports.logs:logMessage("[/MAKEDONATOR] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." made " .. targetPlayerName .. " a " .. levelString , 4)
  5257.  
  5258. end
  5259. end
  5260. end
  5261. end
  5262. end
  5263. end
  5264. -- addCommandHandler("makedonator", makePlayerDonator, false, false)
  5265.  
  5266. function adminDuty(thePlayer, commandName)
  5267. if exports.global:isPlayerAdmin(thePlayer) then
  5268. local adminduty = getElementData(thePlayer, "adminduty")
  5269. local username = getPlayerName(thePlayer)
  5270. local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
  5271. local playerName = getPlayerName(thePlayer)
  5272. local pmid = getElementData(thePlayer, "playerid")
  5273.  
  5274. if (adminduty==0) then
  5275. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "adminduty", 1)
  5276. -- outputChatBox("Admin szolgálatba léptél.", thePlayer, 0, 255, 0)
  5277. exports.global:sendMessageToAdmins("AdmDuty: " .. username .. " szolgálatba lépett.")
  5278. outputChatBox(playerName .. " adminszolgálatba lépett! /pm "..pmid.." parancsal írsz neki!", getRootElement(), 0, 255, 0,true)
  5279. elseif (adminduty==1) then
  5280. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "adminduty", 0)
  5281. outputChatBox("Kiléptél az Admin szolgálatból.", thePlayer, 255, 0, 0)
  5282. --exports.global:sendMessageToAdmins("AdmDuty: " .. username .. " kilépett a szolgálatból.")
  5283. outputChatBox(playerName .. " kilépett az adminszolgálatból!", getRootElement(), 255, 0, 0,true)
  5284. end
  5285. mysql:query_free("UPDATE accounts SET adminduty=" .. mysql:escape_string(getElementData(thePlayer, "adminduty")) .. " WHERE id = " .. mysql:escape_string(getElementData(thePlayer, "gameaccountid")) )
  5286. exports.global:updateNametagColor(thePlayer)
  5287. end
  5288. end
  5289. addCommandHandler("adminduty", adminDuty, false, false)
  5290.  
  5291. ----------------------------[SET MOTD]---------------------------------------
  5292. function setMOTD(thePlayer, commandName, ...)
  5293. if (exports.global:isPlayerAdmin(thePlayer)) then
  5294. if not (...) then
  5295. outputChatBox("Példa: " .. commandName .. " [Üzenet]", thePlayer, 255, 194, 14)
  5296. else
  5297. local message = table.concat({...}, " ")
  5298. local query = mysql:query_free("UPDATE settings SET value='" .. mysql:escape_string(message) .. "' WHERE name='motd'")
  5299. triggerClientEvent("updateMOTD", thePlayer, message)
  5300.  
  5301. if (query) then
  5302. outputChatBox("MOTD beállítva: '" .. message .. "'.", thePlayer, 0, 255, 0)
  5303. exports.logs:logMessage("[/SETMOTD] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." megváltoztatta az MOTD-t erre: " .. message , 4)
  5304. exports['anticheat-system']:changeProtectedElementDataEx(getRootElement(), "account:motd", message, false )
  5305. else
  5306. outputChatBox("Nem tudtam beállítani a MOTD-t.", thePlayer, 255, 0, 0)
  5307. end
  5308. end
  5309. end
  5310. end
  5311. -- addCommandHandler("setmotd", setMOTD, false, false)
  5312. ----------------------------[SET ADMIN MOTD]---------------------------------------
  5313. function setAdminMOTD(thePlayer, commandName, ...)
  5314. if (exports.global:isPlayerAdmin(thePlayer)) then
  5315. if not (...) then
  5316. outputChatBox("Példa: " .. commandName .. " [message]", thePlayer, 255, 194, 14)
  5317. else
  5318. local message = table.concat({...}, " ")
  5319. local query = mysql:query_free("UPDATE settings SET value='" .. mysql:escape_string(message) .. "' WHERE name='amotd'")
  5320.  
  5321. if (query) then
  5322. outputChatBox("Admin MOTD beállítva: '" .. message .. "'.", thePlayer, 0, 255, 0)
  5323. exports.logs:logMessage("[/SETAMOTD] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." megváltoztatta az Admin MOTD-t erre: " .. message , 4)
  5324. exports['anticheat-system']:changeProtectedElementDataEx(getRootElement(), "account:amotd", message, false )
  5325. else
  5326. outputChatBox("Nem tudtam beállítani a MOTD-t.", thePlayer, 255, 0, 0)
  5327. end
  5328. end
  5329. end
  5330. end
  5331. -- addCommandHandler("setamotd", setAdminMOTD, false, false)
  5332.  
  5333. -- GET PLAYER ID
  5334. function getPlayerID(thePlayer, commandName, target)
  5335. if not (target) then
  5336. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  5337. else
  5338. local username = getPlayerName(thePlayer)
  5339. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5340.  
  5341. if targetPlayer then
  5342. local logged = getElementData(targetPlayer, "loggedin")
  5343. if (logged==1) then
  5344. local id = getElementData(targetPlayer, "playerid")
  5345. outputChatBox("** " .. targetPlayerName .. " ID-je: " .. id .. ".", thePlayer, 255, 194, 14)
  5346. else
  5347. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  5348. end
  5349. end
  5350. end
  5351. end
  5352. addCommandHandler("getid", getPlayerID, false, false)
  5353. addCommandHandler("id", getPlayerID, false, false)
  5354.  
  5355. -- EJECT
  5356. function ejectPlayer(thePlayer, commandName, target)
  5357. if not (target) then
  5358. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  5359. else
  5360. if not (isPedInVehicle(thePlayer)) then
  5361. outputChatBox("Nem vagy kocsiban.", thePlayer, 255, 0, 0)
  5362. else
  5363. local vehicle = getPedOccupiedVehicle(thePlayer)
  5364. local seat = getPedOccupiedVehicleSeat(thePlayer)
  5365.  
  5366. if (seat~=0) then
  5367. outputChatBox("Csak vezetõ tud kidobni embereket a jármûbõl.", thePlayer, 255, 0, 0)
  5368. else
  5369. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5370.  
  5371. if not (targetPlayer) then
  5372. elseif (targetPlayer==thePlayer) then
  5373. outputChatBox("Nem dobhatod ki magadat.", thePlayer, 255, 0, 0)
  5374. else
  5375. local targetvehicle = getPedOccupiedVehicle(targetPlayer)
  5376.  
  5377. if targetvehicle~=vehicle and not exports.global:isPlayerAdmin(thePlayer) then
  5378. outputChatBox("Ez a játékos nincs a jármûben.", thePlayer, 255, 0, 0)
  5379. else
  5380. outputChatBox("Kidobtad " .. targetPlayerName .. "-t a jármûbõl.", thePlayer, 0, 255, 0)
  5381. removePedFromVehicle(targetPlayer)
  5382. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "realinvehicle", 0, false)
  5383. triggerEvent("removeTintName", targetPlayer)
  5384. end
  5385. end
  5386. end
  5387. end
  5388. end
  5389. end
  5390. addCommandHandler("eject", ejectPlayer, false, false)
  5391.  
  5392. function berakplayer(thePlayer, commandName, target)
  5393. if not (target) then
  5394. outputChatBox("Példa: /" .. commandName .. " [ID / Névrészlet]", thePlayer, 255, 194, 14)
  5395. else
  5396.  
  5397. local nearbyVehicles = exports.global:getNearbyElements(thePlayer, "vehicle", 5)
  5398. if #nearbyVehicles < 1 then outputChatBox("Nincs a közeledben semmi", thePlayer, 255, 194, 14) end
  5399.  
  5400. local vehicle = getPedOccupiedVehicle(thePlayer)
  5401. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, target)
  5402.  
  5403. if not (targetPlayer) then
  5404. elseif (targetPlayer==thePlayer) then
  5405. outputChatBox("Nem teheted be magad.", thePlayer, 255, 0, 0)
  5406. else
  5407.  
  5408. for i, veh in ipairs(nearbyVehicles) do
  5409.  
  5410. local targetvehicle = tonumber(getElementData(veh, "dbid"))
  5411. exports.global:sendLocalMeAction(thePlayer,"berakja a célszemélyt a járműbe.")
  5412. outputChatBox("Beraktad " .. targetPlayerName .. "-t a járműbe.", thePlayer, 0, 255, 0)
  5413. warpPedIntoVehicle( targetPlayer, targetvehicle )
  5414.  
  5415. end
  5416.  
  5417. end
  5418. end
  5419. end
  5420. -- addCommandHandler("detach", berakplayer, false, false)
  5421. -- addCommandHandler("berak", berakplayer, false, false)
  5422.  
  5423. -- WARNINGS
  5424. function warnPlayer(thePlayer, commandName, targetPlayer, ...)
  5425. if (exports.global:isRpSeged(thePlayer)) then
  5426. if not (targetPlayer) or not (...) then
  5427. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Indok]", thePlayer, 255, 194, 14)
  5428. else
  5429. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayer)
  5430.  
  5431. if targetPlayer then
  5432. local playerName = getPlayerName(thePlayer)
  5433. local warns = getElementData(targetPlayer, "warns")
  5434. reason = table.concat({...}, " ")
  5435. warns = warns + 1
  5436. local accountID = getElementData(targetPlayer, "gameaccountid")
  5437. mysql:query_free("UPDATE accounts SET warns=" .. mysql:escape_string(warns) .. " WHERE id = " .. mysql:escape_string(accountID) )
  5438. outputChatBox("Kaptál " .. targetPlayerName .. "-tõl egy figyelmeztetést. (" .. warns .. "/3).", targetPlayer, 255, 0, 0)
  5439. outputChatBox("Adtál egy figyelmeztetést neki: " .. getPlayerName(thePlayer) .. ".", thePlayer, 255, 0, 0)
  5440. outputChatBox("Indok: " .. reason, thePlayer, 255, 0, 0)
  5441. outputChatBox("Indok: " .. reason, targetPlayer, 255, 0, 0)
  5442.  
  5443. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "warns", warns, false)
  5444.  
  5445. local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
  5446. mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',4,0,"' .. mysql:escape_string(reason) .. '")' )
  5447.  
  5448. if (hiddenAdmin==0) then
  5449. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  5450. exports.global:sendMessageToAdmins("AdmWarn: " .. adminTitle .. " " .. playerName .. " figyelmeztette " .. targetPlayerName .. ". (" .. warns .. "/3)")
  5451. -- outputChatBox("AdmWarn: " .. adminTitle .. " " .. playerName .. " figyelmeztette " .. targetPlayerName .. ". (" .. warns .. "/3)", getRootElement(), 255, 0, 51)
  5452. end
  5453.  
  5454. if (warns>=3) then
  5455. mysql:query_free('INSERT INTO adminhistory (user_char, user, admin_char, admin, hiddenadmin, action, duration, reason) VALUES ("' .. mysql:escape_string(getPlayerName(targetPlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(targetPlayer, "gameaccountid") or 0)) .. ',"' .. mysql:escape_string(getPlayerName(thePlayer)) .. '",' .. mysql:escape_string(tostring(getElementData(thePlayer, "gameaccountid") or 0)) .. ',' .. mysql:escape_string(hiddenAdmin) .. ',5,0,"' .. mysql:escape_string(warns) .. ' Admin Warnings")' )
  5456. banPlayer(targetPlayer, true, false, false, thePlayer, "Meghaladtad a maximális figyelmeztetések számát. (" .. warns .. "/3)", 0)
  5457. outputChatBox("AdmWarn: " .. targetPlayerName .. " ki lett bannolva. (Több mint 3 figyelmeztetés)", getRootElement(), 255, 0, 51)
  5458. -- exports.global:sendMessageToAdmins("AdmWarn: " .. targetPlayerName .. " ki lett bannolva. (Több mint 3 figyelmeztetés)")
  5459. mysql:query_free("UPDATE accounts SET banned='1', banned_reason='3 Admin figyelmeztetes', banned_by='Warn Rendszer' WHERE id='" .. mysql:escape_string(accountID) .. "'")
  5460. end
  5461. end
  5462. end
  5463. end
  5464. end
  5465. addCommandHandler("warn", warnPlayer, false, false)
  5466.  
  5467. -- recon fix for interior changing
  5468. function interiorChanged()
  5469. for key, value in ipairs(exports.pool:getPoolElementsByType("player")) do
  5470. if isElement(value) then
  5471. local cameraTarget = getCameraTarget(value)
  5472. if (cameraTarget) then
  5473. if (cameraTarget==source) then
  5474. local interior = getElementInterior(source)
  5475. local dimension = getElementDimension(source)
  5476. setCameraInterior(value, interior)
  5477. setElementInterior(value, interior)
  5478. setElementDimension(value, dimension)
  5479. end
  5480. end
  5481. end
  5482. end
  5483. end
  5484. addEventHandler("onPlayerInteriorChange", getRootElement(), interiorChanged)
  5485.  
  5486. function removeReconning()
  5487. for key, value in ipairs(exports.pool:getPoolElementsByType("player")) do
  5488. if isElement(value) then
  5489. local cameraTarget = getCameraTarget(value)
  5490. if (cameraTarget) then
  5491. if (cameraTarget==source) then
  5492. reconPlayer(value)
  5493. end
  5494. end
  5495. end
  5496. end
  5497. end
  5498. addEventHandler("onPlayerQuit", getRootElement(), removeReconning)
  5499.  
  5500. -- FREECAM
  5501. function toggleFreecam(thePlayer)
  5502. if exports.global:isRpSeged(thePlayer) then
  5503. local enabled = exports.freecam:isPlayerFreecamEnabled (thePlayer)
  5504.  
  5505. if (enabled) then
  5506. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx")
  5507. setElementAlpha(thePlayer, 255)
  5508. setElementFrozen(thePlayer, false)
  5509. exports.freecam:setPlayerFreecamDisabled (thePlayer)
  5510. else
  5511. removePedFromVehicle(thePlayer)
  5512. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", 0)
  5513. setElementAlpha(thePlayer, 0)
  5514. setElementFrozen(thePlayer, true)
  5515. exports.freecam:setPlayerFreecamEnabled (thePlayer)
  5516. end
  5517. end
  5518. end
  5519. addCommandHandler("freecam", toggleFreecam)
  5520.  
  5521. -- DROP ME
  5522.  
  5523. function dropOffFreecam(thePlayer)
  5524. if exports.global:isRpSeged(thePlayer) then
  5525. local enabled = exports.freecam:isPlayerFreecamEnabled (thePlayer)
  5526. if (enabled) then
  5527. local x, y, z = getElementPosition(thePlayer)
  5528. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx")
  5529. setElementAlpha(thePlayer, 255)
  5530. setElementFrozen(thePlayer, false)
  5531. exports.freecam:setPlayerFreecamDisabled (thePlayer)
  5532. setElementPosition(thePlayer, x, y, z)
  5533. else
  5534. outputChatBox("Csak akkor működikik ha a FREECAM be van kapcsolva.", thePlayer, 255, 0, 0)
  5535. end
  5536. end
  5537. end
  5538. addCommandHandler("dropme", dropOffFreecam)
  5539.  
  5540. -- DISAPPEAR
  5541.  
  5542. function toggleInvisibility(thePlayer)
  5543. if exports.global:isPlayerAdmin(thePlayer) then
  5544. local enabled = getElementData(thePlayer, "invisible")
  5545. if (enabled == true) then
  5546. setElementAlpha(thePlayer, 255)
  5547. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", false)
  5548. outputChatBox("Látható vagy.", thePlayer, 255, 0, 0)
  5549. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "invisible", false)
  5550. exports.global:sendMessageToAdmins("".. getPlayerName(thePlayer) .." látható vált.", 0, 255, 0)
  5551. elseif (enabled == false or enabled == nil) then
  5552. setElementAlpha(thePlayer, 0)
  5553. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", true)
  5554. outputChatBox("Láthatattlan vagy.", thePlayer, 0, 255, 0)
  5555. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "invisible", true)
  5556. exports.global:sendMessageToAdmins("".. getPlayerName(thePlayer) .." láthatatlanná vált.", 255, 0, 0)
  5557. else
  5558. outputChatBox("Elõbb kapcsold ki az Admin TV-t.", thePlayer, 255, 0, 0)
  5559. end
  5560. end
  5561. end
  5562. addCommandHandler("disappear", toggleInvisibility)
  5563. addCommandHandler("vanish", toggleInvisibility)
  5564.  
  5565. -- TOGGLE NAMETAG
  5566.  
  5567. function toggleMyNametag(thePlayer)
  5568. local visible = getElementData(thePlayer, "reconx")
  5569. if exports.global:isPlayerAdmin(thePlayer) then
  5570. if (visible == true) then
  5571. setPlayerNametagShowing(thePlayer, false)
  5572. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", false)
  5573. outputChatBox("A neved mostantól látható.", thePlayer, 255, 0, 0)
  5574. elseif (visible == false or visible == nil) then
  5575. setPlayerNametagShowing(thePlayer, false)
  5576. exports['anticheat-system']:changeProtectedElementDataEx(thePlayer, "reconx", true)
  5577. outputChatBox("A neved elrejtve.", thePlayer, 0, 255, 0)
  5578. else
  5579. outputChatBox("Elõbb kapcsold ki az Admin TV-t.", thePlayer, 255, 0, 0)
  5580. end
  5581. end
  5582. end
  5583. addCommandHandler("togmytag", toggleMyNametag)
  5584.  
  5585. -- RESET CHARACTER
  5586. function resetCharacter(thePlayer, commandName, ...)
  5587. if exports.global:isPlayerLeadAdmin(thePlayer) then
  5588. if not (...) then
  5589. outputChatBox("Példa: /" .. commandName .. " [Karakter pontos neve]", thePlayer, 255, 0, 0)
  5590. else
  5591. local character = table.concat({...}, "_")
  5592. if getPlayerFromName(character) then
  5593. kickPlayer(getPlayerFromName(character), "Karakter viszaállítás")
  5594. end
  5595.  
  5596. local result = mysql:query_fetch_assoc("SELECT id, account FROM characters WHERE charactername='" .. mysql:escape_string(character) .. "'")
  5597. local charid = tonumber(result["id"])
  5598. local account = tonumber(result["account"])
  5599.  
  5600. if charid then
  5601. -- delete all in-game vehicles
  5602. for key, value in pairs( getElementsByType( "vehicle" ) ) do
  5603. if isElement( value ) then
  5604. if getElementData( value, "owner" ) == charid then
  5605. call( getResourceFromName( "item-system" ), "deleteAll", 3, getElementData( value, "dbid" ) )
  5606. destroyElement( value )
  5607. end
  5608. end
  5609. end
  5610. mysql:query_free("DELETE FROM vehicles WHERE owner = " .. mysql:escape_string(charid) )
  5611.  
  5612. -- un-rent all interiors
  5613. local old = getElementData( thePlayer, "dbid" )
  5614. exports['anticheat-system']:changeProtectedElementDataEx( thePlayer, "dbid", charid )
  5615. local result = mysql:query("SELECT id FROM interiors WHERE owner = " .. mysql:escape_string(charid) .. " AND type != 2" )
  5616. if result then
  5617. local continue = true
  5618. while continue do
  5619. local row = mysql:fetch_assoc(result)
  5620. if not row then break end
  5621.  
  5622. local id = tonumber(row["id"])
  5623. call( getResourceFromName( "interior-system" ), "publicSellProperty", thePlayer, id, false, false )
  5624. end
  5625. end
  5626. exports['anticheat-system']:changeProtectedElementDataEx( thePlayer, "dbid", old )
  5627.  
  5628. -- get rid of all items, give him default items back
  5629. mysql:query_free("DELETE FROM items WHERE type = 1 AND owner = " .. mysql:escape_string(charid) )
  5630.  
  5631. -- get the skin
  5632. local skin = 264
  5633. local skinr = mysql:query_fetch_assoc("SELECT skin FROM characters WHERE id = " .. mysql:escape_string(charid) )
  5634. if skinr then
  5635. skin = tonumber(skinr["skin"]) or 264
  5636. end
  5637.  
  5638. mysql:query_free("INSERT INTO items (type, owner, itemID, itemValue) VALUES (1, " .. mysql:escape_string(charid) .. ", 16, " .. mysql:escape_string(skin) .. ")" )
  5639. mysql:query_free("INSERT INTO items (type, owner, itemID, itemValue) VALUES (1, " .. mysql:escape_string(charid) .. ", 17, 1)" )
  5640. mysql:query_free("INSERT INTO items (type, owner, itemID, itemValue) VALUES (1, " .. mysql:escape_string(charid) .. ", 18, 1)" )
  5641.  
  5642. -- delete wiretransfers
  5643. mysql:query_free("DELETE FROM wiretransfers WHERE `from` = " .. mysql:escape_string(charid) .. " OR `to` = " .. mysql:escape_string(charid) )
  5644.  
  5645. -- set spawn at unity, strip off money etc
  5646. mysql:query_free("UPDATE characters SET x=1742.1884765625, y=-1861.3564453125, z=13.577615737915, rotation=0, faction_id=-1, faction_rank=0, faction_leader=0, weapons='', ammo='', car_license=0, gun_license=0, hoursplayed=0, timeinserver=0, transport=1, lastarea='El Corona', lang1=1, lang1skill=100, lang2=0, lang2skill=0, lang3=0, lang3skill=0, currLang=1, money=250, bankmoney=500, interior_id=0, dimension_id=0, health=100, armor=0, radiochannel=100, fightstyle=0, pdjail=0, pdjail_time=0, restrainedobj=0, restrainedby=0, hunter=0, stevie=0, tyrese=0, rook=0, fish=0, truckingruns=0, truckingwage=0, blindfold=0, phoneoff=0 WHERE id = " .. mysql:escape_string(charid) )
  5647.  
  5648. outputChatBox("Lenulláztad " .. character .. " vagyonát.", thePlayer, 0, 255, 0)
  5649. if (getElementData(thePlayer, "hiddenadmin")==0) then
  5650. local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
  5651. exports.global:sendMessageToAdmins("AdmCmd: " .. tostring(adminTitle) .. " " .. getPlayerName(thePlayer) .. " visszaállította " .. character .. " karaktert.")
  5652. end
  5653.  
  5654. exports.logs:logMessage("[/RESETCHARACTER] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." did this on ".. character , 4)
  5655.  
  5656. else
  5657. outputChatBox("Nem találom: " .. character, thePlayer, 255, 0, 0)
  5658. end
  5659. end
  5660. end
  5661. end
  5662. addCommandHandler("resetcharacter", resetCharacter)
  5663.  
  5664. -- FIND ALT CHARS
  5665. local function showAlts(thePlayer, id)
  5666. result = mysql:query("SELECT charactername, cked, faction_id, lastlogin FROM characters WHERE account = '" .. mysql:escape_string(id) .. "'" )
  5667. if result then
  5668. local name = mysql:query_fetch_assoc("SELECT username, banned FROM accounts WHERE id = '" .. mysql:escape_string(id) .. "'" )
  5669. if name then
  5670. local uname = name["username"]
  5671. if uname and uname ~= mysql_null() then
  5672. if (tonumber(name["banned"])) == 1 then
  5673. outputChatBox( "WHOIS " .. uname .. ": (BANNED)", thePlayer, 255, 194, 14 )
  5674. else
  5675. outputChatBox( "WHOIS " .. uname .. ": ", thePlayer, 255, 194, 14 )
  5676. end
  5677. else
  5678. outputChatBox( " ", thePlayer )
  5679. end
  5680. else
  5681. outputChatBox( " ", thePlayer )
  5682. end
  5683. local count = 0
  5684. local continue = true
  5685. while continue do
  5686. local row = mysql:fetch_assoc(result)
  5687. if not row then break end
  5688.  
  5689. count = count + 1
  5690. local r = 255
  5691. if getPlayerFromName( row["charactername"] ) then
  5692. r = 0
  5693. end
  5694.  
  5695. local text = "#" .. count .. ": " .. row["charactername"]:gsub("_", " ")
  5696. if tonumber( row["cked"] ) == 1 then
  5697. text = text .. " (Missing)"
  5698. elseif tonumber( row["cked"] ) == 2 then
  5699. text = text .. " (Buried)"
  5700. end
  5701.  
  5702. if row['lastlogin'] ~= mysql_null() then
  5703. text = text .. " - " .. tostring( row['lastlogin'] )
  5704. end
  5705.  
  5706. local faction = tonumber( row["faction_id"] ) or 0
  5707. if faction > 0 then
  5708. local theTeam = exports.pool:getElement("team", faction)
  5709. if theTeam then
  5710. text = text .. " - " .. getTeamName( theTeam )
  5711. end
  5712. end
  5713.  
  5714. outputChatBox( text, thePlayer, r, 255, 0)
  5715. end
  5716. mysql:free_result( result )
  5717. else
  5718. outputChatBox( "Error #9102 - Jelentsd a fórumon!", thePlayer, 255, 0, 0)
  5719. end
  5720. end
  5721.  
  5722. function findAltChars(thePlayer, commandName, ...)
  5723. if exports.global:isKettesAdmin( thePlayer ) then
  5724. if not (...) then
  5725. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  5726. else
  5727. local targetPlayerName = table.concat({...}, "_")
  5728. local targetPlayer = targetPlayerName == "*" and thePlayer or exports.global:findPlayerByPartialNick(nil, targetPlayerName)
  5729.  
  5730. if not targetPlayer or getElementData( targetPlayer, "loggedin" ) ~= 1 then
  5731. -- select by character name
  5732. local result = mysql:query("SELECT account FROM characters WHERE charactername = '" .. mysql:escape_string(targetPlayerName ) .. "'" )
  5733. if result then
  5734. if mysql:num_rows( result ) == 1 then
  5735. local row = mysql:fetch_assoc(result)
  5736. local id = tonumber( row["account"] ) or 0
  5737. showAlts( thePlayer, id )
  5738. return
  5739. else
  5740. -- select by account name
  5741. local result2 = mysql:query("SELECT id FROM accounts WHERE username = '" .. mysql:escape_string( targetPlayerName ) .. "'" )
  5742. if result2 then
  5743. if mysql:num_rows( result2 ) == 1 then
  5744. local row2 = mysql:fetch_assoc(result2)
  5745. local id = tonumber( row2["id"] ) or 0
  5746. showAlts( thePlayer, id )
  5747. return
  5748. end
  5749. mysql:free_result( result2 )
  5750. end
  5751. end
  5752. mysql:free_result( result )
  5753. end
  5754. outputChatBox("Nem találom a játékost vagy több mint 1 találat van.", thePlayer, 255, 0, 0)
  5755. else
  5756. local id = getElementData( targetPlayer, "gameaccountid" )
  5757. if id then
  5758. showAlts( thePlayer, id )
  5759. else
  5760. outputChatBox("Játék karakter ismeretlen.", thePlayer, 255, 0, 0)
  5761. end
  5762. end
  5763. end
  5764. end
  5765. end
  5766. addCommandHandler( "findalts", findAltChars )
  5767.  
  5768. local function showIPAlts(thePlayer, ip)
  5769. result = mysql:query("SELECT username,lastlogin,banned,banned_by FROM accounts WHERE ip = '" .. mysql:escape_string(ip) .. "'" )
  5770. if result then
  5771. local count = 0
  5772. local continue = true
  5773. while continue do
  5774. local row = mysql:fetch_assoc(result)
  5775. if not row then break end
  5776. count = count + 1
  5777. if (count == 1) then
  5778. outputChatBox( " IP Address: " .. ip, thePlayer)
  5779. end
  5780.  
  5781. local text = "#" .. count .. ": " .. row["username"]
  5782. if tonumber( row["banned"] ) == 1 then
  5783. text = text .. " (Bannolta " .. row["banned_by"] .. ")"
  5784. else
  5785. text = text .. " (Utolsó bejelentkezés: " .. row["lastlogin"] .. ")"
  5786. end
  5787. outputChatBox( text, thePlayer)
  5788. end
  5789. mysql:free_result( result )
  5790. else
  5791. outputChatBox( "Error #9101 - Jelentsd a fórumon!", thePlayer, 255, 0, 0)
  5792. end
  5793. end
  5794.  
  5795. function findAltAccIP(thePlayer, commandName, ...)
  5796. if exports.global:isPlayerSuperAdmin( thePlayer ) then
  5797. if not (...) then
  5798. outputChatBox("Példa: /" .. commandName .. " [NévRészlet]", thePlayer, 255, 194, 14)
  5799. else
  5800. local targetPlayerName = table.concat({...}, "_")
  5801. local targetPlayer = exports.global:findPlayerByPartialNick(nil, targetPlayerName)
  5802.  
  5803. if not targetPlayer or getElementData( targetPlayer, "loggedin" ) ~= 1 then
  5804. -- select by accountname
  5805. local result = mysql:query("SELECT ip FROM accounts WHERE username = '" .. mysql:escape_string(targetPlayerName ) .. "'" )
  5806. if result then
  5807. if mysql:num_rows( result ) == 1 then
  5808. local row = mysql:fetch_assoc(result)
  5809. local ip = row["ip"] or '0.0.0.0'
  5810. showIPAlts( thePlayer, ip )
  5811. mysql:free_result( result )
  5812. return
  5813. else
  5814. -- select by ip
  5815. local result2 = mysql:query("SELECT ip FROM accounts WHERE ip = '" .. mysql:escape_string( targetPlayerName ) .. "'" )
  5816. if result2 then
  5817. if mysql:num_rows( result2 ) == 1 then
  5818. local row2 = mysql:fetch_assoc(result2)
  5819. local ip = tonumber( row2["ip"] ) or '0.0.0.0'
  5820. showIPAlts( thePlayer, ip )
  5821. mysql:free_result( result2 )
  5822. return
  5823. end
  5824. mysql:free_result( result2 )
  5825. end
  5826. end
  5827. mysql:free_result( result )
  5828. end
  5829. outputChatBox("Nem találom a játékost vagy több mint 1 találat van.", thePlayer, 255, 0, 0)
  5830. else -- select by online player
  5831. showIPAlts( thePlayer, getPlayerIP(targetPlayer) )
  5832. end
  5833. end
  5834. end
  5835. end
  5836. addCommandHandler( "findip", findAltAccIP )
  5837.  
  5838. --give player license
  5839. function givePlayerLicense(thePlayer, commandName, targetPlayerName, licenseType)
  5840. local logged = getElementData(thePlayer, "loggedin")
  5841. if (logged==1) then
  5842. local theTeam = getPlayerTeam(thePlayer)
  5843. local factionType = getElementData(theTeam, "type")
  5844. if (factionType==3) then
  5845. if not targetPlayerName or not (licenseType and (licenseType == "1" or licenseType == "2")) then
  5846. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Típus]", thePlayer, 255, 194, 14)
  5847. outputChatBox("Típus 1 = Jogosítvány", thePlayer, 255, 194, 14)
  5848. outputChatBox("Típus 2 = Fegyverengedély", thePlayer, 255, 194, 14)
  5849. else
  5850. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, targetPlayerName)
  5851.  
  5852. if targetPlayer then
  5853. local logged = getElementData(targetPlayer, "loggedin")
  5854. price = 1000000
  5855. if (logged==0) then
  5856. outputChatBox("A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0)
  5857. elseif (logged==1) then
  5858. local licenseTypeOutput = licenseType == "1" and "Jogosítvány" or "fegyver"
  5859. licenseType = licenseType == "1" and "car" or "gun"
  5860. if getElementData(targetPlayer, "license."..licenseType) == 1 then
  5861. outputChatBox(getPlayerName(thePlayer).."-nak már van "..licenseTypeOutput.." engedélye.", thePlayer, 255, 255, 0)
  5862. else
  5863.  
  5864. local money = exports.global:getMoney(targetPlayer)
  5865. local bankmoney = getElementData(targetPlayer, "bankmoney")
  5866. if money + bankmoney < price then
  5867. outputChatBox("Játékosnak nincs elég pénze.", thePlayer, 255, 0, 0)
  5868. return
  5869. else
  5870.  
  5871. local takeFromCash = math.min( money, price )
  5872. local takeFromBank = price - takeFromCash
  5873. exports.global:takeMoney(targetPlayer, takeFromCash)
  5874. if takeFromBank > 0 then
  5875. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "bankmoney", bankmoney - takeFromBank)
  5876. end
  5877. exports.global:giveMoney( getTeamFromName("Országos Rendőr Fő-kapitányság"), price + 50000 )
  5878.  
  5879. if (licenseType == "gun") then
  5880. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "license."..licenseType, 1)
  5881. mysql:query_free("UPDATE characters SET "..mysql:escape_string(licenseType).."_license='1' WHERE id = "..mysql:escape_string(getElementData(targetPlayer, "dbid")).." LIMIT 1")
  5882. outputChatBox("Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt.", thePlayer, 0, 255, 0)
  5883. outputChatBox(""..getPlayerName(thePlayer):gsub("_"," ").." adott neked "..licenseTypeOutput.." engedélyt.", targetPlayer, 0, 255, 0)
  5884. exports.global:SendMessageToTeam("Országos Rendőr Fő-kapitányság","Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt. "..getPlayerName(thePlayer):gsub("_"," ").." által.", 255, 124, 14)
  5885. exports.logs:logMessage("[/GIVELICENSE] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." gave ".. targetPlayerName .." the following license:"..licenseTypeOutput, 4)
  5886. else
  5887. exports['anticheat-system']:changeProtectedElementDataEx(targetPlayer, "license."..licenseType, 1)
  5888. mysql:query_free("UPDATE characters SET "..mysql:escape_string(licenseType).."_license='1' WHERE id = "..mysql:escape_string(getElementData(targetPlayer, "dbid")).." LIMIT 1")
  5889. outputChatBox("Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt.", thePlayer, 0, 255, 0)
  5890. outputChatBox(""..getPlayerName(thePlayer):gsub("_"," ").." adott neked "..licenseTypeOutput.." engedélyt.", targetPlayer, 0, 255, 0)
  5891. exports.global:SendMessageToTeam("Országos Rendőr Fő-kapitányság","Játékos "..targetPlayerName.." kapott egy "..licenseTypeOutput.." engedélyt. "..getPlayerName(thePlayer):gsub("_"," ").." által.", 255, 124, 14)
  5892. exports.logs:logMessage("[/GIVELICENSE] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." gave ".. targetPlayerName .." the following license:"..licenseTypeOutput, 4)
  5893. end
  5894.  
  5895. end
  5896.  
  5897. end
  5898. end
  5899. end
  5900. end
  5901. else
  5902. outputChatBox(" Csak rendőrségnek! ", thePlayer, 255,0,0)
  5903. end
  5904. end
  5905. end
  5906. addCommandHandler("givelicense", givePlayerLicense)
  5907.  
  5908. -- Language commands
  5909. function getLanguageByName( language )
  5910. for i = 1, call( getResourceFromName( "language-system" ), "getLanguageCount" ) do
  5911. if language:lower() == call( getResourceFromName( "language-system" ), "getLanguageName", i ):lower() then
  5912. return i
  5913. end
  5914. end
  5915. return false
  5916. end
  5917.  
  5918. function setLanguage(thePlayer, commandName, targetPlayerName, language, skill)
  5919. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  5920. if exports.global:isPlayerAdmin(thePlayer) then
  5921. if not targetPlayerName or not language or not tonumber( skill ) then
  5922. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Nyelv] [Skill]", thePlayer, 255, 194, 14)
  5923. else
  5924. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick( thePlayer, targetPlayerName )
  5925. if not targetPlayer then
  5926. elseif getElementData( targetPlayer, "loggedin" ) ~= 1 then
  5927. outputChatBox( "A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0 )
  5928. else
  5929. local lang = tonumber( language ) or getLanguageByName( language )
  5930. local skill = tonumber( skill )
  5931. if not lang then
  5932. outputChatBox( language .. " nem érvényes nyelv.", thePlayer, 255, 0, 0 )
  5933. else
  5934. local langname = call( getResourceFromName( "language-system" ), "getLanguageName", lang )
  5935. local success, reason = call( getResourceFromName( "language-system" ), "learnLanguage", targetPlayer, lang, false, skill )
  5936. if success then
  5937. outputChatBox( targetPlayerName .. " megtanultad a " .. langname .. " nyelvet.", thePlayer, 0, 255, 0 )
  5938. else
  5939. outputChatBox( targetPlayerName .. " nem tudtad megtanulni a " .. langname .. " nyelvet: " .. tostring( reason ), thePlayer, 255, 0, 0 )
  5940. end
  5941. exports.logs:logMessage("[/SETLANGUAGE] " .. getElementData(thePlayer, "gameaccountusername") .. "/".. getPlayerName(thePlayer) .." learned ".. targetPlayerName .. " " .. langname , 4)
  5942. end
  5943. end
  5944. end
  5945. end
  5946. end
  5947. end
  5948. addCommandHandler("setlanguage", setLanguage)
  5949.  
  5950. function deleteLanguage(thePlayer, commandName, targetPlayerName, language)
  5951. if (getElementData( thePlayer, "adminlevel" ) > 1 and not (getElementData( thePlayer, "adminlevel" ) == 1)) then
  5952. if exports.global:isPlayerAdmin(thePlayer) then
  5953. if not targetPlayerName or not language then
  5954. outputChatBox("Példa: /" .. commandName .. " [NévRészlet] [Nyelv]", thePlayer, 255, 194, 14)
  5955. else
  5956. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick( thePlayer, targetPlayerName )
  5957. if not targetPlayer then
  5958. elseif getElementData( targetPlayer, "loggedin" ) ~= 1 then
  5959. outputChatBox( "A játékos nincs bejelentkezve.", thePlayer, 255, 0, 0 )
  5960. else
  5961. local lang = tonumber( language ) or getLanguageByName( language )
  5962. if not lang then
  5963. outputChatBox( language .. " nem érvényes nyelv.", thePlayer, 255, 0, 0 )
  5964. else
  5965. local langname = call( getResourceFromName( "language-system" ), "getLanguageName", lang )
  5966. if call( getResourceFromName( "language-system" ), "removeLanguage", targetPlayer, lang ) then
  5967. outputChatBox( targetPlayerName .. " forgot " .. langname .. ".", thePlayer, 0, 255, 0 )
  5968. else
  5969. outputChatBox( targetPlayerName .. " nem beszéli ezt a nyelvet: " .. langname, thePlayer, 255, 0, 0 )
  5970. end
  5971. end
  5972. end
  5973. end
  5974. end
  5975. end
  5976. end
  5977. addCommandHandler("dellanguage", deleteLanguage)
  5978.  
  5979. function marry(thePlayer, commandName, player1, player2)
  5980. if exports.global:isPlayerLeadAdmin(thePlayer) then
  5981. if not player1 or not player2 then
  5982. outputChatBox( "Példa: /" .. commandName .. " [Férj] [Feleség]", thePlayer, 255, 194, 14 )
  5983. else
  5984. local player1, player1name = exports.global:findPlayerByPartialNick( thePlayer, player1 )
  5985. if player1 then
  5986. local player2, player2name = exports.global:findPlayerByPartialNick( thePlayer, player2 )
  5987. if player2 then
  5988. -- check if one of the players is already married
  5989. local p1r = mysql:query_fetch_assoc("SELECT COUNT(*) as numbr FROM characters WHERE marriedto = " .. mysql:escape_string(getElementData( player1, "dbid" )) )
  5990. if p1r then
  5991. if tonumber( p1r["numbr"] ) == 0 then
  5992. local p2r = mysql:query_fetch_assoc("SELECT COUNT(*) as numbr FROM characters WHERE marriedto = " .. mysql:escape_string(getElementData( player2, "dbid" )) )
  5993. if p2r then
  5994. if tonumber( p2r["numbr"] ) == 0 then
  5995. mysql:query_free("UPDATE characters SET marriedto = " .. mysql:escape_string(getElementData( player1, "dbid" )) .. " WHERE id = " .. mysql:escape_string(getElementData( player2, "dbid" )) )
  5996. mysql:query_free("UPDATE characters SET marriedto = " .. mysql:escape_string(getElementData( player2, "dbid" )) .. " WHERE id = " .. mysql:escape_string(getElementData( player1, "dbid" )) )
  5997.  
  5998. outputChatBox( "Hozzál mentél " .. player2name .. "-hoz. Sok boldogságot!", player1, 0, 255, 0 )
  5999. outputChatBox( "Hozzál mentél " .. player1name .. "-hoz. Sok boldogságot!", player2, 0, 255, 0 )
  6000.  
  6001. exports['cache']:clearCharacterName( getElementData( player1, "dbid" ) )
  6002. exports['cache']:clearCharacterName( getElementData( player2, "dbid" ) )
  6003.  
  6004. outputChatBox( player1name .. " és " .. player2name .. " mostantól egy pár.", thePlayer, 255, 194, 14 )
  6005. else
  6006. outputChatBox( player2name .. " már házas.", thePlayer, 255, 0, 0 )
  6007. end
  6008. end
  6009. else
  6010. outputChatBox( player1name .. " már házas.", thePlayer, 255, 0, 0 )
  6011. end
  6012. end
  6013. end
  6014. end
  6015. end
  6016. end
  6017. end
  6018. addCommandHandler("marry", marry)
  6019. addCommandHandler("hazassag", marry)
  6020.  
  6021. function divorce(thePlayer, commandName, targetPlayer)
  6022. if exports.global:isPlayerLeadAdmin(thePlayer) then
  6023. if not targetPlayer then
  6024. outputChatBox( "Példa: /" .. commandName .. " [játékos]", thePlayer, 255, 194, 14 )
  6025. else
  6026. local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick( thePlayer, targetPlayer )
  6027. if targetPlayer then
  6028. local marriedto = mysql:query_fetch_assoc("SELECT marriedto FROM characters WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  6029. if marriedto then
  6030. local to = tonumber( marriedto["marriedto"] )
  6031. if to > 0 then
  6032. mysql:query_free("UPDATE characters SET marriedto = 0 WHERE id = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  6033. mysql:query_free("UPDATE characters SET marriedto = 0 WHERE marriedto = " .. mysql:escape_string(getElementData( targetPlayer, "dbid" )) )
  6034.  
  6035. exports['cache']:clearCharacterName( getElementData( targetPlayer, "dbid" ) )
  6036. exports['cache']:clearCharacterName( to )
  6037.  
  6038. outputChatBox( targetPlayerName .. " szétvált.", thePlayer, 0, 255, 0 )
  6039. else
  6040. outputChatBox( targetPlayerName .. " szétvált", thePlayer, 255, 194, 14 )
  6041. end
  6042. end
  6043. end
  6044. end
  6045. end
  6046. end
  6047. addCommandHandler("divorce", divorce)
  6048. addCommandHandler("hazassagtores", divorce)
  6049.  
  6050. function vehicleLimit(admin, command, player, limit)
  6051. if exports.global:isPlayerLeadAdmin(admin) then
  6052. if (not player and not limit) then
  6053. outputChatBox("Példa: /" .. command .. " [Játékos] [Limit]", admin, 255, 194, 14)
  6054. else
  6055. local tplayer, targetPlayerName = exports.global:findPlayerByPartialNick(admin, player)
  6056. if (tplayer) then
  6057. local query = mysql:query_fetch_assoc("SELECT maxvehicles FROM characters WHERE id = " .. mysql:escape_string(getElementData(tplayer, "dbid")))
  6058. if (query) then
  6059. local oldvl = query["maxvehicles"]
  6060. local newl = tonumber(limit)
  6061. if (newl) then
  6062. if (newl>0) then
  6063. mysql:query_free("UPDATE characters SET maxvehicles = " .. mysql:escape_string(newl) .. " WHERE id = " .. mysql:escape_string(getElementData(tplayer, "dbid")))
  6064.  
  6065. exports['anticheat-system']:changeProtectedElementDataEx(tplayer, "maxvehicles", newl)
  6066.  
  6067. outputChatBox("Beállítottad " .. targetPlayerName:gsub("_", " ") .. " jármá limitjét erre: " .. newl .. ".", admin, 255, 194, 14)
  6068. outputChatBox("Admin " .. getPlayerName(admin):gsub("_"," ") .. " beállította a jármû limitedet erre: " .. newl .. ".", tplayer, 255, 194, 14)
  6069.  
  6070. exports.logs:logMessage("[SET VEHICLE LIMIT] " .. getPlayerName(admin):gsub("_"," ") .. " has set " .. targetPlayerName:gsub("_", " ") .. " vehicle limit from " .. oldvl .. " to " .. newl .. ".", 4)
  6071. else
  6072. outputChatBox("A limit nem lehet kevesebb mint 0!", admin, 255, 194, 14)
  6073. end
  6074. end
  6075. end
  6076. else
  6077. outputChatBox("Probléma lépett fel a játékos keresése közben.", admin)
  6078. end
  6079. end
  6080. end
  6081. end
  6082. addCommandHandler("setvehlimit", vehicleLimit)
  6083.  
  6084. function fklista(admin, command, frakcio)
  6085. if exports.global:isPlayerLeadAdmin(admin) then
  6086. if (not frakcio) then
  6087. outputChatBox("Példa: /" .. command .. " [Frakció id]", admin, 255, 194, 14)
  6088. else
  6089.  
  6090. local result = mysql:query("SELECT faction, id, model FROM vehicles WHERE faction = " .. mysql:escape_string(frakcio) .. "" )
  6091. i = 0
  6092. if result then
  6093. outputChatBox("[[[ Frakció id: "..frakcio.." járművei ]]]", admin, 255,0,0)
  6094. local continue = true
  6095. while continue do
  6096. local row = mysql:fetch_assoc(result)
  6097. if not row then break end
  6098.  
  6099. local id = tonumber(row["id"])
  6100. local model = tonumber(row["model"])
  6101. outputChatBox(getVehicleNameFromModel ( model ) .. " - " .. id, admin, 255,255,0)
  6102. i = i + 1
  6103. end
  6104. outputChatBox("[[[ Összes jármű: "..i.." ]]]", admin, 255,0,0)
  6105. outputChatBox("[[[ Frakció id: "..frakcio.." járművei lekérdezés vége ]]]", admin, 255,0,0)
  6106. end
  6107.  
  6108. end
  6109. end
  6110. end
  6111. addCommandHandler("fklista", fklista)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement