Service de gestion d'objets temporaires (ou "garbage items") pour Roblox.
Créé par Alienduck, le 09/09/2025
Le GarbageItemService est un module qui permet de :
-
Cloner facilement des objets stockés dans un dossier spécial (
Garbage) ou dansReplicatedStorage. -
Déplacer les objets inutilisés dans un dossier dédié (
Garbage) pour éviter d’encombrerReplicatedStorage. -
Supprimer proprement les objets devenus obsolètes.
-
Réutiliser des objets sans avoir à les recréer à chaque fois.
L’objectif est de mieux gérer la mémoire et l’organisation des objets en jeu, surtout pour des systèmes où des objets temporaires apparaissent/disparaissent souvent (particules, projectiles, effets visuels, etc.).
-
Clone un objet depuis le dossier
Garbage. -
Si l’objet n’existe pas dans
Garbage, il est cloné depuisReplicatedStorage. -
Retourne l’objet cloné ou
nilsi rien n’a été trouvé.
✅ Exemple :
local rainDrop = GarbageItemService.Clone("RainDrop")
if rainDrop then
rainDrop.Position = Vector3.new(0, 50, 0)
rainDrop.Parent = workspace
end -
Déplacer un objet dans le dossier
Garbage. -
Utile pour stocker un objet inutilisé sans le détruire.
✅ Exemple :
task.wait(5)
GarbageItemService.AddInGarbage(rainDrop)- Supprime définitivement tous les objets ayant ce nom dans le dossier
Garbage.
✅ Exemple :
GarbageItemService.RemoveFromGarbage("RainDrop")Système de pluie avec des Parts (RainDrop) :
-
Récupérer un model ou un part.
-
Placer dans le workspace.
-
Si le part ou le model collide un autre objet, déplacer dans
Garbageou détruire.
local rainDrop = GarbageItemService.Clone("RainDrop")
rainDrop.Position = Vector3.new(0, 50, 0)
rainDrop.Parent = workspace
raindDrop.Touched:Once(function (hit: BasePart)
GarbageItemService.AddInGarbage(rainDrop)
)Pour des balles tirées par une arme :
-
Cloner la balle quand le joueur tire.
-
Déplacer dans
Garbageaprès l’impact ou après un délai. -
Nettoyer régulièrement les balles inutiles avec RemoveFromGarbage ou ajouter un délai.
Pour des particules ou des effets visuels temporaires :
-
Cloner l’effet depuis ReplicatedStorage ou un dossier donner (nouveau second paramètre obsolète).
-
Ajouter au workspace.
-
Après sa durée de vie, placer dans
Garbageou détruire.
Le service crée automatiquement un dossier Garbage dans ReplicatedStorage :
ReplicatedStorage
│
├── Garbage
│ ├── RainDrop
│ ├── Bullet
│ └── ParticleEffect
│
└── (autres objets et modules)🚀 Avantages
-
Réutilisation : pas besoin de recréer les mêmes objets en boucle.
-
Organisation : ReplicatedStorage reste propre, seuls les objets actifs sont visibles.
-
Performance : meilleure gestion mémoire grâce à un stockage dédié.
- Cette méthode accepte désormais une durée
- Elle représente le temps que restera l'objet donné dans le
Garbage.
✅ Exemple:
local object: Instance = Instance.new("part")
object.Parent = workspace
object.Name = "Object"
GarbageItemService.AddInGarbage(object, 5)
if object then print("L'objet existe") end
task.wait(5.1)
if not object then print("L'objet n'existe pas") end
--[[
Output:
>L'objet existe
>L'objet n'existe pas
]]- Cette méthode accepte désormais un dossier
- Ce dossier est celui qui contient l'objet que vous cherchez à cloner.
- Si ce paramètre n'est pas donné la méthode cherche dans le
ReplicatedStorage
✅ Exemple:
local targetFolder: Folder = game:GetService("ReplicatedStorage").Items
local object: Instance = GarbageItemService.Clone("ObjectName", targetFolder)