Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.62 KB | None | 0 0
  1. local permission = {
  2. kick = 1,
  3. ban = 4
  4. }
  5.  
  6. -- Loading MySQL Class
  7. require "resources/essentialmode/lib/MySQL"
  8.  
  9. -- MySQL:open("IP", "databasname", "user", "password")
  10. MySQL:open("127.0.0.1", "gta5_gamemode_kek", "subwoofer", "1252")
  11.  
  12. -- Adding custom groups called owner, inhereting from admin. (It's higher then admin). And moderator, higher then user but lower then admin
  13. TriggerEvent("es:addGroup", "admin", "co-admin", function(group) end)
  14. TriggerEvent("es:addGroup", "mod", "user", function(group) end)
  15.  
  16. -- Default commands
  17. TriggerEvent('es:addCommand', 'group', function(source, args, user)
  18. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Permission level: ^2" .. user['permission_level'])
  19. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Group: ^2" .. user.group.group)
  20. end)
  21.  
  22. -- Default commands
  23. TriggerEvent('es:addCommand', 'report', function(source, args, user)
  24. table.remove(args, 1)
  25. TriggerClientEvent('chatMessage', source, "REPORT", {255, 0, 0}, " (^2" .. GetPlayerName(source) .." | "..source.."^0) " .. table.concat(args, " "))
  26.  
  27. TriggerEvent("es:getPlayers", function(pl)
  28. for k,v in pairs(pl) do
  29. TriggerEvent("es:getPlayerFromId", k, function(user)
  30. if(user.permission_level > 0 and k ~= source)then
  31. TriggerClientEvent('chatMessage', k, "REPORT", {255, 0, 0}, " (^2" .. GetPlayerName(source) .." | "..source.."^0) " .. table.concat(args, " "))
  32. end
  33. end)
  34. end
  35. end)
  36. end)
  37.  
  38. -- Append a message
  39. function appendNewPos(msg)
  40. local file = io.open('resources/[essential]/es_admin/positions.txt', "a")
  41. newFile = msg
  42. file:write(newFile)
  43. file:flush()
  44. file:close()
  45. end
  46.  
  47. -- Do them hashes
  48. function doHashes()
  49. lines = {}
  50. for line in io.lines("resources/[essential]/es_admin/input.txt") do
  51. lines[#lines + 1] = line
  52. end
  53.  
  54. return lines
  55. end
  56.  
  57.  
  58. RegisterServerEvent('es_admin:givePos')
  59. AddEventHandler('es_admin:givePos', function(str)
  60. appendNewPos(str)
  61. end)
  62.  
  63. TriggerEvent('es:addGroupCommand', 'hashes', "admin", function(source, args, user)
  64. TriggerClientEvent('es_admin:doHashes', source, doHashes())
  65. end, function(source, args, user)end)
  66.  
  67. -- Noclip
  68. TriggerEvent('es:addGroupCommand', 'noclip', "admin", function(source, args, user)
  69. TriggerClientEvent("es_admin:noclip", source)
  70. end, function(source, args, user)
  71. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  72. end)
  73.  
  74. -- Spawn Car
  75. TriggerEvent('es:addGroupCommand', 'car', function(source, args, user)
  76. TriggerClientEvent("es_admin:spawnVehicle", source)
  77. end)
  78.  
  79. -- Kicking
  80. TriggerEvent('es:addGroupCommand', 'kick', "mod", function(source, args, user)
  81. if(GetPlayerName(tonumber(args[2])))then
  82. local player = tonumber(args[2])
  83.  
  84. -- User permission check
  85. TriggerEvent("es:getPlayerFromId", player, function(target)
  86. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  87. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  88. return
  89. end
  90.  
  91. local reason = args
  92. table.remove(reason, 1)
  93. table.remove(reason, 1)
  94. if(#reason == 0)then
  95. reason = "Kicked: You have been kicked from the server"
  96. else
  97. reason = "Kicked: " .. table.concat(reason, " ")
  98. end
  99.  
  100. TriggerClientEvent('chatMessage', -1, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been kicked(^2" .. reason .. "^0)")
  101. DropPlayer(player, reason)
  102. end)
  103. else
  104. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  105. end
  106. end, function(source, args, user)
  107. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  108. end)
  109.  
  110. -- Banning
  111. TriggerEvent('es:addGroupCommand', 'ban', "admin", function(source, args, user)
  112. if(GetPlayerName(tonumber(args[2])) ~= nil)then
  113. -- User permission check
  114. local player = tonumber(args[2])
  115. TriggerEvent("es:getPlayerFromId", player, function(target)
  116. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  117. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  118. return
  119. end
  120. local time = args[3]
  121.  
  122. local message = ""
  123.  
  124. if string.find(time, "m") then
  125. time = string.gsub(time, "m", "")
  126. time = os.time() + (tonumber(time) * 60)
  127. message = time .. " minute(s)"
  128. elseif string.find(time, "h") then
  129. time = string.gsub(time, "h", "")
  130. message = time .. " hour(s)"
  131. time = os.time() + (tonumber(time) * 60 * 60)
  132. else
  133. time = os.time() + tonumber(time)
  134. message = time .. " second(s)"
  135. end
  136.  
  137. if not tonumber(time) > 0 then
  138. time = os.time() + 999999999999
  139. message = 'very long'
  140. end
  141.  
  142. local reason = args
  143. table.remove(reason, 1)
  144. table.remove(reason, 1)
  145. table.remove(reason, 1)
  146.  
  147. reason = "Banned: " .. table.concat(reason, " ")
  148.  
  149. if(reason == "Banned: ")then
  150. reason = reason .. "You have been banned for: ^1^*" .. message .. "^r^0."
  151. DropPlayer(player, "You have been banned for: " .. message)
  152. else
  153. DropPlayer(player, "Banned: " .. reason)
  154. end
  155.  
  156. TriggerClientEvent('chatMessage', -1, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been banned(^2" .. reason .. "^0)")
  157.  
  158. local tstamp = os.date("*t", time)
  159. local tstamp2 = os.date("*t", os.time())
  160.  
  161. MySQL:executeQuery("INSERT INTO bans (`banned`, `reason`, `expires`, `banner`, `timestamp`) VALUES ('@username', '@reason', '@expires', '@banner', '@now')",
  162. {['@username'] = target.identifier, ['@reason'] = reason, ['@expires'] = os.date(tstamp.year .. "-" .. tstamp.month .. "-" .. tstamp.day .. " " .. tstamp.hour .. ":" .. tstamp.min .. ":" .. tstamp.sec), ['@banner'] = user.identifier, ['@now'] = os.date(tstamp2.year .. "-" .. tstamp2.month .. "-" .. tstamp2.day .. " " .. tstamp2.hour .. ":" .. tstamp2.min .. ":" .. tstamp2.sec)})
  163. end)
  164. else
  165. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  166. end
  167. end, function(source, args, user)
  168. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  169. end)
  170.  
  171. function stringsplit(self, delimiter)
  172. local a = self:Split(delimiter)
  173. local t = {}
  174.  
  175. for i = 0, #a - 1 do
  176. table.insert(t, a[i])
  177. end
  178.  
  179. return t
  180. end
  181.  
  182. -- Announcing
  183. TriggerEvent('es:addGroupCommand', 'announce', "admin", function(source, args, user)
  184. table.remove(args, 1)
  185. TriggerClientEvent('chatMessage', -1, "ANNOUNCEMENT", {255, 0, 0}, "" .. table.concat(args, " "))
  186. end, function(source, args, user)
  187. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  188. end)
  189.  
  190. -- Freezing
  191. local frozen = {}
  192. TriggerEvent('es:addGroupCommand', 'freeze', "mod", function(source, args, user)
  193. if(GetPlayerName(tonumber(args[2])))then
  194. local player = tonumber(args[2])
  195.  
  196. -- User permission check
  197. TriggerEvent("es:getPlayerFromId", player, function(target)
  198. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  199. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  200. return
  201. end
  202.  
  203. if(frozen[player])then
  204. frozen[player] = false
  205. else
  206. frozen[player] = true
  207. end
  208.  
  209. TriggerClientEvent('es_admin:freezePlayer', player, frozen[player])
  210.  
  211. local state = "unfrozen"
  212. if(frozen[player])then
  213. state = "frozen"
  214. end
  215.  
  216. TriggerClientEvent('chatMessage', player, "SYSTEM", {255, 0, 0}, "You have been " .. state .. " by ^2" .. GetPlayerName(source))
  217. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been " .. state)
  218. end)
  219. else
  220. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  221. end
  222. end, function(source, args, user)
  223. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  224. end)
  225.  
  226. -- Bring
  227. local frozen = {}
  228. TriggerEvent('es:addGroupCommand', 'bring', "mod", function(source, args, user)
  229. if(GetPlayerName(tonumber(args[2])))then
  230. local player = tonumber(args[2])
  231.  
  232. -- User permission check
  233. TriggerEvent("es:getPlayerFromId", player, function(target)
  234. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  235. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  236. return
  237. end
  238.  
  239. TriggerClientEvent('es_admin:teleportUser', player, source)
  240.  
  241. TriggerClientEvent('chatMessage', player, "SYSTEM", {255, 0, 0}, "You have brought by ^2" .. GetPlayerName(source))
  242. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been brought")
  243. end)
  244. else
  245. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  246. end
  247. end, function(source, args, user)
  248. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  249. end)
  250.  
  251. -- slap
  252. local frozen = {}
  253. TriggerEvent('es:addGroupCommand', 'slap', "admin", function(source, args, user)
  254. if(GetPlayerName(tonumber(args[2])))then
  255. local player = tonumber(args[2])
  256.  
  257. -- User permission check
  258. TriggerEvent("es:getPlayerFromId", player, function(target)
  259. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  260. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  261. return
  262. end
  263.  
  264. TriggerClientEvent('es_admin:slap', player)
  265.  
  266. TriggerClientEvent('chatMessage', player, "SYSTEM", {255, 0, 0}, "You have slapped by ^2" .. GetPlayerName(source))
  267. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been slapped")
  268. end)
  269. else
  270. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  271. end
  272. end, function(source, args, user)
  273. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  274. end)
  275.  
  276. -- go to
  277. local frozen = {}
  278. TriggerEvent('es:addGroupCommand', 'goto', "mod", function(source, args, user)
  279. if(GetPlayerName(tonumber(args[2])))then
  280. local player = tonumber(args[2])
  281.  
  282. -- User permission check
  283. TriggerEvent("es:getPlayerFromId", player, function(target)
  284. if(target)then
  285. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  286. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  287. return
  288. end
  289.  
  290. TriggerClientEvent('es_admin:teleportUser', source, player)
  291.  
  292. TriggerClientEvent('chatMessage', player, "SYSTEM", {255, 0, 0}, "You have been teleported to by ^2" .. GetPlayerName(source))
  293. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Teleported to player ^2" .. GetPlayerName(player) .. "")
  294. end
  295. end)
  296. else
  297. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  298. end
  299. end, function(source, args, user)
  300. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  301. end)
  302.  
  303. -- Killing
  304. TriggerEvent('es:addGroupCommand', 'slay', "admin", function(source, args, user)
  305. if(GetPlayerName(tonumber(args[2])))then
  306. local player = tonumber(args[2])
  307.  
  308. -- User permission check
  309. TriggerEvent("es:getPlayerFromId", player, function(target)
  310. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  311. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  312. return
  313. end
  314.  
  315. TriggerClientEvent('es_admin:kill', player)
  316.  
  317. TriggerClientEvent('chatMessage', player, "SYSTEM", {255, 0, 0}, "You have been killed by ^2" .. GetPlayerName(source))
  318. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been killed.")
  319. end)
  320. else
  321. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  322. end
  323. end, function(source, args, user)
  324. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  325. end)
  326.  
  327. -- Crashing
  328. TriggerEvent('es:addGroupCommand', 'crash', "admin", function(source, args, user)
  329. if(GetPlayerName(tonumber(args[2])))then
  330. local player = tonumber(args[2])
  331.  
  332. -- User permission check
  333. TriggerEvent("es:getPlayerFromId", player, function(target)
  334. if(tonumber(target.permission_level) > tonumber(user.permission_level))then
  335. TriggerClientEvent("chatMessage", source, "SYSTEM", {255, 0, 0}, "You're not allowed to target this person!")
  336. return
  337. end
  338.  
  339. TriggerClientEvent('es_admin:crash', player)
  340.  
  341. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been crashed.")
  342. end)
  343. else
  344. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Incorrect player ID!")
  345. end
  346. end, function(source, args, user)
  347. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  348. end)
  349.  
  350. -- Position
  351. TriggerEvent('es:addGroupCommand', 'pos', "admin", function(source, args, user)
  352. TriggerClientEvent('es_admin:givePosition', source)
  353. end, function(source, args, user)
  354. TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficienct permissions!")
  355. end)
  356.  
  357.  
  358. -- Rcon commands
  359. AddEventHandler('rconCommand', function(commandName, args)
  360. if commandName == 'setadmin' then
  361. if #args ~= 2 then
  362. RconPrint("Usage: setadmin [user-id] [permission-level]\n")
  363. CancelEvent()
  364. return
  365. end
  366.  
  367. if(GetPlayerName(tonumber(args[1])) == nil)then
  368. RconPrint("Player not ingame\n")
  369. CancelEvent()
  370. return
  371. end
  372.  
  373. TriggerEvent("es:setPlayerData", tonumber(args[1]), "permission_level", tonumber(args[2]), function(response, success)
  374. RconPrint(response)
  375.  
  376. if(success)then
  377. print(args[1] .. " " .. args[2])
  378. TriggerClientEvent('es:setPlayerDecorator', tonumber(args[1]), 'rank', tonumber(args[2]), true)
  379. TriggerClientEvent('chatMessage', -1, "CONSOLE", {0, 0, 0}, "Permission level of ^2" .. GetPlayerName(tonumber(args[1])) .. "^0 has been set to ^2" .. args[2])
  380. end
  381. end)
  382.  
  383. CancelEvent()
  384. elseif commandName == 'setgroup' then
  385. if #args ~= 2 then
  386. RconPrint("Usage: setgroup [user-id] [group]\n")
  387. CancelEvent()
  388. return
  389. end
  390.  
  391. if(GetPlayerName(tonumber(args[1])) == nil)then
  392. RconPrint("Player not ingame\n")
  393. CancelEvent()
  394. return
  395. end
  396.  
  397. TriggerEvent("es:getAllGroups", function(groups)
  398.  
  399. if(groups[args[2]])then
  400. TriggerEvent("es:setPlayerData", tonumber(args[1]), "group", args[2], function(response, success)
  401. RconPrint(response)
  402.  
  403. if(success)then
  404. print(args[1] .. " " .. args[2])
  405. TriggerClientEvent('es:setPlayerDecorator', tonumber(args[1]), 'group', tonumber(args[2]), true)
  406. TriggerClientEvent('chatMessage', -1, "CONSOLE", {0, 0, 0}, "Group of ^2" .. GetPlayerName(tonumber(args[1])) .. "^0 has been set to ^2" .. args[2])
  407. end
  408. end)
  409. else
  410. RconPrint("This group does not exist.\n")
  411. end
  412. end)
  413.  
  414. CancelEvent()
  415. elseif commandName == 'setmoney' then
  416. if #args ~= 2 then
  417. RconPrint("Usage: setmoney [user-id] [money]\n")
  418. CancelEvent()
  419. return
  420. end
  421.  
  422. if(GetPlayerName(tonumber(args[1])) == nil)then
  423. RconPrint("Player not ingame\n")
  424. CancelEvent()
  425. return
  426. end
  427.  
  428. TriggerEvent("es:getPlayerFromId", tonumber(args[1]), function(user)
  429. if(user)then
  430. user:setMoney((args[2] + 0.0))
  431.  
  432. RconPrint("Money set")
  433. TriggerClientEvent('chatMessage', tonumber(args[1]), "CONSOLE", {0, 0, 0}, "Your money has been set to: $" .. tonumber(args[2]))
  434. end
  435. end)
  436.  
  437. CancelEvent()
  438. elseif commandName == 'unban' then
  439. if #args ~= 1 then
  440. RconPrint("Usage: unban [identifier]\n")
  441. CancelEvent()
  442. return
  443. end
  444.  
  445. CancelEvent()
  446. elseif commandName == 'ban' then
  447. if #args ~= 1 then
  448. RconPrint("Usage: ban [user-id]\n")
  449. CancelEvent()
  450. return
  451. end
  452.  
  453. if(GetPlayerName(tonumber(args[1])) == nil)then
  454. RconPrint("Player not ingame\n")
  455. CancelEvent()
  456. return
  457. end
  458.  
  459. TriggerEvent("es:setPlayerData", tonumber(args[1]), "banned", 1, function(response, success)
  460. TriggerClientEvent('chatMessage', -1, "SYSTEM", {255, 0, 0}, "Player ^2" .. GetPlayerName(player) .. "^0 has been banned(^2Banned: You have been banned by console.^0)")
  461. end)
  462.  
  463. CancelEvent()
  464. end
  465. end)
  466.  
  467. -- Logging
  468. AddEventHandler("es:adminCommandRan", function(source, command)
  469.  
  470. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement