Ce site est en cours de construction !
Ce site est actuellement en cours de développement.
Vous pensez pouvoir aider ? N'hésitez pas à le faire en cliquant sur l'icône représentant un crayon à droite de la page !
Cela est possible sur **n'importe quelle page**.
Référence du scripting des mods / en jeu
BeamMP vous permet également de créer vos propres plugins côté client. Nous avons mis à votre disposition plusieurs fonctions permettant de communiquer avec d'autres mods multijoueurs ainsi qu'avec les autres joueurs via le serveur.
Fonctions
Voici la liste des fonctions disponibles pour le scripting :
| Fonction | Description |
|---|---|
TriggerServerEvent("eventName", "data") |
Déclenche un événement dans l'environnement Lua du serveur. Les deux paramètres doivent être des chaînes de caractères. |
TriggerClientEvent("eventName", "data") |
Déclenche un événement dans l'environnement Lua local. Les deux paramètres doivent être des chaînes de caractères. Utile pour communiquer entre différents plugins. |
AddEventHandler("eventName", Function) |
Ajoute le deuxième paramètre à la liste des fonctions à exécuter lorsqu'un événement est reçu, localement ou depuis le serveur. La fonction reçoit un paramètre, contenant les données de l'événement sous forme de chaîne de caractères. |
Exemples de code
Par exemple, pour analyser les messages du chat, vous pouvez utiliser l'événement ChatMessageReceived fourni par BeamMP :
local function chatReceived(msg) -- Reçoit l'événement avec ses paramètres
print("chat received: "..msg)
local i = string.find(msg, ":") -- Recherche le premier ':' servant à séparer l'expéditeur du message
if i == nil then
print("error parsing message: separator could not be found!")
return -- Le séparateur n'a pas été trouvé, on annule la fonction
end
print("index of separator: "..tostring(i))
local sender = string.sub(msg, 1, i-1) -- Sépare la chaîne en deux parties pour récupérer l'expéditeur
local message = string.sub(msg, i+1, -1) -- Récupère le contenu du message
print("sender: " .. sender)
print("message: ".. message)
end
AddEventHandler("ChatMessageReceived", chatReceived) -- Ajoute notre gestionnaire d'événement à la liste gérée par BeamMP
Fonctionnement de l'exemple
L'événement ChatMessageReceived transmet le message du chat à la fonction chatReceived.
Le message reçu est ensuite séparé en deux parties :
sender→ le nom de l'expéditeur ;message→ le contenu du message.
Le caractère : est utilisé comme séparateur entre les deux.
Remarque : dans le code original,
string.find(s, ":")semble être une erreur : la variable utilisée pour le message reçu estmsg. Il faut donc utiliserstring.find(msg, ":"), comme dans l'exemple corrigé ci-dessus.