Les scripts sont des fichiers de texte brut qui vous permettent d'ajouter un comportement dynamique et personnalisé à vos expériences.Vous pouvez utiliser des scripts pour déclencher des événements en jeu, répondre à l'entrée du joueur, enregistrer les données du 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, dérivé de Lua 5.1.
- Par rapport à Lua 5.1, Luau ajoute des améliorations de performance et de nombreuses fonctionnalités utiles, notamment un système de saisie facultatif, l'interpolation de chaînes et une itération généralisée pour les tables.
- Tout code Lua 5.1 valide 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, voir Compatibilité dans la documentation Luau.Pour la syntaxe de la langue, voir la référence Luau.
Luau basiques
Luau est progressivement tapé, vous n'avez donc pas besoin de spécifier un type lorsque vous créez une variable. Vous pouvez utiliser type() pour vérifier le taper'objet :
logMessage = "User has more than 10 items!"print(logMessage) --> L'utilisateur a plus de 10 articles !print(type(logMessage)) --> string
Luau a des scopes globaux et locaux , mais il est presque toujours préférable de déclarer les variables et les fonctions localement avec le mot-clé local :
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Luau utilise nil pour représenter l'inexistence ou le néant, qui s'évalue comme false dans les déclarations conditionnelles :
local messageToUserprint(messageToUser) --> zéroprint(type(message)) --> zéroif messageToUser then-- la déclaration est évaluée à falseend
Comme vous l'avez peut-être remarqué, -- commence un commenterd'une ligne. --[[]] crée un commenterde bloc :
--[[
Shuts off the cosmic moon ray immediately.
Should only be called within 15 minutes of midnight Mountain Standard
Time to avoid damage to the cosmic moon ray.
]]
local function stopCosmicMoonRay()
-- ajoutez ceci plus tard, cela pourrait s'avérer important
end
Les tables sont le terme générique pour les tableaux et les dictionnaires.Les tableaux sont basés sur un plutôt que sur zéro, donc le premier élément est [1] .Vous déclarez des tableaux et des dictionnaires avec un seul ensemble de crochets courbes :
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> pucesprint(myDictionary.dip) --> salsa
Vous pouvez itérer sur les tables 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 propre :
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 -- Luau itération généraleprint(key, value)end
Votre premier script
Dans Roblox Studio, passez la souris sur ServerScriptService dans la fenêtre Explorateur et cliquez sur + .
Sélectionnez Script pour ajouter un nouveau script.
Faites un clic droit sur le script et renommez-le en HelloScript.
Double-cliquez sur le script pour l'ouvrir dans le éditeur de scripts.
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.
Cliquez sur Jouer pour exécuter votre expérience.
Notez la sortie :
hel (x2)oworld
Devenir confortable
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 scripts de paramètres du studio vous permet d'ajuster les fonctionnalités de qualité de vie telles que la police, les couleurs, l'indentation, l'autocomplétion, les crochets et les didacticiels.Vous pouvez également vouloir activer le mode sombre dans la section Studio .
- Maintenir Ctrl ou Command et cliquer sur une fonction ou une variable vous amène à sa déclaration dans votre base de code (ou sa documentation en ligne).L'utilisation de trouver et trouver 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 des scripts montre un résumé d'erreurs et d'avertissements, mais vous pourriez trouver son utilité limitée ; l'éditeur de scripts souligne déjà ces problèmes lorsque vous les taper.
Pour plus d'informations sur la configuration de Studio pour le scripting, voir Éditeur de scripts.Pour obtenir des informations sur l'utilisation de votre éditeur de texte préféré et du système de contrôle de version, voir outils externes.
Votre deuxième script
Dans Roblox Studio, ajoutez un script à ReplicatedStorage dans la fenêtre Explorateur et renommez-le en OhNo.
Ajoutez le code suivant au fichier :
print("Hello script types and locations!")Cliquez sur Jouer pour exécuter votre expérience.
Notez comment la sortie n'est pas différente de celle lorsque vous avez exécuté votre premier script .
Pour comprendre pourquoi le script n'a pas lancer, voir Types et emplacements de script.