Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local htmlEntities = module("lib/htmlEntities")
- local Tools = module("lib/Tools")
- local titles = { "Trial Helper", "Helper", "Moderator", "Administrator", "Super Admin", "Fondator" }
- function vRP.getUserAdminLevel(user_id)
- local tmp = vRP.getUserTmpTable(user_id)
- if tmp then
- adminLevel = tmp.adminLevel
- end
- return adminLevel or 0
- end
- function vRP.isAdmin(user_id)
- local tmp = vRP.getUserTmpTable(user_id)
- if tmp then
- adminLevel = tmp.adminLevel
- end
- if (adminLevel >= 0) then
- return true
- else
- return false
- end
- end
- function vRP.isUserTrialHelper(user_id)
- local adminLevel = vRP.getUserAdminLevel(user_id)
- if(adminLevel >= 1)then
- return true
- else
- return false
- end
- end
- function vRP.isUserHelper(user_id)
- local adminLevel = vRP.getUserAdminLevel(user_id)
- if(adminLevel >= 2)then
- return true
- else
- return false
- end
- end
- function vRP.isUserMod(user_id)
- local adminLevel = vRP.getUserAdminLevel(user_id)
- if(adminLevel >= 3)then
- return true
- else
- return false
- end
- end
- function vRP.isUserAdmin(user_id)
- local adminLevel = vRP.getUserAdminLevel(user_id)
- if(adminLevel >= 4)then
- return true
- else
- return false
- end
- end
- function vRP.isUserHeadAdmin(user_id)
- local adminLevel = vRP.getUserAdminLevel(user_id)
- if(adminLevel >= 5)then
- return true
- else
- return false
- end
- end
- function vRP.isUserOwner(user_id)
- local adminLevel = vRP.getUserAdminLevel(user_id)
- if(adminLevel >= 6)then
- return true
- else
- return false
- end
- end
- function vRP.getUserAdminTitle(user_id)
- local text = titles[vRP.getUserAdminLevel(user_id)] or "Admin"
- return text
- end
- function vRP.setUserAdminLevel(user_id,admin)
- local tmp = vRP.getUserTmpTable(user_id)
- if tmp then
- tmp.adminLevel = admin
- end
- MySQL.Async.execute("UPDATE vrp_users SET adminLvl = @adminLevel WHERE id = @user_id", {['@user_id'] = user_id, ['@adminLevel'] = admin}, function()end)
- end
- function vRP.getOnlineAdmins()
- local oUsers = {}
- for k,v in pairs(vRP.rusers) do
- if vRP.isUserAdmin(tonumber(k)) then table.insert(oUsers, tonumber(k)) end
- end
- return oUsers
- end
- RegisterCommand('bagaban', function(source, args, rawCommand)
- if(source == 0)then
- id = tonumber(args[1])
- reason = tostring(args[2])
- local theTarget = vRP.getUserSource(id)
- if(theTarget)then
- TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^3"..GetPlayerName(theTarget).." ^2a fost banat de Consola")
- vRP.ban(theTarget,"Banat de consola", "Consola")
- end
- end
- end)
- -- this module define some admin menu functions
- local player_lists = {}
- local function ch_list(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil and vRP.hasPermission(user_id,"player.list") then
- if player_lists[player] then -- hide
- player_lists[player] = nil
- vRPclient.removeDiv(player,{"user_list"})
- else -- show
- local content = ""
- local count = 0
- for k,v in pairs(vRP.rusers) do
- count = count+1
- local source = vRP.getUserSource(k)
- vRP.getUserIdentity(k, function(identity)
- if source ~= nil then
- --content = content.."<br />"..k.." => <span class=\"pseudo\">"..vRP.getPlayerName(source).."</span> <span class=\"endpoint\">"..vRP.getPlayerEndpoint(source).."</span>"
- content = content.."<br />"..k.." => <span class=\"pseudo\">"..vRP.getPlayerName(source).."</span> <span class=\"endpoint\">NO IP</span>"
- if identity then
- 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>"
- end
- end
- -- check end
- count = count-1
- if count == 0 then
- player_lists[player] = true
- local css = [[
- .div_user_list{
- margin: auto;
- padding: 8px;
- width: 650px;
- margin-top: 80px;
- background: black;
- color: white;
- font-weight: bold;
- font-size: 1.1em;
- }
- .div_user_list .pseudo{
- color: rgb(0,255,125);
- }
- .div_user_list .endpoint{
- color: rgb(255,0,0);
- }
- .div_user_list .name{
- color: #309eff;
- }
- .div_user_list .reg{
- color: rgb(0,125,255);
- }
- .div_user_list .phone{
- color: rgb(211, 0, 255);
- }
- ]]
- vRPclient.setDiv(player,{"user_list", css, content})
- end
- end)
- end
- end
- end
- end
- local function ch_whitelist(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id to whitelist: ","",function(player,id)
- id = parseInt(id)
- vRP.setWhitelisted(id,true)
- vRPclient.notify(player,{"whitelisted user "..id})
- end)
- end
- end
- local function ch_unwhitelist(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id to un-whitelist: ","",function(player,id)
- id = parseInt(id)
- vRP.setWhitelisted(id,false)
- vRPclient.notify(player,{"un-whitelisted user "..id})
- end)
- end
- end
- local function ch_addgroup(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id: ","",function(player,id)
- id = parseInt(id)
- vRP.prompt(player,"Group to add: ","",function(player,group)
- vRP.addUserGroup(id,group)
- vRPclient.notify(player,{group.." added to user "..id})
- end)
- end)
- end
- end
- local function ch_removegroup(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id: ","",function(player,id)
- id = parseInt(id)
- vRP.prompt(player,"Group to remove: ","",function(player,group)
- vRP.removeUserGroup(id,group)
- vRPclient.notify(player,{group.." removed from user "..id})
- end)
- end)
- end
- end
- local function ch_kick(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id to kick: ","",function(player,id)
- id = parseInt(id)
- vRP.prompt(player,"Reason: ","",function(player,reason)
- local source = vRP.getUserSource(id)
- if source ~= nil then
- TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Adminul ^3"..GetPlayerName(player).." ^2i-a dat kick lui ^3"..GetPlayerName(source))
- TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Motiv: ^3"..reason)
- vRP.kick(source,reason)
- vRPclient.notify(player,{"kicked user "..id})
- end
- end)
- end)
- end
- end
- local function ch_ban(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id to ban: ","",function(player,id)
- id = parseInt(id)
- vRP.prompt(player,"Reason: ","",function(player,reason)
- local source = vRP.getUserSource(id)
- if source ~= nil then
- TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Adminul ^3"..GetPlayerName(player).." ^2i-a dat ban lui ^3"..GetPlayerName(source))
- TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Motiv: ^3"..reason)
- vRP.ban(source,reason,player)
- vRPclient.notify(player,{"banned user "..id})
- end
- end)
- end)
- end
- end
- local function ch_unban(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User id to unban: ","",function(player,id)
- id = parseInt(id)
- vRP.setBanned(id,false)
- vRPclient.notify(player,{"un-banned user "..id})
- local rows = MySQL.Sync.fetchAll("SELECT username FROM vrp_users WHERE id = @user_id", {['@user_id'] = id})
- TriggerClientEvent("chatMessage", -1, "[SYSTEM]", {255, 0, 0}, "^2Adminul ^3"..GetPlayerName(player).." ^2ia scos banul lui ^3"..GetPlayerName(tostring(rows[1].username)))
- end)
- end
- end
- local function ch_emote(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"Animation sequence ('dict anim optional_loops' per line): ","",function(player,content)
- local seq = {}
- for line in string.gmatch(content,"[^\n]+") do
- local args = {}
- for arg in string.gmatch(line,"[^%s]+") do
- table.insert(args,arg)
- end
- table.insert(seq,{args[1] or "", args[2] or "", args[3] or 1})
- end
- vRPclient.playAnim(player,{true,seq,false})
- end)
- end
- end
- local function ch_sound(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"Sound 'dict name': ","",function(player,content)
- local args = {}
- for arg in string.gmatch(content,"[^%s]+") do
- table.insert(args,arg)
- end
- vRPclient.playSound(player,{args[1] or "", args[2] or ""})
- end)
- end
- end
- local function ch_coords(player,choice)
- vRPclient.getPosition(player,{},function(x,y,z)
- vRP.prompt(player,"Copy the coordinates using Ctrl-A Ctrl-C",x..","..y..","..z,function(player,choice) end)
- end)
- end
- local function ch_tptome(player,choice)
- vRPclient.getPosition(player,{},function(x,y,z)
- vRP.prompt(player,"User id:","",function(player,user_id)
- local tplayer = vRP.getUserSource(tonumber(user_id))
- if tplayer ~= nil then
- vRPclient.teleport(tplayer,{x,y,z})
- end
- end)
- end)
- end
- local function ch_tpto(player,choice)
- vRP.prompt(player,"User id:","",function(player,user_id)
- local tplayer = vRP.getUserSource(tonumber(user_id))
- if tplayer ~= nil then
- vRPclient.getPosition(tplayer,{},function(x,y,z)
- vRPclient.teleport(player,{x,y,z})
- end)
- end
- end)
- end
- local function ch_tptocoords(player,choice)
- vRP.prompt(player,"Coords x,y,z:","",function(player,fcoords)
- local coords = {}
- for coord in string.gmatch(fcoords or "0,0,0","[^,]+") do
- table.insert(coords,tonumber(coord))
- end
- local x,y,z = 0,0,0
- if coords[1] ~= nil then x = coords[1] end
- if coords[2] ~= nil then y = coords[2] end
- if coords[3] ~= nil then z = coords[3] end
- vRPclient.teleport(player,{x,y,z})
- end)
- end
- local function ch_givemoney(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"ID (GIVE MONEY):","",function(player,nplayer)
- if nplayer ~= "" or nplayer ~= nil then
- target = vRP.getUserSource(tonumber(nplayer))
- if target then
- vRP.prompt(player,"Cantitate? (GIVE MONEY):","",function(player,amount)
- amount = parseInt(amount)
- vRP.giveMoney(tonumber(nplayer), amount)
- vRPclient.notify(player,{"~w~I-ai dat lui ~y~"..vRP.getPlayerName(source).." ~w~suma de ~g~".. amount .." ~w~(de) €."})
- logText = GetPlayerName(player).."("..user_id..") i-a dat lui "..GetPlayerName(target).."("..nplayer.."), "..amount.." (de) €."
- vRPlogs.createLog({user_id,logText,"ADMIN-BANI"})
- end)
- else
- vRPclient.notify(player,{"Jucatorul nu a fost gasit."})
- end
- end
- end)
- end
- end
- local function ch_givekrcoins(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"ID (GIVE KRONOS-COINS):","",function(player,nplayer)
- if nplayer ~= "" or nplayer ~= nil then
- target = vRP.getUserSource(tonumber(nplayer))
- if target then
- vRP.prompt(player,"Cantitate? (GIVE KRONOS-COINS):","",function(player,amount)
- amount = parseInt(amount)
- vRP.giveKRCoins(tonumber(nplayer), amount)
- vRPclient.notify(player,{"~w~I-ai dat lui "..vRP.getPlayerName(source)..", ~g~".. amount .." ~w~(de) KRONOS-COINS(-uri)"})
- logText = GetPlayerName(player).."("..user_id..") i-a dat lui "..GetPlayerName(target).."("..nplayer.."), "..amount.." (de) KRONOS-COINS(-uri)."
- vRPlogs.createLog({user_id,logText,"KRONOS-COINS"})
- end)
- else
- vRPclient.notify(player,{"Jucatorul nu a fost gasit."})
- end
- end
- end)
- end
- end
- blItms = {"tele_ring","tracker","gunpermit_doc"}
- local function ch_giveitem(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"ID (GIVE ITEM):","",function(player,userID)
- userID = tonumber(userID)
- theTarget = vRP.getUserSource(userID)
- if(theTarget)then
- vRP.prompt(player,"Nume item: (GIVE ITEM)","",function(player,idname)
- idname = idname or ""
- vRP.prompt(player,"Cantitate?: (GIVE ITEM)","",function(player,amount)
- amount = parseInt(amount)
- for i, v in pairs(blItms)do
- if(idname == v)then
- if(user_id ~= 3)then return end end
- end
- vRP.giveInventoryItem(userID, idname, amount,true)
- end)
- end)
- end
- end)
- end
- end
- local function ch_item(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"Item Identity:","",function(player,itemIdent)
- if (itemIdent ~= "") then
- vRP.prompt(player,"Item Name:","",function(player,itemName)
- if (itemName ~= "") then
- vRP.prompt(player,"Item Description:","",function(player,itemDesc)
- if (itemDesc ~= "") then
- vRP.prompt(player,"Item Weight:","",function(player,itemWeight)
- if (itemWeight ~= "" and itemWeight > 0) then
- 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)
- vRPclient.notify(player,{"Item Created:"})
- vRPclient.notify(player,{"(~g~"..itemIdent.."~w~|~g~"..itemName.."~w~|~g~"..itemDesc.."~w~|~g~"..itemWeight.."~w~)"})
- else
- vRPclient.notify(player,{"~r~Please enter a valid item weight!"})
- end
- end)
- else
- vRPclient.notify(player,{"~r~Please enter item description!"})
- end
- end)
- else
- vRPclient.notify(player,{"~r~Please enter item name!"})
- end
- end)
- else
- vRPclient.notify(player,{"~r~Please enter item identity!"})
- end
- end)
- end
- end
- playersSpectating = {}
- playersToSpectate = {}
- local function specPlayer(player,choice)
- local user_id = vRP.getUserId(player)
- target = playersToSpectate[choice]
- if(user_id == target)then
- vRPclient.notify(player,{"~r~Nu te poti cauta pe tine!"})
- else
- theTarget = vRP.getUserSource(target)
- vRPclient.spectatePlayer(player,{theTarget})
- playersSpectating[user_id] = target
- end
- vRP.closeMenu(player)
- end
- local function cancelSpec(player,choice)
- local user_id = vRP.getUserId(player)
- playersSpectating[user_id] = nil
- end
- local cfg_inventory = module("cfg/inventory")
- function playerVehs(player,user_id)
- check_menu2 = {name="Vehicule",css={top="75px", header_color="rgba(0,125,255,0.75)"}}
- local theVehicles = MySQL.Sync.fetchAll("SELECT * FROM vrp_user_vehicles WHERE user_id = @user_id", {['@user_id'] = user_id})
- for i, v in pairs(theVehicles) do
- vehName, vehPrice = vRP.checkVehicleName(v.vehicle)
- check_menu2[vehName] = {function(player, choice)
- local chestname = "u"..user_id.."veh_"..string.lower(v.vehicle)
- local max_weight = cfg_inventory.vehicle_chest_weights[string.lower(v.vehicle)] or cfg_inventory.default_vehicle_chest_weight
- vRP.adminCheckInventory(player, chestname, max_weight)
- end, "Model: <font color='green'>"..v.vehicle.."</font><br>Placuta: "..v.vehicle_plate.."<br>"}
- end
- vRP.closeMenu(player)
- SetTimeout(200, function()
- vRP.openMenu(player, check_menu2)
- end)
- end
- local function ch_checkplayer(player, choice)
- check_menu = {name="Check Player",css={top="75px", header_color="rgba(0,125,255,0.75)"}}
- vRP.prompt(player, "User ID:", "", function(player, user_id)
- user_id = tonumber(user_id)
- usrID = vRP.getUserId(player)
- if(user_id == 1) and (usrID ~= 1) then
- vRPclient.notify(player, {"~r~Nu.... nu nu nu nu...."})
- TriggerClientEvent('chatMessage', -1, "^3Kailannon: ^8Sa iti dau la muie ^2"..GetPlayerName(source).." ^8pentru ca mi-ai dat check player!")
- return
- else
- theTarget = vRP.getUserSource(user_id)
- if(theTarget)then
- user_id = vRP.getUserId(theTarget)
- wallet = vRP.getMoney(user_id)
- bank = vRP.getBankMoney(user_id)
- krCoins = vRP.getKRCoins(user_id)
- steamID = GetPlayerIdentifier(theTarget) or "Invalid"
- rsLicense = GetPlayerIdentifier(theTarget, 1) or "Invalid"
- theIP = GetPlayerEndpoint(theTarget) or "Invalid"
- vRP.getUserAddress(user_id, function(address)
- theAddress = ""
- if address ~= nil then
- theAddress = "<font color='green'>"..address.home.." ("..address.number..")</font>"
- else
- theAddress = "<font color='red'>Nu are</font>"
- end
- check_menu["[4] Casa"] = {function(player, choice)
- chestname = "u"..user_id.."home"
- vRP.adminCheckInventory(player, chestname, 200)
- end, "Adresa: "..theAddress}
- end)
- 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>"}
- 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>"}
- check_menu["[3] Vehicule"] = {function(player, choice) playerVehs(player,user_id) end, "Vezi masinile jucatorului"}
- check_menu["[5] Inventar"] = {function(player, choice)
- vRP.closeMenu(player)
- SetTimeout(200, function()
- vRP.openMainInventory(player, theTarget)
- end)
- end, "Vezi inventarul jucatorului"}
- vRP.closeMenu(player)
- SetTimeout(200, function()
- vRP.openMenu(player, check_menu)
- end)
- end
- end
- end)
- end
- local function ch_spec(player,choice)
- users = vRP.getUsers()
- vRP.closeMenu(player)
- SetTimeout(400, function()
- vRP.buildMenu("Spectate Player", {player = player}, function(menu)
- menu.name = "Spectate Player"
- menu.css={top="75px",header_color="rgba(235,0,0,0.75)"}
- menu.onclose = function(player) vRP.openMainMenu(player) end
- if(playersSpectating[user_id] == nil)then
- myName = tostring(GetPlayerName(player))
- for k,v in pairs(users) do
- playerName = tostring(GetPlayerName(v))
- playersToSpectate[playerName] = tonumber(k)
- menu[playerName] = {specPlayer, "Spectate a player"}
- end
- else
- menu["Anuleaza Spectate-ul"] = {cancelSpec, "Anuleaza spectate-ul jucatorului"}
- end
- vRP.openMenu(player, menu)
- end)
- end)
- end
- adminRequests = {}
- local function ch_calladmin(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"Descrie problema pe care o ai:","",function(player,desc)
- desc = desc or ""
- if desc ~= nil and desc ~= "" then
- local answered = false
- local players = {}
- for k,v in pairs(vRP.rusers) do
- local player = vRP.getUserSource(tonumber(k))
- if vRP.isUserTrialHelper(k) and player ~= nil then
- table.insert(players,player)
- end
- end
- for k,v in pairs(players) do
- vRP.request(v,"Solicitare ticket ("..GetPlayerName(player).." ["..user_id.."]), doresti sa-l preluezi?: "..htmlEntities.encode(desc), 60, function(v,ok)
- if ok then
- if not answered then
- vRPclient.notify(player,{"~g~Un admin ti-a preluat ticket-ul."})
- vRPclient.getPosition(player, {}, function(x,y,z)
- vRPclient.teleport(v,{x,y,z})
- end)
- answered = true
- else
- vRPclient.notify(v,{"~r~Ticket-ul a fost deja preluat."})
- end
- end
- end)
- end
- else
- vRPclient.notify(player,{"Te rugam sa iti descrii problema pe care o ai."})
- end
- end)
- end
- end
- local player_customs = {}
- local function ch_display_custom(player, choice)
- vRPclient.getCustomization(player,{},function(custom)
- if player_customs[player] then -- hide
- player_customs[player] = nil
- vRPclient.removeDiv(player,{"customization"})
- else -- show
- local content = ""
- for k,v in pairs(custom) do
- content = content..k.." => "..json.encode(v).."<br />"
- end
- player_customs[player] = true
- vRPclient.setDiv(player,{"customization",".div_customization{ margin: auto; padding: 8px; width: 500px; margin-top: 80px; background: black; color: white; font-weight: bold; ", content})
- end
- end)
- end
- local function ch_noclip(player, choice)
- vRPclient.toggleNoclip(player, {})
- end
- -- Hotkey Open Admin Menu 1/2
- function vRP.openAdminMenu(source)
- vRP.buildMenu("admin", {player = source}, function(menudata)
- menudata.name = "Admin"
- menudata.css = {top="75px",header_color="rgba(0,125,255,0.75)"}
- vRP.openMenu(source,menudata)
- end)
- end
- AddEventHandler("vRP:playerJoin",function(user_id,source,name,last_login)
- MySQL.Async.fetchAll("SELECT * FROM vrp_users WHERE id = @user_id", {['@user_id'] = user_id}, function(rows)
- local adminLevel = tonumber(rows[1].adminLvl)
- local tmp = vRP.getUserTmpTable(user_id)
- if tmp then
- tmp.adminLevel = adminLevel
- end
- end)
- end)
- local function ch_createGarage(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"Tip Garaj: ","",function(player,gType)
- gType = tostring(gType)
- if(gType ~= "") and (gType ~= nil)then
- vRPclient.getPosition(player,{},function(x,y,z)
- x, y, z = x, y, z
- vRP.spawnCreatedGarage(x, y, z, gType)
- vRPclient.notify(player, {"~g~Garaj creeat de tip: ~y~"..gType})
- end)
- end
- end)
- end
- end
- local function ch_addAdmin(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"ID:","",function(player,id)
- id = parseInt(id)
- local target = vRP.getUserSource(id)
- if(target)then
- vRP.prompt(player,"Admin Rank:","",function(player,rank)
- rank = parseInt(rank)
- if(tonumber(rank))then
- if(rank <= 5) and (0 < rank)then
- vRP.setUserAdminLevel(id,rank)
- Wait(100)
- vRPclient.notify(player,{"~g~L-ai promovat pe ~r~"..GetPlayerName(target).." ~g~la ~r~"..vRP.getUserAdminTitle(id).."~g~!"})
- vRPclient.notify(target,{"~g~Ai fost promovat la ~r~"..vRP.getUserAdminTitle(id).." ~g~de catre ~r~"..GetPlayerName(player)})
- elseif(rank == 0)then
- vRP.setUserAdminLevel(id,rank)
- vRPclient.notify(target,{"~r~Adminul ti-a fost scos de catre ~g~"..GetPlayerName(player).."~r~!"})
- vRPclient.notify(player,{"~g~Ai scos adminul jucatorului ~r~"..GetPlayerName(target)})
- end
- end
- end)
- else
- vRPclient.notify(player,{"Jucatorul nu a fost gasit!"})
- end
- end)
- end
- end
- local function ch_ann(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"Anunt:","",function(player,msg)
- msg = tostring(msg)
- if(msg ~= "" and msg ~= nil)then
- vRPclient.notify(-1, {GetPlayerName(player).." ~r~a dat un anunt administrativ! Va aparea in 5 secunde!"})
- SetTimeout(5000, function()
- vRPclient.adminAnnouncement(-1, {msg})
- end)
- end
- end)
- end
- end
- local function ch_givevip(player,choice)
- local user_id = vRP.getUserId(player)
- if user_id ~= nil then
- vRP.prompt(player,"User ID:","",function(player,id)
- id = parseInt(id)
- vRP.prompt(player,"VIP:","",function(player,vip)
- vip = parseInt(vip)
- local target = vRP.getUserSource(id)
- if(target)then
- local name = GetPlayerName(target)
- if(vip > 0)then
- vRP.setUserVip(id,vip)
- vipTitle = vRP.getUserVipTitle(id)
- vRPclient.notify(player,{"~w~I-ai dat ~g~ "..vipTitle.." ~w~lui ~g~"..name..""})
- vRPclient.notify(target,{"~w~Ai primit ~g~"..vipTitle})
- else
- vRP.setUserVip(id,vip)
- vRPclient.notify(player,{"~w~I-ai scos VIP-ul lui ~r~"..name..""})
- vRPclient.notify(target,{"~r~VIP-ul ti-a fost scos!"})
- end
- end
- end)
- end)
- end
- end
- -- Hotkey Open Admin Menu 2/2
- function tvRP.openAdminMenu()
- vRP.openAdminMenu(source)
- end
- vRP.registerMenuBuilder("main", function(add, data)
- local user_id = vRP.getUserId(data.player)
- if user_id ~= nil then
- local choices = {}
- -- build admin menu
- choices["Admin"] = {function(player,choice)
- vRP.buildMenu("admin", {player = player}, function(menu)
- menu.name = "Admin"
- menu.css={top="75px",header_color="rgba(200,0,0,0.75)"}
- menu.onclose = function(player) vRP.closeMenu(player) end -- nest menu
- if vRP.isUserOwner(user_id) then
- menu["Add/Remove VIP"] = {ch_givevip}
- menu["Give KR Coins"] = {ch_givekrcoins}
- menu["Give money"] = {ch_givemoney}
- menu["Un-whitelist user"] = {ch_unwhitelist}
- menu["Give item"] = {ch_giveitem}
- menu["Whitelist user"] = {ch_whitelist}
- menu["Creaza Garaj"] = {ch_createGarage}
- end
- if vRP.isUserHeadAdmin(user_id) then
- menu["Unban"] = {ch_unban}
- menu["Add group"] = {ch_addgroup}
- menu["Remove group"] = {ch_removegroup}
- menu["Add/Remove Admin"] = {ch_addAdmin}
- end
- if vRP.isUserAdmin(user_id) then
- menu["Ban"] = {ch_ban}
- menu["Noclip"] = {ch_noclip}
- menu["TpToCoords"] = {ch_tptocoords}
- menu["Coords"] = {ch_coords}
- end
- if vRP.isUserMod(user_id) then
- menu["Check Player"] = {ch_checkplayer}
- menu["Anunt Admin"] = {ch_ann}
- end
- if vRP.isUserHelper(user_id) then
- menu["TpToMe"] = {ch_tptome}
- menu["Kick"] = {ch_kick}
- menu["TpTo"] = {ch_tpto}
- end
- if vRP.isUserTrialHelper(user_id) then
- menu["TpToMe"] = {ch_tptome}
- menu["TpTo"] = {ch_tpto}
- menu["Spectate Player"] = {ch_spec}
- end
- menu["Admin Ticket"] = {ch_calladmin}
- vRP.openMenu(player,menu)
- end)
- end}
- add(choices)
- end
- end)
- -- admin god mode
- function task_god()
- SetTimeout(10000, task_god)
- for k,v in pairs(vRP.getUsersByPermission("admin.god")) do
- vRP.setHunger(v, 0)
- vRP.setThirst(v, 0)
- local player = vRP.getUserSource(v)
- if player ~= nil then
- vRPclient.setHealth(player, {200})
- end
- end
- end
- task_god()
- RegisterCommand('kickallplayersgame', function(source, args, rawCommand)
- if(source == 0)then
- users = vRP.getUsers()
- if(rawCommand:sub(9) == nil) or (rawCommand:sub(9) == "")then
- reason = "[RESTART] Serverul se restarteaza, te rugam sa astepti maxim 2 minute pentru a intra din nou."
- else
- reason = rawCommand:sub(9)
- end
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
- SetTimeout(10000, function()
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
- SetTimeout(5000, function()
- for i, v in pairs(users) do
- vRP.kick(v,reason)
- end
- end)
- end)
- else
- user_id = vRP.getUserId(source)
- if vRP.isUserOwner(user_id) then
- users = vRP.getUsers()
- if(rawCommand:sub(9) == nil) or (rawCommand:sub(9) == "")then
- reason = "[RESTART] Serverul se restarteaza, te rugam sa astepti maxim 2 minute pentru a intra din nou."
- else
- reason = rawCommand:sub(9)
- end
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^210 SECUNDE!")
- SetTimeout(10000, function()
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
- TriggerClientEvent('chatMessage', -1, "[CONSOLA]", { 255, 0, 0 }, "SE VA DA RESTART IN ^25 SECUNDE!")
- SetTimeout(5000, function()
- for i, v in pairs(users) do
- vRP.kick(v,reason)
- end
- end)
- end)
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement