Advertisement
Guest User

Untitled

a guest
Feb 16th, 2020
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.39 KB | None | 0 0
  1. local htmlEntities = module("lib/htmlEntities")
  2. local Tools = module("lib/Tools")
  3.  
  4. local titles = { "Trial Helper", "Helper", "Moderator", "Administrator", "Super Admin", "Fondator" }
  5.  
  6. function vRP.getUserAdminLevel(user_id)
  7. local tmp = vRP.getUserTmpTable(user_id)
  8. if tmp then
  9. adminLevel = tmp.adminLevel
  10. end
  11. return adminLevel or 0
  12. end
  13.  
  14. function vRP.isAdmin(user_id)
  15. local tmp = vRP.getUserTmpTable(user_id)
  16. if tmp then
  17. adminLevel = tmp.adminLevel
  18. end
  19. if (adminLevel >= 0) then
  20. return true
  21. else
  22. return false
  23. end
  24. end
  25.  
  26. function vRP.isUserTrialHelper(user_id)
  27. local adminLevel = vRP.getUserAdminLevel(user_id)
  28. if(adminLevel >= 1)then
  29. return true
  30. else
  31. return false
  32. end
  33. end
  34.  
  35. function vRP.isUserHelper(user_id)
  36. local adminLevel = vRP.getUserAdminLevel(user_id)
  37. if(adminLevel >= 2)then
  38. return true
  39. else
  40. return false
  41. end
  42. end
  43.  
  44. function vRP.isUserMod(user_id)
  45. local adminLevel = vRP.getUserAdminLevel(user_id)
  46. if(adminLevel >= 3)then
  47. return true
  48. else
  49. return false
  50. end
  51. end
  52.  
  53. function vRP.isUserAdmin(user_id)
  54. local adminLevel = vRP.getUserAdminLevel(user_id)
  55. if(adminLevel >= 4)then
  56. return true
  57. else
  58. return false
  59. end
  60. end
  61.  
  62. function vRP.isUserHeadAdmin(user_id)
  63. local adminLevel = vRP.getUserAdminLevel(user_id)
  64. if(adminLevel >= 5)then
  65. return true
  66. else
  67. return false
  68. end
  69. end
  70.  
  71. function vRP.isUserOwner(user_id)
  72. local adminLevel = vRP.getUserAdminLevel(user_id)
  73. if(adminLevel >= 6)then
  74. return true
  75. else
  76. return false
  77. end
  78. end
  79.  
  80. function vRP.getUserAdminTitle(user_id)
  81. local text = titles[vRP.getUserAdminLevel(user_id)] or "Admin"
  82. return text
  83. end
  84.  
  85. function vRP.setUserAdminLevel(user_id,admin)
  86. local tmp = vRP.getUserTmpTable(user_id)
  87. if tmp then
  88. tmp.adminLevel = admin
  89. end
  90. MySQL.Async.execute("UPDATE vrp_users SET adminLvl = @adminLevel WHERE id = @user_id", {['@user_id'] = user_id, ['@adminLevel'] = admin}, function()end)
  91. end
  92.  
  93. function vRP.getOnlineAdmins()
  94. local oUsers = {}
  95. for k,v in pairs(vRP.rusers) do
  96. if vRP.isUserAdmin(tonumber(k)) then table.insert(oUsers, tonumber(k)) end
  97. end
  98. return oUsers
  99. end
  100.  
  101. RegisterCommand('bagaban', function(source, args, rawCommand)
  102. if(source == 0)then
  103. id = tonumber(args[1])
  104. reason = tostring(args[2])
  105. local theTarget = vRP.getUserSource(id)
  106. if(theTarget)then
  107. TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^3"..GetPlayerName(theTarget).." ^2a fost banat de Consola")
  108. vRP.ban(theTarget,"Banat de consola", "Consola")
  109. end
  110. end
  111. end)
  112.  
  113.  
  114. -- this module define some admin menu functions
  115.  
  116. local player_lists = {}
  117.  
  118. local function ch_list(player,choice)
  119. local user_id = vRP.getUserId(player)
  120. if user_id ~= nil and vRP.hasPermission(user_id,"player.list") then
  121. if player_lists[player] then -- hide
  122. player_lists[player] = nil
  123. vRPclient.removeDiv(player,{"user_list"})
  124. else -- show
  125. local content = ""
  126. local count = 0
  127. for k,v in pairs(vRP.rusers) do
  128. count = count+1
  129. local source = vRP.getUserSource(k)
  130. vRP.getUserIdentity(k, function(identity)
  131. if source ~= nil then
  132. --content = content.."<br />"..k.." => <span class=\"pseudo\">"..vRP.getPlayerName(source).."</span> <span class=\"endpoint\">"..vRP.getPlayerEndpoint(source).."</span>"
  133. content = content.."<br />"..k.." => <span class=\"pseudo\">"..vRP.getPlayerName(source).."</span> <span class=\"endpoint\">NO IP</span>"
  134. if identity then
  135. content = content.." <span class=\"name\">"..htmlEntities.encode(identity.firstname).." "..htmlEntities.encode(identity.name).."</span> <span class=\"reg\">"..identity.registration.."</span> <span class=\"phone\">"..identity.phone.."</span>"
  136. end
  137. end
  138.  
  139. -- check end
  140. count = count-1
  141. if count == 0 then
  142. player_lists[player] = true
  143. local css = [[
  144. .div_user_list{
  145. margin: auto;
  146. padding: 8px;
  147. width: 650px;
  148. margin-top: 80px;
  149. background: black;
  150. color: white;
  151. font-weight: bold;
  152. font-size: 1.1em;
  153. }
  154.  
  155. .div_user_list .pseudo{
  156. color: rgb(0,255,125);
  157. }
  158.  
  159. .div_user_list .endpoint{
  160. color: rgb(255,0,0);
  161. }
  162.  
  163. .div_user_list .name{
  164. color: #309eff;
  165. }
  166.  
  167. .div_user_list .reg{
  168. color: rgb(0,125,255);
  169. }
  170.  
  171. .div_user_list .phone{
  172. color: rgb(211, 0, 255);
  173. }
  174. ]]
  175. vRPclient.setDiv(player,{"user_list", css, content})
  176. end
  177. end)
  178. end
  179. end
  180. end
  181. end
  182.  
  183. local function ch_whitelist(player,choice)
  184. local user_id = vRP.getUserId(player)
  185. if user_id ~= nil then
  186. vRP.prompt(player,"User id to whitelist: ","",function(player,id)
  187. id = parseInt(id)
  188. vRP.setWhitelisted(id,true)
  189. vRPclient.notify(player,{"whitelisted user "..id})
  190. end)
  191. end
  192. end
  193.  
  194. local function ch_unwhitelist(player,choice)
  195. local user_id = vRP.getUserId(player)
  196. if user_id ~= nil then
  197. vRP.prompt(player,"User id to un-whitelist: ","",function(player,id)
  198. id = parseInt(id)
  199. vRP.setWhitelisted(id,false)
  200. vRPclient.notify(player,{"un-whitelisted user "..id})
  201. end)
  202. end
  203. end
  204.  
  205. local function ch_addgroup(player,choice)
  206. local user_id = vRP.getUserId(player)
  207. if user_id ~= nil then
  208. vRP.prompt(player,"User id: ","",function(player,id)
  209. id = parseInt(id)
  210. vRP.prompt(player,"Group to add: ","",function(player,group)
  211. vRP.addUserGroup(id,group)
  212. vRPclient.notify(player,{group.." added to user "..id})
  213. end)
  214. end)
  215. end
  216. end
  217.  
  218. local function ch_removegroup(player,choice)
  219. local user_id = vRP.getUserId(player)
  220. if user_id ~= nil then
  221. vRP.prompt(player,"User id: ","",function(player,id)
  222. id = parseInt(id)
  223. vRP.prompt(player,"Group to remove: ","",function(player,group)
  224. vRP.removeUserGroup(id,group)
  225. vRPclient.notify(player,{group.." removed from user "..id})
  226. end)
  227. end)
  228. end
  229. end
  230.  
  231. local function ch_kick(player,choice)
  232. local user_id = vRP.getUserId(player)
  233. if user_id ~= nil then
  234. vRP.prompt(player,"User id to kick: ","",function(player,id)
  235. id = parseInt(id)
  236. vRP.prompt(player,"Reason: ","",function(player,reason)
  237. local source = vRP.getUserSource(id)
  238. if source ~= nil then
  239. TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Adminul ^3"..GetPlayerName(player).." ^2i-a dat kick lui ^3"..GetPlayerName(source))
  240. TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Motiv: ^3"..reason)
  241. vRP.kick(source,reason)
  242. vRPclient.notify(player,{"kicked user "..id})
  243. end
  244. end)
  245. end)
  246. end
  247. end
  248.  
  249. local function ch_ban(player,choice)
  250. local user_id = vRP.getUserId(player)
  251. if user_id ~= nil then
  252. vRP.prompt(player,"User id to ban: ","",function(player,id)
  253. id = parseInt(id)
  254. vRP.prompt(player,"Reason: ","",function(player,reason)
  255. local source = vRP.getUserSource(id)
  256. if source ~= nil then
  257. TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Adminul ^3"..GetPlayerName(player).." ^2i-a dat ban lui ^3"..GetPlayerName(source))
  258. TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Motiv: ^3"..reason)
  259. vRP.ban(source,reason,player)
  260. vRPclient.notify(player,{"banned user "..id})
  261. end
  262. end)
  263. end)
  264. end
  265. end
  266.  
  267. local function ch_unban(player,choice)
  268. local user_id = vRP.getUserId(player)
  269. if user_id ~= nil then
  270. vRP.prompt(player,"User id to unban: ","",function(player,id)
  271. id = parseInt(id)
  272. vRP.setBanned(id,false)
  273. vRPclient.notify(player,{"un-banned user "..id})
  274. local rows = MySQL.Sync.fetchAll("SELECT username FROM vrp_users WHERE id = @user_id", {['@user_id'] = id})
  275. TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Adminul ^3"..GetPlayerName(player).." ^2ia scos banul lui ^3"..GetPlayerName(tostring(rows[1].username)))
  276. end)
  277. end
  278. end
  279.  
  280. local function ch_emote(player,choice)
  281. local user_id = vRP.getUserId(player)
  282. if user_id ~= nil then
  283. vRP.prompt(player,"Animation sequence ('dict anim optional_loops' per line): ","",function(player,content)
  284. local seq = {}
  285. for line in string.gmatch(content,"[^\n]+") do
  286. local args = {}
  287. for arg in string.gmatch(line,"[^%s]+") do
  288. table.insert(args,arg)
  289. end
  290.  
  291. table.insert(seq,{args[1] or "", args[2] or "", args[3] or 1})
  292. end
  293.  
  294. vRPclient.playAnim(player,{true,seq,false})
  295. end)
  296. end
  297. end
  298.  
  299. local function ch_sound(player,choice)
  300. local user_id = vRP.getUserId(player)
  301. if user_id ~= nil then
  302. vRP.prompt(player,"Sound 'dict name': ","",function(player,content)
  303. local args = {}
  304. for arg in string.gmatch(content,"[^%s]+") do
  305. table.insert(args,arg)
  306. end
  307. vRPclient.playSound(player,{args[1] or "", args[2] or ""})
  308. end)
  309. end
  310. end
  311.  
  312. local function ch_coords(player,choice)
  313. vRPclient.getPosition(player,{},function(x,y,z)
  314. vRP.prompt(player,"Copy the coordinates using Ctrl-A Ctrl-C",x..","..y..","..z,function(player,choice) end)
  315. end)
  316. end
  317.  
  318. local function ch_tptome(player,choice)
  319. vRPclient.getPosition(player,{},function(x,y,z)
  320. vRP.prompt(player,"User id:","",function(player,user_id)
  321. local tplayer = vRP.getUserSource(tonumber(user_id))
  322. if tplayer ~= nil then
  323. vRPclient.teleport(tplayer,{x,y,z})
  324. end
  325. end)
  326. end)
  327. end
  328.  
  329. local function ch_tpto(player,choice)
  330. vRP.prompt(player,"User id:","",function(player,user_id)
  331. local tplayer = vRP.getUserSource(tonumber(user_id))
  332. if tplayer ~= nil then
  333. vRPclient.getPosition(tplayer,{},function(x,y,z)
  334. vRPclient.teleport(player,{x,y,z})
  335. end)
  336. end
  337. end)
  338. end
  339.  
  340. local function ch_tptocoords(player,choice)
  341. vRP.prompt(player,"Coords x,y,z:","",function(player,fcoords)
  342. local coords = {}
  343. for coord in string.gmatch(fcoords or "0,0,0","[^,]+") do
  344. table.insert(coords,tonumber(coord))
  345. end
  346.  
  347. local x,y,z = 0,0,0
  348. if coords[1] ~= nil then x = coords[1] end
  349. if coords[2] ~= nil then y = coords[2] end
  350. if coords[3] ~= nil then z = coords[3] end
  351.  
  352. vRPclient.teleport(player,{x,y,z})
  353. end)
  354. end
  355.  
  356. local function ch_givemoney(player,choice)
  357. local user_id = vRP.getUserId(player)
  358. if user_id ~= nil then
  359. vRP.prompt(player,"ID (GIVE MONEY):","",function(player,nplayer)
  360. if nplayer ~= "" or nplayer ~= nil then
  361. target = vRP.getUserSource(tonumber(nplayer))
  362. if target then
  363. vRP.prompt(player,"Cantitate? (GIVE MONEY):","",function(player,amount)
  364. amount = parseInt(amount)
  365. vRP.giveMoney(tonumber(nplayer), amount)
  366. vRPclient.notify(player,{"~w~I-ai dat lui ~y~"..vRP.getPlayerName(source).." ~w~suma de ~g~".. amount .." ~w~(de) €."})
  367. logText = GetPlayerName(player).."("..user_id..") i-a dat lui "..GetPlayerName(target).."("..nplayer.."), "..amount.." (de) €."
  368. vRPlogs.createLog({user_id,logText,"ADMIN-BANI"})
  369. end)
  370. else
  371. vRPclient.notify(player,{"Jucatorul nu a fost gasit."})
  372. end
  373. end
  374. end)
  375. end
  376. end
  377.  
  378.  
  379. local function ch_givekrcoins(player,choice)
  380. local user_id = vRP.getUserId(player)
  381. if user_id ~= nil then
  382. vRP.prompt(player,"ID (GIVE KRONOS-COINS):","",function(player,nplayer)
  383. if nplayer ~= "" or nplayer ~= nil then
  384. target = vRP.getUserSource(tonumber(nplayer))
  385. if target then
  386. vRP.prompt(player,"Cantitate? (GIVE KRONOS-COINS):","",function(player,amount)
  387. amount = parseInt(amount)
  388. vRP.giveKRCoins(tonumber(nplayer), amount)
  389. vRPclient.notify(player,{"~w~I-ai dat lui "..vRP.getPlayerName(source)..", ~g~".. amount .." ~w~(de) KRONOS-COINS(-uri)"})
  390. logText = GetPlayerName(player).."("..user_id..") i-a dat lui "..GetPlayerName(target).."("..nplayer.."), "..amount.." (de) KRONOS-COINS(-uri)."
  391. vRPlogs.createLog({user_id,logText,"KRONOS-COINS"})
  392. end)
  393. else
  394. vRPclient.notify(player,{"Jucatorul nu a fost gasit."})
  395. end
  396. end
  397. end)
  398. end
  399. end
  400.  
  401. blItms = {"tele_ring","tracker","gunpermit_doc"}
  402.  
  403. local function ch_giveitem(player,choice)
  404. local user_id = vRP.getUserId(player)
  405. if user_id ~= nil then
  406. vRP.prompt(player,"ID (GIVE ITEM):","",function(player,userID)
  407. userID = tonumber(userID)
  408. theTarget = vRP.getUserSource(userID)
  409. if(theTarget)then
  410. vRP.prompt(player,"Nume item: (GIVE ITEM)","",function(player,idname)
  411. idname = idname or ""
  412. vRP.prompt(player,"Cantitate?: (GIVE ITEM)","",function(player,amount)
  413. amount = parseInt(amount)
  414. for i, v in pairs(blItms)do
  415. if(idname == v)then
  416. if(user_id ~= 3)then return end end
  417. end
  418. vRP.giveInventoryItem(userID, idname, amount,true)
  419. end)
  420. end)
  421. end
  422. end)
  423. end
  424. end
  425.  
  426. local function ch_item(player,choice)
  427. local user_id = vRP.getUserId(player)
  428. if user_id ~= nil then
  429. vRP.prompt(player,"Item Identity:","",function(player,itemIdent)
  430. if (itemIdent ~= "") then
  431. vRP.prompt(player,"Item Name:","",function(player,itemName)
  432. if (itemName ~= "") then
  433. vRP.prompt(player,"Item Description:","",function(player,itemDesc)
  434. if (itemDesc ~= "") then
  435. vRP.prompt(player,"Item Weight:","",function(player,itemWeight)
  436. if (itemWeight ~= "" and itemWeight > 0) then
  437. MySQL.Async.execute("INSERT IGNORE INTO vrp_inventory_items(itemIdentity,itemName,itemDescription,itemWeight) VALUES(@itemIdent,@itemName,@itemDesc,@itemWeight)", {['@itemIdent'] = itemIdent, ['@itemName'] = itemName, ['@itemDesc'] = itemDesc, ['@itemWeight'] = itemWeight}, function()end)
  438. vRPclient.notify(player,{"Item Created:"})
  439. vRPclient.notify(player,{"(~g~"..itemIdent.."~w~|~g~"..itemName.."~w~|~g~"..itemDesc.."~w~|~g~"..itemWeight.."~w~)"})
  440. else
  441. vRPclient.notify(player,{"~r~Please enter a valid item weight!"})
  442. end
  443. end)
  444. else
  445. vRPclient.notify(player,{"~r~Please enter item description!"})
  446. end
  447. end)
  448. else
  449. vRPclient.notify(player,{"~r~Please enter item name!"})
  450. end
  451. end)
  452. else
  453. vRPclient.notify(player,{"~r~Please enter item identity!"})
  454. end
  455. end)
  456. end
  457. end
  458.  
  459. playersSpectating = {}
  460. playersToSpectate = {}
  461.  
  462. local function specPlayer(player,choice)
  463. local user_id = vRP.getUserId(player)
  464. target = playersToSpectate[choice]
  465. if(user_id == target)then
  466. vRPclient.notify(player,{"~r~Nu te poti cauta pe tine!"})
  467. else
  468. theTarget = vRP.getUserSource(target)
  469. vRPclient.spectatePlayer(player,{theTarget})
  470. playersSpectating[user_id] = target
  471. end
  472. vRP.closeMenu(player)
  473. end
  474.  
  475. local function cancelSpec(player,choice)
  476. local user_id = vRP.getUserId(player)
  477. playersSpectating[user_id] = nil
  478. end
  479.  
  480. local cfg_inventory = module("cfg/inventory")
  481.  
  482. function playerVehs(player,user_id)
  483. check_menu2 = {name="Vehicule",css={top="75px", header_color="rgba(0,125,255,0.75)"}}
  484. local theVehicles = MySQL.Sync.fetchAll("SELECT * FROM vrp_user_vehicles WHERE user_id = @user_id", {['@user_id'] = user_id})
  485. for i, v in pairs(theVehicles) do
  486. vehName, vehPrice = vRP.checkVehicleName(v.vehicle)
  487. check_menu2[vehName] = {function(player, choice)
  488. local chestname = "u"..user_id.."veh_"..string.lower(v.vehicle)
  489. local max_weight = cfg_inventory.vehicle_chest_weights[string.lower(v.vehicle)] or cfg_inventory.default_vehicle_chest_weight
  490.  
  491. vRP.adminCheckInventory(player, chestname, max_weight)
  492. end, "Model: <font color='green'>"..v.vehicle.."</font><br>Placuta: "..v.vehicle_plate.."<br>"}
  493. end
  494. vRP.closeMenu(player)
  495. SetTimeout(200, function()
  496. vRP.openMenu(player, check_menu2)
  497. end)
  498. end
  499.  
  500. local function ch_checkplayer(player, choice)
  501. check_menu = {name="Check Player",css={top="75px", header_color="rgba(0,125,255,0.75)"}}
  502. vRP.prompt(player, "User ID:", "", function(player, user_id)
  503. user_id = tonumber(user_id)
  504. usrID = vRP.getUserId(player)
  505. if(user_id == 1) and (usrID ~= 1) then
  506. vRPclient.notify(player, {"~r~Nu.... nu nu nu nu...."})
  507. TriggerClientEvent('chatMessage', -1, "^3Kailannon: ^8Sa iti dau la muie ^2"..GetPlayerName(source).." ^8pentru ca mi-ai dat check player!")
  508. return
  509. else
  510. theTarget = vRP.getUserSource(user_id)
  511. if(theTarget)then
  512. user_id = vRP.getUserId(theTarget)
  513. wallet = vRP.getMoney(user_id)
  514. bank = vRP.getBankMoney(user_id)
  515. krCoins = vRP.getKRCoins(user_id)
  516. steamID = GetPlayerIdentifier(theTarget) or "Invalid"
  517. rsLicense = GetPlayerIdentifier(theTarget, 1) or "Invalid"
  518. theIP = GetPlayerEndpoint(theTarget) or "Invalid"
  519. vRP.getUserAddress(user_id, function(address)
  520. theAddress = ""
  521. if address ~= nil then
  522. theAddress = "<font color='green'>"..address.home.." ("..address.number..")</font>"
  523. else
  524. theAddress = "<font color='red'>Nu are</font>"
  525. end
  526. check_menu["[4] Casa"] = {function(player, choice)
  527. chestname = "u"..user_id.."home"
  528. vRP.adminCheckInventory(player, chestname, 200)
  529. end, "Adresa: "..theAddress}
  530. end)
  531.  
  532. check_menu["[1] Detalii"] = {function() end, "Nume: <font color='red'>"..GetPlayerName(theTarget).."</font><br>ID: <font color='yellow'>"..user_id.."<br></font>SteamID: <font color='green'>"..steamID:gsub("%steam:", "").."</font><br>R* License: <font color='green'>"..rsLicense:gsub("%license:", "").."</font><br>IP: <font color='red'>"..theIP.."</font>"}
  533. check_menu["[2] Bani"] = {function() end, "Buzunar: <font color='green'>"..vRP.formatMoney(wallet).."€</font><br>Banca: <font color='green'>"..vRP.formatMoney(bank).."€</font><br>KR Coins: <font color='yellow'>"..vRP.formatMoney(krCoins).." KR</font>"}
  534. check_menu["[3] Vehicule"] = {function(player, choice) playerVehs(player,user_id) end, "Vezi masinile jucatorului"}
  535. check_menu["[5] Inventar"] = {function(player, choice)
  536. vRP.closeMenu(player)
  537. SetTimeout(200, function()
  538. vRP.openMainInventory(player, theTarget)
  539. end)
  540. end, "Vezi inventarul jucatorului"}
  541. vRP.closeMenu(player)
  542. SetTimeout(200, function()
  543. vRP.openMenu(player, check_menu)
  544. end)
  545. end
  546. end
  547. end)
  548. end
  549.  
  550. local function ch_spec(player,choice)
  551. users = vRP.getUsers()
  552. vRP.closeMenu(player)
  553. SetTimeout(400, function()
  554. vRP.buildMenu("Spectate Player", {player = player}, function(menu)
  555. menu.name = "Spectate Player"
  556. menu.css={top="75px",header_color="rgba(235,0,0,0.75)"}
  557. menu.onclose = function(player) vRP.openMainMenu(player) end
  558. if(playersSpectating[user_id] == nil)then
  559. myName = tostring(GetPlayerName(player))
  560. for k,v in pairs(users) do
  561. playerName = tostring(GetPlayerName(v))
  562. playersToSpectate[playerName] = tonumber(k)
  563. menu[playerName] = {specPlayer, "Spectate a player"}
  564. end
  565. else
  566. menu["Anuleaza Spectate-ul"] = {cancelSpec, "Anuleaza spectate-ul jucatorului"}
  567. end
  568. vRP.openMenu(player, menu)
  569. end)
  570. end)
  571. end
  572.  
  573. adminRequests = {}
  574.  
  575. local function ch_calladmin(player,choice)
  576. local user_id = vRP.getUserId(player)
  577. if user_id ~= nil then
  578. vRP.prompt(player,"Descrie problema pe care o ai:","",function(player,desc)
  579. desc = desc or ""
  580. if desc ~= nil and desc ~= "" then
  581. local answered = false
  582. local players = {}
  583. for k,v in pairs(vRP.rusers) do
  584. local player = vRP.getUserSource(tonumber(k))
  585. if vRP.isUserTrialHelper(k) and player ~= nil then
  586. table.insert(players,player)
  587. end
  588. end
  589. for k,v in pairs(players) do
  590. vRP.request(v,"Solicitare ticket ("..GetPlayerName(player).." ["..user_id.."]), doresti sa-l preluezi?: "..htmlEntities.encode(desc), 60, function(v,ok)
  591. if ok then
  592. if not answered then
  593. vRPclient.notify(player,{"~g~Un admin ti-a preluat ticket-ul."})
  594. vRPclient.getPosition(player, {}, function(x,y,z)
  595. vRPclient.teleport(v,{x,y,z})
  596. end)
  597. answered = true
  598. else
  599. vRPclient.notify(v,{"~r~Ticket-ul a fost deja preluat."})
  600. end
  601. end
  602. end)
  603. end
  604. else
  605. vRPclient.notify(player,{"Te rugam sa iti descrii problema pe care o ai."})
  606. end
  607. end)
  608. end
  609. end
  610.  
  611. local player_customs = {}
  612.  
  613. local function ch_display_custom(player, choice)
  614. vRPclient.getCustomization(player,{},function(custom)
  615. if player_customs[player] then -- hide
  616. player_customs[player] = nil
  617. vRPclient.removeDiv(player,{"customization"})
  618. else -- show
  619. local content = ""
  620. for k,v in pairs(custom) do
  621. content = content..k.." => "..json.encode(v).."<br />"
  622. end
  623.  
  624. player_customs[player] = true
  625. vRPclient.setDiv(player,{"customization",".div_customization{ margin: auto; padding: 8px; width: 500px; margin-top: 80px; background: black; color: white; font-weight: bold; ", content})
  626. end
  627. end)
  628. end
  629.  
  630. local function ch_noclip(player, choice)
  631. vRPclient.toggleNoclip(player, {})
  632. end
  633.  
  634. -- Hotkey Open Admin Menu 1/2
  635. function vRP.openAdminMenu(source)
  636. vRP.buildMenu("admin", {player = source}, function(menudata)
  637. menudata.name = "Admin"
  638. menudata.css = {top="75px",header_color="rgba(0,125,255,0.75)"}
  639. vRP.openMenu(source,menudata)
  640. end)
  641. end
  642.  
  643. AddEventHandler("vRP:playerJoin",function(user_id,source,name,last_login)
  644. MySQL.Async.fetchAll("SELECT * FROM vrp_users WHERE id = @user_id", {['@user_id'] = user_id}, function(rows)
  645. local adminLevel = tonumber(rows[1].adminLvl)
  646. local tmp = vRP.getUserTmpTable(user_id)
  647. if tmp then
  648. tmp.adminLevel = adminLevel
  649. end
  650. end)
  651. end)
  652.  
  653. local function ch_createGarage(player,choice)
  654. local user_id = vRP.getUserId(player)
  655. if user_id ~= nil then
  656. vRP.prompt(player,"Tip Garaj: ","",function(player,gType)
  657. gType = tostring(gType)
  658. if(gType ~= "") and (gType ~= nil)then
  659. vRPclient.getPosition(player,{},function(x,y,z)
  660. x, y, z = x, y, z
  661. vRP.spawnCreatedGarage(x, y, z, gType)
  662. vRPclient.notify(player, {"~g~Garaj creeat de tip: ~y~"..gType})
  663. end)
  664. end
  665. end)
  666. end
  667. end
  668.  
  669. local function ch_addAdmin(player,choice)
  670. local user_id = vRP.getUserId(player)
  671. if user_id ~= nil then
  672. vRP.prompt(player,"ID:","",function(player,id)
  673. id = parseInt(id)
  674. local target = vRP.getUserSource(id)
  675. if(target)then
  676. vRP.prompt(player,"Admin Rank:","",function(player,rank)
  677. rank = parseInt(rank)
  678. if(tonumber(rank))then
  679. if(rank <= 5) and (0 < rank)then
  680. vRP.setUserAdminLevel(id,rank)
  681. Wait(100)
  682. vRPclient.notify(player,{"~g~L-ai promovat pe ~r~"..GetPlayerName(target).." ~g~la ~r~"..vRP.getUserAdminTitle(id).."~g~!"})
  683. vRPclient.notify(target,{"~g~Ai fost promovat la ~r~"..vRP.getUserAdminTitle(id).." ~g~de catre ~r~"..GetPlayerName(player)})
  684. elseif(rank == 0)then
  685. vRP.setUserAdminLevel(id,rank)
  686. vRPclient.notify(target,{"~r~Adminul ti-a fost scos de catre ~g~"..GetPlayerName(player).."~r~!"})
  687. vRPclient.notify(player,{"~g~Ai scos adminul jucatorului ~r~"..GetPlayerName(target)})
  688. end
  689. end
  690. end)
  691. else
  692. vRPclient.notify(player,{"Jucatorul nu a fost gasit!"})
  693. end
  694. end)
  695. end
  696. end
  697.  
  698. local function ch_ann(player,choice)
  699. local user_id = vRP.getUserId(player)
  700. if user_id ~= nil then
  701. vRP.prompt(player,"Anunt:","",function(player,msg)
  702. msg = tostring(msg)
  703. if(msg ~= "" and msg ~= nil)then
  704. vRPclient.notify(-1, {GetPlayerName(player).." ~r~a dat un anunt administrativ! Va aparea in 5 secunde!"})
  705. SetTimeout(5000, function()
  706. vRPclient.adminAnnouncement(-1, {msg})
  707. end)
  708. end
  709. end)
  710. end
  711. end
  712.  
  713. local function ch_givevip(player,choice)
  714. local user_id = vRP.getUserId(player)
  715. if user_id ~= nil then
  716. vRP.prompt(player,"User ID:","",function(player,id)
  717. id = parseInt(id)
  718. vRP.prompt(player,"VIP:","",function(player,vip)
  719. vip = parseInt(vip)
  720. local target = vRP.getUserSource(id)
  721. if(target)then
  722. local name = GetPlayerName(target)
  723. if(vip > 0)then
  724. vRP.setUserVip(id,vip)
  725. vipTitle = vRP.getUserVipTitle(id)
  726. vRPclient.notify(player,{"~w~I-ai dat ~g~ "..vipTitle.." ~w~lui ~g~"..name..""})
  727. vRPclient.notify(target,{"~w~Ai primit ~g~"..vipTitle})
  728. else
  729. vRP.setUserVip(id,vip)
  730. vRPclient.notify(player,{"~w~I-ai scos VIP-ul lui ~r~"..name..""})
  731. vRPclient.notify(target,{"~r~VIP-ul ti-a fost scos!"})
  732. end
  733. end
  734. end)
  735. end)
  736. end
  737. end
  738.  
  739. -- Hotkey Open Admin Menu 2/2
  740. function tvRP.openAdminMenu()
  741. vRP.openAdminMenu(source)
  742. end
  743.  
  744. vRP.registerMenuBuilder("main", function(add, data)
  745. local user_id = vRP.getUserId(data.player)
  746. if user_id ~= nil then
  747. local choices = {}
  748.  
  749. -- build admin menu
  750. choices["Admin"] = {function(player,choice)
  751. vRP.buildMenu("admin", {player = player}, function(menu)
  752. menu.name = "Admin"
  753. menu.css={top="75px",header_color="rgba(200,0,0,0.75)"}
  754. menu.onclose = function(player) vRP.closeMenu(player) end -- nest menu
  755.  
  756. if vRP.isUserOwner(user_id) then
  757. menu["Add/Remove VIP"] = {ch_givevip}
  758. menu["Give KR Coins"] = {ch_givekrcoins}
  759. menu["Give money"] = {ch_givemoney}
  760. menu["Un-whitelist user"] = {ch_unwhitelist}
  761. menu["Give item"] = {ch_giveitem}
  762. menu["Whitelist user"] = {ch_whitelist}
  763. menu["Creaza Garaj"] = {ch_createGarage}
  764. end
  765. if vRP.isUserHeadAdmin(user_id) then
  766. menu["Unban"] = {ch_unban}
  767. menu["Add group"] = {ch_addgroup}
  768. menu["Remove group"] = {ch_removegroup}
  769. menu["Add/Remove Admin"] = {ch_addAdmin}
  770. end
  771. if vRP.isUserAdmin(user_id) then
  772. menu["Ban"] = {ch_ban}
  773. menu["Noclip"] = {ch_noclip}
  774. menu["TpToCoords"] = {ch_tptocoords}
  775. menu["Coords"] = {ch_coords}
  776. end
  777. if vRP.isUserMod(user_id) then
  778. menu["Check Player"] = {ch_checkplayer}
  779. menu["Anunt Admin"] = {ch_ann}
  780. end
  781. if vRP.isUserHelper(user_id) then
  782. menu["TpToMe"] = {ch_tptome}
  783. menu["Kick"] = {ch_kick}
  784. menu["TpTo"] = {ch_tpto}
  785. end
  786. if vRP.isUserTrialHelper(user_id) then
  787. menu["TpToMe"] = {ch_tptome}
  788. menu["TpTo"] = {ch_tpto}
  789. menu["Spectate Player"] = {ch_spec}
  790. end
  791. menu["Admin Ticket"] = {ch_calladmin}
  792.  
  793.  
  794. vRP.openMenu(player,menu)
  795. end)
  796. end}
  797.  
  798. add(choices)
  799. end
  800. end)
  801.  
  802. -- admin god mode
  803. function task_god()
  804. SetTimeout(10000, task_god)
  805.  
  806. for k,v in pairs(vRP.getUsersByPermission("admin.god")) do
  807. vRP.setHunger(v, 0)
  808. vRP.setThirst(v, 0)
  809.  
  810. local player = vRP.getUserSource(v)
  811. if player ~= nil then
  812. vRPclient.setHealth(player, {200})
  813. end
  814. end
  815. end
  816.  
  817. task_god()
  818.  
  819.  
  820. RegisterCommand('kickallplayersgame', function(source, args, rawCommand)
  821. if(source == 0)then
  822. users = vRP.getUsers()
  823. if(rawCommand:sub(9) == nil) or (rawCommand:sub(9) == "")then
  824. reason = "[RESTART] Serverul se restarteaza, te rugam sa astepti maxim 2 minute pentru a intra din nou."
  825. else
  826. reason = rawCommand:sub(9)
  827. end
  828. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
  829. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
  830. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
  831. SetTimeout(10000, function()
  832. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
  833. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
  834. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
  835. SetTimeout(5000, function()
  836. for i, v in pairs(users) do
  837. vRP.kick(v,reason)
  838. end
  839. end)
  840. end)
  841. else
  842. user_id = vRP.getUserId(source)
  843. if vRP.isUserOwner(user_id) then
  844. users = vRP.getUsers()
  845. if(rawCommand:sub(9) == nil) or (rawCommand:sub(9) == "")then
  846. reason = "[RESTART] Serverul se restarteaza, te rugam sa astepti maxim 2 minute pentru a intra din nou."
  847. else
  848. reason = rawCommand:sub(9)
  849. end
  850. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
  851. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
  852. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
  853. SetTimeout(10000, function()
  854. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
  855. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
  856. TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
  857. SetTimeout(5000, function()
  858. for i, v in pairs(users) do
  859. vRP.kick(v,reason)
  860. end
  861. end)
  862. end)
  863. end
  864. end
  865. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement