Cours

Lua Leçon 1

Premiers pas en Lua

D'où vient Lua, pourquoi les jeux l'adorent, et comment afficher du texte et utiliser des variables.

15 min

À la fin de cette leçon, tu sauras

  • Savoir où Lua est utilisé
  • Afficher du texte avec print
  • Créer des variables locales et assembler du texte avec ..

Lua, c'est quoi ?

Lua (« lune » en portugais) est un petit langage créé au Brésil. Il est léger, rapide et facile à intégrer dans un autre programme. C'est pour ça qu'on le retrouve dans beaucoup de jeux : Roblox (avec sa variante Luau), World of Warcraft pour les add-ons, Garry's Mod, ou les serveurs de jeu FiveM pour GTA V. Le jeu fournit le moteur, et Lua sert à écrire les règles et les scripts.

Afficher du texte

print("Bonjour !")
print("Je découvre le Lua")

Pas besoin de point-virgule à la fin des lignes en Lua (c'est autorisé, mais on ne le met presque jamais).

Les variables

local prenom = "Léa"
local age = 18
local estConnecte = true
local argent = nil   -- pas de valeur

print(prenom)
  • les textes (string) sont entre guillemets ;
  • les nombres (number) s'écrivent sans rien, avec un point pour la virgule ;
  • les booléens valent true ou false ;
  • nil veut dire « rien », l'absence de valeur.

Attention : écris toujours local devant une nouvelle variable. Sans lui, la variable est globale : elle est visible partout, et deux scripts peuvent s'écraser leurs variables sans le savoir. C'est une source de bugs très fréquente dans les scripts de jeu.

Assembler du texte et calculer

local prenom = "Léa"
local age = 18
print("Je m'appelle " .. prenom .. " et j'ai " .. age .. " ans.")

local total = 12 * 3 + 4      -- 40
local reste = 10 % 3          -- 1

En Lua, on colle des textes avec deux points ... Les commentaires commencent par deux tirets --.

À toi de jouer

  • crée une variable locale joueur qui contient un pseudo ;
  • crée une variable locale niveau qui contient un nombre ;
  • affiche avec print une phrase qui assemble les deux avec ...
main.lua
  • joueur est une variable locale qui contient un texte
  • niveau est une variable locale qui contient un nombre
  • print assemble du texte avec ..
  • La phrase utilise joueur et niveau
Bloqué ? Voir une solution
local joueur = "Skap"
local niveau = 12

print("Le joueur " .. joueur .. " est niveau " .. niveau)

Quiz

1Comment colle-t-on deux textes en Lua ?
2Pourquoi écrire local devant une variable ?
3Que représente nil ?