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 les données des joueurs, 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.
- Par rapport à Lua 5.1, Luau ajoute 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 une itération généralisée pour les tableaux.
- Tout code Lua 5.1 valide est un code Luau valide, mais l'inverse n'est pas vrai.
La plupart des livres et ressources en ligne pour Lua sont toujours largement applicables à Luau. Pour un résumé détaillé des différences, consultez Compatibilité dans la documentation de Luau. Pour la syntaxe du langage, consultez la référence Luau.
Les bases de Luau
Luau est typé de manière progressive, 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)) --> stringLuau 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, ce qui évalue à false dans les instructions conditionnelles :
local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- l'instruction évalue à false
endComme vous l'avez peut-être remarqué, -- commence un commentaire sur une ligne. --[[]] crée un commentaire de bloc :
--[[
Éteint immédiatement le rayon cosmique de la lune.
Ne doit être appelé que dans les 15 minutes avant minuit, heure normale des montagnes,
pour éviter d'endommager le rayon cosmique de la lune.
]]
local function stopCosmicMoonRay()
-- ajoutez cela plus tard, cela pourrait s'avérer important
endLes tableaux sont le terme générique pour les tableaux et les dictionnaires. Les tableaux sont indexés à partir de 1 plutôt qu'à partir de 0, 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",
dip = "salsa"
}
print(myArray[1]) --> chips
print(myDictionary.dip) --> salsaVous pouvez itérer sur des 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 propre :
for index, value in ipairs(myArray) do -- Lua standard
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua standard
print(key, value)
end
for key, value in myDictionary do -- itération généralisée Luau
print(key, value)
endVotre 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)oworld
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 de qualité de vie telles que la police, les couleurs, l'indentation, l'autocomplétion, les accolades et les info-bulles. Vous voudrez peut-être également 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 code (ou 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 montre un résumé des erreurs et des avertissements, mais vous pourriez trouver son utilité limitée ; l'Éditeur de script met déjà en évidence ces problèmes au fur et à mesure 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 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.