Construire un beau monde sur Roblox Studio, c'est bien. Mais pour le rendre vivant — donner des pouvoirs, créer des ennemis qui bougent, faire fonctionner un magasin, garder les scores — il faut programmer. Et sur Roblox, le langage de programmation, c'est Lua (plus précisément Luau, la version optimisée de Roblox). Ce guide vous donne les bases pour passer de "je copie-colle du code" à "j'écris mes propres scripts".
Qu'est-ce qu'un script ?
Un script est un fichier de code que Roblox exécute pour faire quelque chose. Dans Explorer → Insertion → Script. Il y a 3 types :
- Script (par défaut) : tourne côté serveur. Pour la logique du jeu, les calculs importants.
- LocalScript : tourne côté client (chez le joueur). Pour l'interface, les inputs, les effets visuels.
- ModuleScript : bibliothèque réutilisable. Vous l'importez depuis d'autres scripts.
Règle de sécurité : tout ce qui doit être fiable doit être dans un Script côté serveur. Les LocalScripts peuvent être trichés par un joueur malin.
Vos premières lignes de code
Insérez un Script dans Workspace. Ouvrez-le. Tapez :
print("Hello Roblox!")Lancez le jeu (Play). Ouvrez l'Output (View → Output). Vous voyez "Hello Roblox!". Bravo, votre premier programme.
Variables et types
Lua a 5 types principaux :
local nom = "Alice" -- string (texte)
local age = 14 -- number
local estCool = true -- boolean
local rien = nil -- absence de valeur
local liste = {1, 2, 3} -- table (collection)Le local rend la variable accessible uniquement dans le bloc courant. Bonne habitude : presque tout en local. Une variable globale (sans local) peut causer des bugs cachés.
Les structures de contrôle
Conditions :
if age >= 13 then
print("Tu peux jouer aux jeux 13+")
elseif age >= 7 then
print("Mode restreint")
else
print("Compte enfant")
endBoucles :
-- Boucle for de 1 à 10
for i = 1, 10 do
print(i)
end
-- Boucle while
local compteur = 0
while compteur < 5 do
compteur = compteur + 1
print(compteur)
endLes fonctions
Une fonction réutilise du code :
local function direBonjour(nom)
print("Bonjour " .. nom)
end
direBonjour("Alice")
direBonjour("Bob")Le .. sert à concaténer (coller ensemble) deux strings.
Manipuler des objets Roblox
L'arbre de votre jeu est accessible via game. Exemple :
local part = game.Workspace.Part1 -- accéder à un block nommé Part1
part.BrickColor = BrickColor.new("Bright red")
part.Material = Enum.Material.Neon
part.Size = Vector3.new(5, 5, 5)
part.Position = Vector3.new(0, 10, 0)Les événements (Events)
Le cœur de la programmation Roblox. On écoute un événement, et on réagit.
-- Quand un joueur touche le block
script.Parent.Touched:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player then
print(player.Name .. " a touché le block!")
end
end)
-- Quand un joueur rejoint le jeu
game.Players.PlayerAdded:Connect(function(player)
print(player.Name .. " a rejoint!")
end)La forme :Connect(function(args) ... end) est typique de Roblox. À mémoriser absolument.
Exemple complet : un block qui change de couleur au clic
Créez une Part avec un ClickDetector dedans. Ajoutez ce Script dans la Part :
local part = script.Parent
local clickDetector = part:WaitForChild("ClickDetector")
local couleurs = {"Bright red", "Bright blue", "Bright green", "Bright yellow"}
clickDetector.MouseClick:Connect(function(player)
local couleurRandom = couleurs[math.random(1, #couleurs)]
part.BrickColor = BrickColor.new(couleurRandom)
print(player.Name .. " a changé la couleur")
end)Lancez le jeu, cliquez sur la Part. La couleur change. Vous venez de coder votre premier mini-système.
Les ressources pour aller plus loin
- Documentation officielle : create.roblox.com/docs (en anglais mais très bien faite).
- Devforum Roblox : devforum.roblox.com pour poser des questions à la communauté.
- YouTube : chaînes AlvinBlox, TheDevKing, GnomeCode pour des tutos vidéo.
Les 5 erreurs à éviter
- Tout mettre dans un LocalScript. Les joueurs peuvent trafiquer leur client. Logique critique = Script serveur uniquement.
- Ne pas utiliser local. Variables globales = bugs invisibles.
- Ignorer les erreurs en Output. Lisez-les, elles indiquent EXACTEMENT la ligne du problème.
- Coller du code sans comprendre. Vous restez bloqué à la première erreur. Comprenez chaque ligne avant de l'utiliser.
- Ne pas sauvegarder. Ctrl+S régulièrement. Sinon plantage = travail perdu.
Construire en équipe
Le multi-créateur est possible sur Roblox : Team Create permet à plusieurs devs d'éditer le même jeu en temps réel. Trouvez des partenaires créateurs sur notre annuaire Roblox.