Luau est le langage de programmation de Roblox, une version optimisée de Lua. C'est avec lui que tu donnes vie à ton jeu : déplacer des objets, réagir aux actions du joueur, gérer des scores. Cette antisèche couvre les fondations : variables, types de données, opérateurs et affichage dans la console.
Avant d'écrire ta première ligne, retiens trois choses : Luau est sensible à la casse (Score et score sont deux variables différentes), les variables se déclarent avec local pour rester propres, et la fonction print() est ton meilleur ami pour vérifier ce que fait ton code. Un script se place dans ServerScriptService (serveur) ou dans un objet pour s'exécuter.
-- Déclaration locale (recommandée)
local nom = "Roblox"
local points = 100
local actif = true
local rien = nil
-- Variable globale (éviter !)
compteur = 0
-- Plusieurs sur une ligne
local x, y, z = 1, 2, 3| Type | Exemple | Vérifier avec |
|---|---|---|
| string | "Bonjour" | type(x)=="string" |
| number | 42 / 3.14 | type(x)=="number" |
| boolean | true / false | type(x)=="boolean" |
| nil | nil | x == nil |
| table | {1,2,3} | type(x)=="table" |
| function | function() end | type(x)=="function" |
| Opérateur | Signification | Exemple |
|---|---|---|
+ - * / | Arith. classique | 10 / 2 → 5 |
// | Division entière | 7 // 2 → 3 |
% | Modulo (reste) | 7 % 3 → 1 |
^ | Puissance | 2^10 → 1024 |
.. | Concaténation | "A".."B" → "AB" |
# | Longueur | #"Hello" → 5 |
local s = "Bonjour Roblox"
string.len(s) -- 14
string.upper(s) -- "BONJOUR ROBLOX"
string.lower(s) -- "bonjour roblox"
string.sub(s, 1, 7) -- "Bonjour"
string.rep("ha", 3) -- "hahaha"
string.find(s, "Roblox") -- 9, 14
string.format("Score: %d", 42) -- "Score: 42"
tostring(42) -- "42"
tonumber("42") -- 42-- Affiche dans la console Studio (Output)
print("Bonjour !") -- texte simple
print("Points:", points) -- plusieurs valeurs séparées par tabulation
print("Score: " .. tostring(points)) -- concaténation
print(string.format("Score: %d pts", points)) -- formaté
warn("Attention !") -- message en orange
error("Erreur fatale") -- stoppe le script + message en rougescript.Parent.Name donne le nom de l'objet.local pour tes variables : une variable globale est plus lente et peut entrer en conflit avec d'autres scripts.vitesseJoueur plutôt que v) : tu te reliras plus facilement dans quelques semaines.5 (nombre) et "5" (texte) ne se comportent pas pareil. Concaténer du texte se fait avec .., pas +.