Etichetare și Sisteme Modulare cu CollectionService: HasTag, AddTag și GetTagged în Luau (Roblox Studio)

Ghid complet pentru CollectionService în Roblox Studio: arhitectură bazată pe etichete (Tags), evitarea scripturilor duplicat pe mii de obiecte și conectarea dinamică a componentelor.

Sintaxă
CollectionService:GetTagged("ZonaVindecare") | CollectionService:AddTag(instanta, "Inamic")

În dezvoltarea jocurilor mari, plasarea aceluiași script în 500 de uși sau 100 de capcane duce la risipă masivă de memorie și mentenanță imposibilă. Serviciul CollectionService rezolvă această problemă printr-o arhitectură modulară bazată pe etichete (Tags): un singur script central ascultă toate obiectele care poartă o anumită etichetă.

Un singur script care controlează toate zonele de lavă din hartă
local CollectionService = game:GetService("CollectionService")

local ETICHETA_LAVA = "ZonaLava"

-- Funcție atașată oricărui obiect care poartă eticheta 'ZonaLava':
local function configureazaPiesaLava(piesa: BasePart)
    piesa.Color = Color3.fromRGB(255, 60, 0)
    piesa.Material = Enum.Material.Neon

    piesa.Touched:Connect(function(obiectLovit)
        local umanoid = obiectLovit.Parent:FindFirstChildWhichIsA("Humanoid")
        if umanoid then
            umanoid.Health = 0 -- Eliminare instantanee la contactul cu lava!
        end
    end)
end

-- 1. Configurăm toate piesele existente deja în hartă cu această etichetă:
for _, piesaLava in CollectionService:GetTagged(ETICHETA_LAVA) do
    if piesaLava:IsA("BasePart") then
        configureazaPiesaLava(piesaLava)
    end
end

-- 2. Ascultăm dinamic: dacă o piesă nouă primește eticheta în timpul jocului, o configurăm automat:
CollectionService:GetInstanceAddedSignal(ETICHETA_LAVA):Connect(function(instantaNoua)
    if instantaNoua:IsA("BasePart") then
        configureazaPiesaLava(instantaNoua)
    end
end)
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Etichetare și Sisteme Modulare cu CollectionService: HasTag, AddTag și GetTagged

Ai o nelămurire despre utilizarea comenzii Etichetare și Sisteme Modulare cu CollectionService: HasTag, AddTag și GetTagged sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.