Jump to content
Fivem-DEV.cz
Sign in to follow this  
BzZz

Log příkazů

Recommended Posts

Zdravím,
dnes přináším jednoduché logování admin příkazů. Webhooky jsou funkční na ESX v1-final (odkaz), OneSync Infinity (jiné možnosti nemám testované)

1) Otevřte si es_extended/server/commands.lua
Tip: Jako první příkaz je 'setcoords', kdo je zvyklý, může si tento příkaz přejmenovat na 'tp' (teleport)
tp.png.dded7261d3464e3abc76bfc9736cd6ed.png

2) Vložte si hned na začátek odkazy na webhook, dle toho, co chcete použít

local CAR_HOOK = 'https://discord.com/api/webhooks/xxxx' -- spawn vozidel
local SET_HOOK = 'https://discord.com/api/webhooks/xxxx' -- set peněz
local GIVE_HOOK = 'https://discord.com/api/webhooks/xxxx' -- givnutí peněz
local ITEM_HOOK = 'https://discord.com/api/webhooks/xxxx' -- givování itemů


-----------------------------------
SPAWN VOZIDEL
car.png.4dc1ff33c712f798fc798345a0b555b8.png

1) Vyhledejte si příkaz ESX.RegisterCommand('car'
2) Za řádek xPlayer.triggerEvent('esx:spawnVehicle', args.car) vložte webhook
3) Kód může vypadat následovně: 

ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError)
	xPlayer.triggerEvent('esx:spawnVehicle', args.car)
	
	local player = xPlayer.getIdentifier(-1)
	local player2 = xPlayer.getName(-1)

	local embed = {
		{
			["color"] = 7829367,
			["title"] = "Spawn vozidla",
			["description"] = "`Admin:` ".. player2 .."\n`Identifikace:` ".. player .."\n`Vozidlo:` ".. args.car,
			["footer"] = {
			["text"] = os.date('%H:%M - %d. %m. %Y', os.time()),
			["icon_url"] = "https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/271/honeybee_1f41d.png",
			},
		}
	}
	PerformHttpRequest(CAR_HOOK, function(err, text, headers) end, 'POST', json.encode({username = 'Použití příkazu /car', embeds = embed}), { ['Content-Type'] = 'application/json' })
		
end, false, {help = _U('command_car'), validate = false, arguments = {
	{name = 'car', help = _U('command_car_car'), type = 'any'}
}})


-----------------------------------
GIVNUTÍ ITEMU
item.png.1ca446109b9b8a857fe5483574bc3cee.png

1) Vyhledejte si příkaz ESX.RegisterCommand('giveitem'
2) Za řádek args.playerId.addInventoryItem(args.item, args.count) vložte webhook
3) Kód může vypadat následovně: 

ESX.RegisterCommand('giveitem', 'admin', function(xPlayer, args, showError)
	args.playerId.addInventoryItem(args.item, args.count)
	
		local player = xPlayer.getName(-1)
		local playerid = xPlayer.getIdentifier(-1)
		local player2 = args.playerId.getName(-1)
		local player2id = args.playerId.getIdentifier(-1)

		local embed = {
		{
			["color"] = 7829367,
			["title"] = "Givnutí itemu",
			["description"] = "`Admin:` ".. player .." \n`Identifier admina:` "..playerid.."\n-----------\n`Item:` ".. args.item .."\n`Množství:` ".. args.count .."\n-----------\n`Hráči:` ".. player2 .."\n`Identifier hráče:` "..player2id.."",
			["footer"] = {
			["text"] = os.date('%H:%M - %d. %m. %Y', os.time()),
			["icon_url"] = "https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/271/honeybee_1f41d.png",
			},
		}
	}
	PerformHttpRequest(ITEM_HOOK, function(err, text, headers) end, 'POST', json.encode({username = 'Použití příkazu /giveitem', embeds = embed}), { ['Content-Type'] = 'application/json' })
	
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'}
}})

-----------------------------------
GIVNUTÍ PENĚZ
give.png.3308d82adc40b642f45d9cfbf1bf4691.png

1) Vyhledejte si příkaz ESX.RegisterCommand('giveaccountmoney'
2) Za řádek args.playerId.addAccountMoney(args.account, args.amount) vložte webhook
3) Kód může vypadat následovně: 

ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showError)
	if args.playerId.getAccount(args.account) then
		args.playerId.addAccountMoney(args.account, args.amount)
	
		local player = xPlayer.getName(-1)
		local playerid = xPlayer.getIdentifier(-1)
		local player2 = args.playerId.getName(-1)
		local player2id = args.playerId.getIdentifier(-1)
		local embed = {
		{
			["color"] = 7829367,
			["title"] = "Givnutí peněz",
			["description"] = "`Admin:` ".. player .." \n`Identifier admina:` "..playerid.."\n-----------\n`Částka:` ".. args.amount .."$\n`Typ účtu:` ".. args.account .."\n-----------\n`Hráči:` ".. player2 .."\n`Identifier hráče:` "..player2id.."",
			["footer"] = {
			["text"] = os.date('%H:%M - %d. %m. %Y', os.time()),
			["icon_url"] = "https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/271/honeybee_1f41d.png",
			},
		}
	}
	PerformHttpRequest(GIVE_HOOK, function(err, text, headers) end, 'POST', json.encode({username = 'Použití příkazu /giveaccountmoney', embeds = embed}), { ['Content-Type'] = 'application/json' })		
		
	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'}
}})

-----------------------------------
SETNUTÍ PENĚZ
set.png.8f3f54859527429432a46eff2e136f6f.png

1) Vyhledejte si příkaz ESX.RegisterCommand('setaccountmoney'
2) Za řádek args.playerId.setAccountMoney(args.account, args.amount) vložte webhook
3) Kód může vypadat následovně: 

ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError)
	if args.playerId.getAccount(args.account) then
		args.playerId.setAccountMoney(args.account, args.amount)
		
		local player = xPlayer.getName(-1)
		local playerid = xPlayer.getIdentifier(-1)
		local player2 = args.playerId.getName(-1)
		local player2id = args.playerId.getIdentifier(-1)
		local embed = {
		{
			["color"] = 7829367,
			["title"] = "Setnutí peněz",
			["description"] = "`Admin:` ".. player .." \n`Identifier admina:` "..playerid.."\n-----------\n`Částka:` ".. args.amount .."$\n`Typ účtu:` ".. args.account .."\n-----------\n`Hráči:` ".. player2 .."\n`Identifier hráče:` "..player2id.."",
			["footer"] = {
			["text"] = os.date('%H:%M - %d. %m. %Y', os.time()),
			["icon_url"] = "https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/271/honeybee_1f41d.png",
			},
		}
	}
	PerformHttpRequest(SET_HOOK, function(err, text, headers) end, 'POST', json.encode({username = 'Použití příkazu /setaccountmoney', embeds = embed}), { ['Content-Type'] = 'application/json' })	
		
	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'}
}})


Zbraně nepoužívám, ale můžete si doplnit podobně :classic_smile:

Edited by BzZz
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Zdravím, děkuji moc s pomocí k logům, ale šlo by ještě udělat na /setgroup v ESX Legacy? Nemám s tímto nějáké velké zkušenosti a nechci nic pokazit.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

Our partners

rcore.cz
K4mb1
SLTH
×
×
  • Create New...