Bonsoir Remi,
Déjà ton post est relativement confus et tu emplois des termes qui font que ta phrase n'a aucun sens:
je veux qu'au lieu d'écrire le nom de ma création et bien j'aimerais faire appel à la variable qui appellera elle une function qui comportera le nom de mon mods.
Une variable n'appelle en aucun cas une fonction, elle sert à stocker seulement (une donnée comme un nombre, un tableau ou même une fonction).
Ensuite tu sous-entends que tu ne veux pas écrire le nom de ton mod mais que tu veux y avoir accès via une variable. Donc tu vas forcément devoir l'écrire au moins une fois !
Ensuite ton code n'a pas vraiment de sens. Enfin si mais il n'est pas du tout optimisé car tu laisses au serveur la tâche de déclenché l'event
displayClientInfo pour tout le monde alors que tout ce code peut rester du côté client.
Il n'est pas non plus nécessaire de faire un boucle pour déclencher un event client pour tous les joueurs, tu peux faire ça à la place:
triggerClientEvent("displayClientInfo", player, "Info", "Visitez le site officiel de " ..eName.. " : censure-pour-le-forum.fr", 200, 200, 22)
En ne précisant aucun élément dans le 1er argument, il va par défaut le déclencher pour l'élément root (
getRootElement(), cf le wiki) et donc pour tous les joueurs connectés.
Mais bon dans cet exemple là, tu peux rester entièrement du côté client mais en utilisant du coup
triggerEvent ou en appelant directement la fonction si elle fait partie de ton script.
Je pense quand même avoir compris ce que tu veux:
Comment avoir une variable globale accessible à la fois du côté serveur mais aussi du côté client ?
Et ben c'est très simple, on peut faire un
setElementData sur l'objet
root et il sera automatiquement synchronisé et donc accessible du côté client.
La variable
root est un raccourcis à
getRootElement()Plus d'infos sur les variables prédéfinies ici:
https://wiki.multitheftauto.com/wiki/Predefined_variables_listExemple:
"Set" les variables 1 seule fois au démarrage du serveur:
setElementData(root, "modName", "MTA:DayZ Epoch")
setElementData(root, "modWebsite", "http://mon-super-site.com")
Ensuite, utilise les n'importe où dans tes fichiers Lua comme dans ce bout de code:
function myFunction()
local mName = tostring( getElementData(root, "modName") )
local mSite = tostring( getElementData(root, "modWebsite") )
outputChatBox("Visitez le site officiel de "..mName.." : "..mSite, root, 200, 200, 22)
end
setTimer(myFunction, 5*60*1000, 0) --toutes les 5 mins
Voilà j'espère que c'est compréhensible et que j'ai pas répondu à côté de ce que tu demandais réellement.
Cordialement,
Citizen