Engine-klasse
CollectionService
*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.
Samenvatting
Methoden
CreateCollection(query: string,root: Instance):Collection |
GetCollection(class: string):Instances |
GetCollections(instance: Instance):{any} |
Evenementen
ItemAdded(instance: Instance):RBXScriptSignal |
ItemRemoved(instance: Instance):RBXScriptSignal |
TagAdded(tag: string):RBXScriptSignal |
TagRemoved(tag: string):RBXScriptSignal |
API-referentie
Methoden
AddTag
CreateCollection
Teruggaves
GetCollection
GetCollections
GetInstanceAddedSignal
Parameters
Teruggaves
Codevoorbeelden
Dodelijke Bakstenen met CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Dodelijk"
local function onDeadlyPartTouched(otherPart)
if not otherPart.Parent then
return
end
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Sla de verbindingen op zodat ze kunnen worden verbroken wanneer de tag wordt verwijderd
local connections = {}
local function onInstanceAdded(object)
-- Bevestig dat het object met deze tag een BasePart is
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Als er een opgeslagen verbinding op dit object is, verbreek/verwijder deze
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Luister naar deze tag die op objecten wordt toegepast
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Detecteer ook eventuele objecten die al de tag hebben
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetInstanceRemovedSignal
Parameters
Teruggaves
Codevoorbeelden
Dodelijke Bakstenen met CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Dodelijk"
local function onDeadlyPartTouched(otherPart)
if not otherPart.Parent then
return
end
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Sla de verbindingen op zodat ze kunnen worden verbroken wanneer de tag wordt verwijderd
local connections = {}
local function onInstanceAdded(object)
-- Bevestig dat het object met deze tag een BasePart is
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Als er een opgeslagen verbinding op dit object is, verbreek/verwijder deze
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Luister naar deze tag die op objecten wordt toegepast
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Detecteer ook eventuele objecten die al de tag hebben
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTagged
Parameters
Teruggaves
Instances
Codevoorbeelden
Dodelijke Bakstenen met CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Dodelijk"
local function onDeadlyPartTouched(otherPart)
if not otherPart.Parent then
return
end
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Sla de verbindingen op zodat ze kunnen worden verbroken wanneer de tag wordt verwijderd
local connections = {}
local function onInstanceAdded(object)
-- Bevestig dat het object met deze tag een BasePart is
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Als er een opgeslagen verbinding op dit object is, verbreek/verwijder deze
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Luister naar deze tag die op objecten wordt toegepast
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Detecteer ook eventuele objecten die al de tag hebben
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTags
Parameters
Teruggaves
Codevoorbeelden
Tags en CollectionService gebruiken
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Voeg een tag toe
CollectionService:AddTag(object, "Deadly")
-- Vraag naar een tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " is dodelijk")
end
-- Lijst tags op een object
local tags = CollectionService:GetTags(object)
print("Het object " .. object:GetFullName() .. " heeft tags: " .. table.concat(tags, ", "))
-- Verwijder een tag
CollectionService:RemoveTag(object, "Deadly")HasTag
Teruggaves
Codevoorbeelden
Tags en CollectionService gebruiken
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Voeg een tag toe
CollectionService:AddTag(object, "Deadly")
-- Vraag naar een tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " is dodelijk")
end
-- Lijst tags op een object
local tags = CollectionService:GetTags(object)
print("Het object " .. object:GetFullName() .. " heeft tags: " .. table.concat(tags, ", "))
-- Verwijder een tag
CollectionService:RemoveTag(object, "Deadly")RemoveTag
Teruggaves
()
Codevoorbeelden
Tags en CollectionService gebruiken
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Voeg een tag toe
CollectionService:AddTag(object, "Deadly")
-- Vraag naar een tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " is dodelijk")
end
-- Lijst tags op een object
local tags = CollectionService:GetTags(object)
print("Het object " .. object:GetFullName() .. " heeft tags: " .. table.concat(tags, ", "))
-- Verwijder een tag
CollectionService:RemoveTag(object, "Deadly")Evenementen
ItemAdded
ItemRemoved