GTAOnline.net
Multi Theft Auto (mta) => Scripting MTA [Lua Center] => Discussion démarrée par: MK le 22 Août 2010, 14:04:37
-
Salut,
Voici un petit tutoriels en Lua pour afficher un message à la suite d'une commande
Nous devront obtenir ceci:
[LZR]Maikill: !salut
<Server> [LZR]Maikill vous salut!
Nous allons créer un nouveau dossier dans le répertoire /resources/
Nous allons nommé ce dossier "Commandes"
Dans ce dossier, nous allons créer deux nouveaux fichiers: un fichier Meta.xml et un fichier Server.lua
Dans le fichier Meta.xml nous allons mettre:
<meta>
<info author="Pseudo" version="1.0.0" type="script" />
<script src="Server.lua" type="server" />
</meta>
Nous relions le Meta.xml au fichier lua.
et nous complétons les informations de l'auteur, de la version et du type.
Le serveur va dans un premier temps, utiliser le Meta.xml comme fichier de repère pour la ressource.
Nous allons maintenant nous attaqué au fichier lua:
function commande1( salut )
local askdname = getPlayerName ( source )
outputChatBox( "<Server> ".. askdname .." vous salut", getRootElement(), R, G, B)
end
addEvent("salut", true)
addEventHandler( "salut",getRootElement(), commande1 )
Ceci est la fonction commande1 qui définit un paramètre "Salut"
Nous allons créer une variable askdname pour récupérer le nom du joueur avec getPlayerName().
on va utiliser la fonction outputChatBox pour transmettre un message aux joueurs.
".. askdname .. " définit le nom du joueur.
vous pouvez compléter R, G, B. pour définir les couleurs de la phrase.
Maintenant avec addEvent("salut", true)
et avec addEventHandler( "mdr",getRootElement(), commande1 ) on relie la commande salut à la fonction commande 1
et enfin en bas de votre code:
function checkCommand ( message, messageType )
if ( messageType == 0 ) then
if ( message == "!salut" ) then
message = "!salut"
setTimer( triggerEvent, 100, 1, "salut", source )
end
end
end
Si le message est !salut,
on affiche ce que le joueur dit dans la shootbox '!salut' et on exécute la commande salut dans un délai de 100 ms.
désolé si je ne suis pas très clair mais je débute et c'est le moins que je puisse partager pour l'instant.
je modifierais entre temps ce tutoriel
-
Je voit pas pourquoi tu créer un évent pour appeler une fonction ^^
function checkCommand ( message, messageType )
if ( messageType == 0 ) then
if ( message == "!salut" ) then
message = "!salut"
setTimer(commande1, 100, 1, source, 255, 255, 255 )
end
end
end
function commande1( player, r, g, b )
local askdname = getPlayerName ( player )
outputChatBox( "<Server> ".. askdname .." vous salut", getRootElement(), R, G, B)
end
Et la c'est bien ^^
-
Merci pour ce tuto MK :)
Je crois que je vais me mettre un peu au lua.