Un jeu Roblox qui grandit finit toujours par avoir le même problème : dix Scripts différents qui font presque la même chose, une fonction copiée-collée à cinq endroits, et personne (même toi, trois semaines plus tard) qui sait où modifier quoi.
La solution s'appelle ModuleScript : un fichier qui contient du code réutilisable, importé par n'importe quel autre script. C'est la brique qui transforme un projet en bazar en un projet propre.
| Emplacement | Type de script | Rôle |
|---|---|---|
ServerScriptService | Script | Logique serveur (argent, sauvegarde, sécurité) |
StarterPlayerScripts | LocalScript | Logique client (caméra, interface, contrôles) |
ReplicatedStorage | ModuleScript | Code partagé serveur + client |
ServerStorage | ModuleScript | Code partagé serveur uniquement (invisible au client) |
-- ModuleScript nommé "Utilitaires" dans ReplicatedStorage
local Utilitaires = {}
function Utilitaires.formaterArgent(montant)
return "$" .. tostring(montant)
end
function Utilitaires.estAdulte(age)
return age >= 18
end
return Utilitaires -- indispensable : c'est ce qui rend le module utilisable ailleursreturn final, ton ModuleScript ne renvoie rien et tout autre script recevra une table vide en l'important.local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Utilitaires = require(ReplicatedStorage.Utilitaires)
local texte = Utilitaires.formaterArgent(150)
print(texte) -- "$150"require ne charge le module qu'une seule fois, même appelé depuis plusieurs scripts différents — le code s'exécute une fois, le résultat est partagé.Pour un jeu de taille moyenne, une organisation qui tient dans le temps :
ReplicatedStorage/Modules/Config — constantes du jeu (prix, vitesses, durées)ReplicatedStorage/Modules/Utilitaires — fonctions génériques réutilisées partoutServerScriptService/Systemes/Boutique — logique métier d'un système précisServerScriptService/Main — un seul Script court qui démarre tout le restecalculerDegats plutôt que fonction2. Toi (et Bloxi) vous relirez ce code dans un mois.ReplicatedStorage : le client peut lire son code.Ce guide s'appuie sur des notions vues dans les modules Les Fonctions et Les Tables — la base pour écrire du code réutilisable et bien organisé.
Voir le module gratuitement →