ESX.RegisterCommand('closeserver', 'admin', function(xPlayer, args, showError) exports['es_extended']:toggleJoining(xPlayer.source) end, true, {help = 'Sluit de server tijdelijk van joinen', validate = false, arguments = {} }) ESX.RegisterCommand('setjob', 'mod', function(xPlayer, args, showError) if ESX.DoesJobExist(args.job, args.grade) then args.playerId.setJob(args.job, args.grade, 'Job is gegeven via command', type(xPlayer) ~= 'boolean' and xPlayer.identifier or 'CONSOLE') else showError(_U('command_setjob_invalid')) end end, true, {help = _U('command_setjob'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'job', help = _U('command_setjob_job'), type = 'string'}, {name = 'grade', help = _U('command_setjob_grade'), type = 'number'} }}) ESX.RegisterCommand('setjob2', 'modplus', function(xPlayer, args, showError) if ESX.DoesJob2Exist(args.job2, args.grade2) then args.playerId.setJob2(args.job2, args.grade2, 'Job is gegeven via command', type(xPlayer) ~= 'boolean' and xPlayer.identifier or 'CONSOLE') else showError(_U('command_setjob_invalid')) end end, true, {help = _U('command_setjob'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'job2', help = _U('command_setjob_job'), type = 'string'}, {name = 'grade2', help = _U('command_setjob_grade'), type = 'number'} }}) ESX.RegisterCommand('car', 'mod', function(xPlayer, args, showError) if not args.car then args.car = "Prototipo" end xPlayer.triggerEvent('esx:spawnVehicle', args.car, plate) end, false, {help = _U('command_car'), validate = false, arguments = { {name = 'car', help = _U('command_car_car'), type = 'any'} }}) ESX.RegisterCommand({'cardel', 'dv'}, 'mod', function(xPlayer, args, showError) if not args.radius then args.radius = 4 end xPlayer.triggerEvent('esx:deleteVehicle', args.radius) end, false, {help = _U('command_cardel'), validate = false, arguments = { {name = 'radius', help = _U('command_cardel_radius'), type = 'any'} }}) ESX.RegisterCommand('toggleids', "mod", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.sendChatMessage('error', 'SYSTEEM', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end -- Standaard radius als geen radius is opgegeven (net zoals /dv) if not args.radius then args.radius = 50 end local radius = tonumber(args.radius) if not radius or radius < 1 or radius > 500 then xPlayer.sendChatMessage('error', 'SYSTEEM', 'Gebruik: /toggleids [radius 1-500] (standaard: 50)') return end -- Trigger client event om head IDs te togglen met radius xPlayer.triggerEvent('esx:toggleHeadIds', radius) xPlayer.sendChatMessage('success', 'SYSTEEM', 'Head IDs getoggled met radius: ' .. radius .. ' meter') end, false, {help = 'Toggle head IDs aan/uit met radius (alleen voor staff)', validate = false, arguments = { {name = 'radius', help = 'Radius in meters (1-500, standaard: 50)', type = 'any'} }}) ESX.RegisterCommand({'delfine', 'dvfine'}, 'modplus', function(xPlayer, args, showError) if not args.radius then args.radius = 4 end xPlayer.triggerEvent('esx:deleteVehicle:fine', args.radius) end, false, {help = 'Haal een auto weg en geen een boete aan de eigenaar', validate = false, arguments = { {name = 'radius', help = _U('command_cardel_radius'), type = 'any'} }}) ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError) if type(xPlayer) ~= 'boolean' then if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end end if args.playerId.getAccount(args.account) then args.playerId.setAccountMoney(args.account, args.amount, 'Speler heeft zijn geld veranderd d.m.v. een staffcommando', type(xPlayer) ~= 'boolean' and xPlayer.identifier or 'CONSOLE') else showError(_U('command_giveaccountmoney_invalid')) end end, true, {help = _U('command_setaccountmoney'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'account', help = _U('command_giveaccountmoney_account'), type = 'string'}, {name = 'amount', help = _U('command_setaccountmoney_amount'), type = 'number'} }}) ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showError) if type(xPlayer) ~= 'boolean' then if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end end if args.playerId.getAccount(args.account) then args.playerId.addAccountMoney(args.account, args.amount, 'Speler heeft geld ingespawned d.m.v. een staffcommando', type(xPlayer) ~= 'boolean' and xPlayer.identifier or 'CONSOLE') else showError(_U('command_giveaccountmoney_invalid')) end end, true, {help = _U('command_giveaccountmoney'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'account', help = _U('command_giveaccountmoney_account'), type = 'string'}, {name = 'amount', help = _U('command_giveaccountmoney_amount'), type = 'number'} }}) if not Config.OxInventory then ESX.RegisterCommand('giveitem', 'admin', function(xPlayer, args, showError) args.playerId.addInventoryItem(args.item, args.count) end, true, {help = _U('command_giveitem'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'item', help = _U('command_giveitem_item'), type = 'item'}, {name = 'count', help = _U('command_giveitem_count'), type = 'number'} }}) ESX.RegisterCommand('giveweapon', 'admin', function(xPlayer, args, showError) if args.playerId.hasWeapon(args.weapon) then showError(_U('command_giveweapon_hasalready')) else args.playerId.addWeapon(args.weapon, args.ammo) end end, true, {help = _U('command_giveweapon'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'weapon', help = _U('command_giveweapon_weapon'), type = 'weapon'}, {name = 'ammo', help = _U('command_giveweapon_ammo'), type = 'number'} }}) ESX.RegisterCommand('giveweaponcomponent', 'admin', function(xPlayer, args, showError) if args.playerId.hasWeapon(args.weaponName) then local component = ESX.GetWeaponComponent(args.weaponName, args.componentName) if component then if args.playerId.hasWeaponComponent(args.weaponName, args.componentName) then showError(_U('command_giveweaponcomponent_hasalready')) else args.playerId.addWeaponComponent(args.weaponName, args.componentName) end else showError(_U('command_giveweaponcomponent_invalid')) end else showError(_U('command_giveweaponcomponent_missingweapon')) end end, true, {help = _U('command_giveweaponcomponent'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'weaponName', help = _U('command_giveweapon_weapon'), type = 'weapon'}, {name = 'componentName', help = _U('command_giveweaponcomponent_component'), type = 'string'} }}) end ESX.RegisterCommand({'clear', 'cls'}, 'user', function(xPlayer, args, showError) xPlayer.triggerEvent('chat:clear') end, false, {help = _U('command_clear')}) ESX.RegisterCommand({'clearall', 'clsall'}, 'mod', function(xPlayer, args, showError) TriggerClientEvent('chat:clear', -1) end, false, {help = _U('command_clearall')}) if not Config.OxInventory then ESX.RegisterCommand('clearinventory', 'admin', function(xPlayer, args, showError) for k,v in ipairs(args.playerId.inventory) do if v.count > 0 then args.playerId.setInventoryItem(v.name, 0) end end TriggerEvent('esx:playerInventoryCleared',args.playerId) end, true, {help = _U('command_clearinventory'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) ESX.RegisterCommand('clearloadout', 'admin', function(xPlayer, args, showError) for i=#args.playerId.loadout, 1, -1 do args.playerId.removeWeapon(args.playerId.loadout[i].name) end TriggerEvent('esx:playerLoadoutCleared',args.playerId) end, true, {help = _U('command_clearloadout'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) end ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args, showError) if not args.playerId then args.playerId = xPlayer.source end if args.group == "superadmin" then args.group = "admin" end args.playerId.setGroup(args.group, 'Groep is veranderd dmv command', type(xPlayer) ~= 'boolean' and xPlayer.identifier or 'CONSOLE') end, true, {help = _U('command_setgroup'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'group', help = _U('command_setgroup_group'), type = 'string'}, }}) ESX.RegisterCommand('save', 'admin', function(xPlayer, args, showError) Core.SavePlayer(args.playerId) print("[^2Info^0] Saved Player!") end, true, {help = _U('command_save'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) ESX.RegisterCommand('saveall', 'admin', function(xPlayer, args, showError) Core.SavePlayers() end, true, {help = _U('command_saveall')}) ESX.RegisterCommand('group', {"user", "admin"}, function(xPlayer, args, showError) print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getGroup() .. "^0") end, true) ESX.RegisterCommand('baan', {"user", "admin"}, function(xPlayer, args, showError) xPlayer.sendChatMessage('info', 'INFORMATIE', 'Je bent op het moment werkzaam als '..xPlayer.getJob().label ..' - '..xPlayer.getJob().grade_label..'!') -- print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getJob().name.. "^0 - ^5".. xPlayer.getJob().grade_label .. "^0") end, {help = 'Bekijk je eerste baan van jezelf'}) ESX.RegisterCommand('baan2', {"user", "admin"}, function(xPlayer, args, showError) xPlayer.sendChatMessage('info', 'INFORMATIE', 'Je bent op het moment werkzaam als '..xPlayer.getJob2().label ..' - '..xPlayer.getJob2().grade_label..'!') -- print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getJob().name.. "^0 - ^5".. xPlayer.getJob().grade_label .. "^0") end, {help = 'Bekijk je tweede baan van jezelf'}) ESX.RegisterCommand('id', {"user", "admin"}, function(xPlayer, args, showError) local job = xPlayer.getJob().name local jobgrade = xPlayer.getJob().grade_name xPlayer.sendChatMessage('primary', 'INFORMATIE', 'Uw Speler ID is: ' .. xPlayer.source) -- print("^2ID : ^5"..xPlayer.source.." ^0| ^2Name:^5"..xPlayer.getName().." ^0 | ^2Group:^5"..xPlayer.getGroup().."^0 | ^2Job:^5".. job.."^0") end, true) ESX.RegisterCommand('coords', "mod", function(xPlayer, args, showError) local ped = GetPlayerPed(xPlayer.source) local coords = GetEntityCoords(ped, false) local heading = GetEntityHeading(ped) print("Coords - Vector3: ^5".. vector3(coords.x,coords.y,coords.z).. "^0") print("Coords - Vector4: ^5".. vector4(coords.x, coords.y, coords.z, heading) .. "^0") end, true) ESX.RegisterCommand('tpm', "admin", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end xPlayer.triggerEvent("esx:tpm") end, true) ESX.RegisterCommand('goto', "mod", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end local targetCoords = args.playerId.getCoords() TriggerClientEvent('txAdmin:menu:tpToCoords', xPlayer.source, targetCoords.x, targetCoords.y, targetCoords.z) end, true, {help = _U('command_goto'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) ESX.RegisterCommand('bring', "mod", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end local playerCoords = xPlayer.getCoords() args.playerId.setCoords(playerCoords) TriggerClientEvent('freecam:onTick', xPlayer.source) end, true, {help = _U('command_bring'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) ESX.RegisterCommand('kill', "mod", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end args.playerId.triggerEvent("esx:killPlayer") end, true, {help = _U('command_kill'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) ESX.RegisterCommand('freeze', "mod", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end args.playerId.triggerEvent('esx:freezePlayer', "freeze") end, true, {help = _U('command_freeze'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) ESX.RegisterCommand('unfreeze', "admin", function(xPlayer, args, showError) if type(xPlayer) == 'boolean' then print('Dit command kan niet vanuit de console worden uitgevoerd.') return end if not exports['frp-boilerplate']:getstaffDienst(xPlayer.source) then xPlayer.showNotification('error', 'Je bent niet in dienst, zorg dat je /staffzaak hebt gedaan.') return end args.playerId.triggerEvent('esx:freezePlayer', "unfreeze") end, true, {help = _U('command_unfreeze'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }})