LUA:DarkRP Chat Command:fr

From DarkRP
This page is available in the following languages:
Данная версия страницы доступна на следующих языках:
English | Français

Commencer[edit]

Le code suivant doit être placé dans un fichier serveur dans un module. Voir ici pour plus d'informations à ce sujet.

Coder[edit]

Ajoutez le code suivant à l'intérieur de votre fichier serverside :

local function CreateCash(ply, args)
	if args == "" or not tonumber(args) then return "" end
	
	local amount = math.floor(tonumber(args))

	if amount <= 1 then
		DarkRP.notify(ply, 1, 4, DarkRP.getPhrase("invalid_x", DarkRP.getPhrase("arguments"), ""))
		return ""
	end
	
	if ply:IsSuperAdmin() then
		ply:ChatPrint("Vous creez " .. DarkRP.formatMoney(amount) .. "!")
	else
		ply:ChatPrint("Vous n'etes pas autorise a utiliser cette commande de chat !")
		return ""
	end

	local trace = {}
	trace.start = ply:EyePos()
	trace.endpos = trace.start + ply:GetAimVector() * 85
	trace.filter = ply

	local tr = util.TraceLine(trace)
	DarkRP.createMoneyBag(tr.HitPos, amount)

	return ""
end
DarkRP.defineChatCommand("createcash", CreateCash)
DarkRP.defineChatCommand("createmoney", CreateCash)

Et ceci dans un fichier shared :

DarkRP.declareChatCommand{
	command = "createcash",
	description = "Creez de l'argent!",
	delay = 1.5
}
DarkRP.declareChatCommand{
	command = "createmoney",
	description = "Creez de l'argent!",
	delay = 1.5
}

Voyons maintenant comment tout cela fonctionne.

Tout d'abord, nous vérifions si le joueur a fourni quelque chose et si c'est une valeur numérique, par exemple /dropmoney <montant>

if args == "" or not tonumber(args) then return "" end

Ensuite, nous vérifions sur la valeur qu'il essaie de créer est plus petite que 1, ou si le joueur qui essaie de créer de l'argent n'est pas un superadmin.

local amount = math.floor(tonumber(args))

if amount <= 1 then
	DarkRP.notify(ply, 1, 4, DarkRP.getPhrase("invalid_x", DarkRP.getPhrase("arguments"), ""))
	return ""
end
	
if ply:IsSuperAdmin() then
		ply:ChatPrint("Vous creez " .. DarkRP.formatMoney(amount) .. "!")
	else
		ply:ChatPrint("Vous n'etes pas autorise a utiliser cette commande de chat !")
		return ""
	end

Ensuite, nous créons le fait que l'objet qui apparaîtra sera à l'endroit où le joueur regarde...

local trace = {}
trace.start = ply:EyePos()
trace.endpos = trace.start + ply:GetAimVector() * 85
trace.filter = ply

local tr = util.TraceLine(trace)

Et finalement, nous créons l'argent en utilisant l'information "trace" :

DarkRP.createMoneyBag(tr.HitPos, amount)

Quand vous utilisez une commande de chat DarkRP, vous devez retourner une valeur vide. Sinon, tous les joueurs verront la commande de chat (ainsi que le montant) dans leurs chats !

return ""

Nous devons définir la commande à écrire, donc cela fonctionne :

DarkRP.defineChatCommand("createcash", CreateCash)
DarkRP.defineChatCommand("createmoney", CreateCash)

Dans le fichier shared (partagé) nous devons déclarer la commande. Cela ajoute un délai pour prévenir du spam et une courte description qui est utilisé dans le menu d'aide F1. In the shared file we then declare the command. This adds a delay to prevent spam and a short description that's used in the F1 help menu.

DarkRP.declareChatCommand{
	command = "createcash",
	description = "Creez de l'argent!",
	delay = 1.5
}
DarkRP.declareChatCommand{
	command = "createmoney",
	description = "Creez de l'argent!",
	delay = 1.5
}

Dans ce script, nous avons ajouté une commande de chat qui crée de l'argent.