GTAOnline.net

Multi Theft Auto (mta) => Scripting MTA [Lua Center] => Discussion démarrée par: MK le 22 Août 2010, 14:04:37

Titre: [TUTO] Faire une commande du style !message
Posté 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:
Code: ("META") [Sélectionner]
<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
Titre: Re : [TUTO] Faire une commande du style !message
Posté par: Ssk le 22 Août 2010, 14:53:23
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 ^^
Titre: Re : [TUTO] Faire une commande du style !message
Posté par: Barto le 22 Août 2010, 16:41:46
Merci pour ce tuto MK :)
Je crois que je vais me mettre un peu au lua.