Les scripts sont des fichiers texte simples qui vous permettent d'ajouter un comportement dynamique et personnalisé à vos jeux. Vous pouvez utiliser des scripts pour déclencher des événements dans le jeu, répondre aux entrées des joueurs, sauvegarder des données de joueur, créer des classements, faire apparaître des ennemis, contrôler le comportement des PNJ, et bien plus encore.
Luau
Les scripts Roblox utilisent le langage de programmation Luau, qui est dérivé de Lua 5.1.
- Comparé à Lua 5.1, Luau apporte des améliorations de performance et de nombreuses fonctionnalités utiles, y compris un système de typage optionnel, l'interpolation de chaînes et l'itération généralisée pour les tableaux.
- Tout code valide Lua 5.1 est un code Luau valide, mais l'inverse n'est pas vrai.
La plupart des livres et des ressources en ligne pour Lua sont toujours largement applicables à Luau. Pour un résumé détaillé des différences, consultez Compatibilité dans la documentation Luau. Pour la syntaxe du langage, consultez la référence Luau.
Bases de Luau
Luau est typé progressivement, donc vous n'avez pas besoin de spécifier un type lorsque vous créez une variable. Vous pouvez utiliser type() pour vérifier le type d'un objet :
logMessage = "L'utilisateur a plus de 10 objets !"print(logMessage) --> L'utilisateur a plus de 10 objets !print(type(logMessage)) --> string
Luau a des portées globales et locales, mais il est presque toujours préférable de déclarer des variables et des fonctions localement avec le mot-clé local :
local logMessage = "L'utilisateur a plus de 10 objets !"
local function printMessage()
print(logMessage)
end
printMessage() --> L'utilisateur a plus de 10 objets !
Luau utilise nil pour représenter l'inexistence ou le néant, qui évalue à false dans les instructions conditionnelles :
local messageToUserprint(messageToUser) --> nilprint(type(messageToUser)) --> nilif messageToUser then-- l'instruction évalue à falseend
Comme vous l'avez peut-être remarqué, -- commence un commentaire sur une ligne. --[[]] crée un commentaire de bloc :
--[[
Éteint immédiatement le rayon cosmique lunaire.
Ne doit être appelé que dans les 15 minutes suivant minuit, heure normale des Rocheuses,
afin d'éviter d'endommager le rayon cosmique lunaire.
]]
local function stopCosmicMoonRay()
-- ajoutez ceci plus tard, cela pourrait s'avérer important
end
Les tableaux sont le terme générique pour les tableaux et les dictionnaires. Les tableaux sont à base de un plutôt qu'à base de zéro, donc le premier élément est [1]. Vous déclarez des tableaux et des dictionnaires avec un seul ensemble d'accolades :
local myArray = {"chips", "eau pétillante", "salsa"}local myDictionary = {encas = "chips",boisson = "eau pétillante",veille = "salsa"}print(myArray[1]) --> chipsprint(myDictionary.veille) --> salsa
Vous pouvez itérer sur les tableaux en utilisant des boucles for avec la fonction ipairs() pour les tableaux et la fonction pairs() pour les dictionnaires, mais Luau vous permet également d'omettre ces fonctions pour une syntaxe plus claire :
for index, value in ipairs(myArray) do -- Lua standardprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua standardprint(key, value)endfor key, value in myDictionary do -- itération généralisée Luauprint(key, value)end
Votre premier script
Dans Roblox Studio, survolez ServerScriptService dans la fenêtre Explorer et cliquez sur +.
Sélectionnez Script pour ajouter un nouveau script.
Cliquez avec le bouton droit sur le script et renommez-le en HelloScript.
Double-cliquez sur le script pour l'ouvrir dans l'éditeur de script.
Ajoutez le code suivant au fichier :
local helloArray = {"h", "e", "l", "l", "o"}local worldArray = {"w", "o", "r", "l", "d"}for index, value in helloArray doprint(value)endprint(table.concat(worldArray))Assurez-vous que la fenêtre Sortie est ouverte.
Exécutez votre jeu et notez la sortie :
hel (x2)omonde
Mettez-vous à l'aise
Une grande partie de l'adaptation à un nouvel environnement de développement consiste à le configurer pour répondre à vos besoins et à comprendre les outils à votre disposition :
- La section Éditeur de script des Paramètres de Studio vous permet d'ajuster des fonctionnalités améliorant l'expérience utilisateur telles que la police, les couleurs, l'indentation, la complétion automatique, les accolades et les infobulles. Vous voudrez peut-être également activer le mode sombre dans la section Studio.
- Maintenir Ctrl ou Command en cliquant sur une fonction ou une variable vous amène à sa déclaration dans votre code (ou dans sa documentation en ligne). Utiliser Rechercher et Rechercher tout peut vous aider à naviguer dans des projets plus importants.
- La fenêtre Sortie est l'outil le plus basique pour comprendre le comportement de vos scripts. Utilisez le menu ⋯ pour activer Afficher le contexte et Afficher la source.
- La fenêtre Analyse de script affiche un résumé des erreurs et des avertissements, mais son utilité peut être limitée ; l'éditeur de script souligne déjà ces problèmes pendant que vous tapez.
Pour plus d'informations sur la configuration de Studio pour la programmation, consultez Éditeur de script.
Votre deuxième script
Dans Roblox Studio, ajoutez un script à ReplicatedStorage dans la fenêtre Explorer et renommez-le en OhNo.
Ajoutez le code suivant au fichier :
print("Bonjour les types et emplacements de script !")Notez que la sortie n'est pas différente de celle lorsque vous avez exécuté votre premier script.
Pour comprendre pourquoi le script ne s'est pas exécuté, consultez Types et emplacements de script.