Kelas Engine
CollectionService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Rangkuman
Metode
GetCollection(class: string):Instances |
Acara
ItemAdded(instance: Instance):RBXScriptSignal |
ItemRemoved(instance: Instance):RBXScriptSignal |
TagAdded(tag: string):RBXScriptSignal |
TagRemoved(tag: string):RBXScriptSignal |
Referensi API
Metode
AddTag
GetCollection
GetInstanceAddedSignal
Parameter
Memberikan nilai
Contoh Kode
Blok Mematikan menggunakan CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Deadly"
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
-- Simpan koneksi sehingga bisa diputus ketika tag dihapus
local connections = {}
local function onInstanceAdded(object)
-- Konfirmasi bahwa objek dengan tag ini adalah BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Jika ada koneksi yang disimpan pada objek ini, putuskan/hapus
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Dengarkan untuk tag ini diterapkan pada objek
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Juga deteksi objek yang sudah memiliki tag
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetInstanceRemovedSignal
Parameter
Memberikan nilai
Contoh Kode
Blok Mematikan menggunakan CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Deadly"
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
-- Simpan koneksi sehingga bisa diputus ketika tag dihapus
local connections = {}
local function onInstanceAdded(object)
-- Konfirmasi bahwa objek dengan tag ini adalah BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Jika ada koneksi yang disimpan pada objek ini, putuskan/hapus
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Dengarkan untuk tag ini diterapkan pada objek
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Juga deteksi objek yang sudah memiliki tag
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTagged
Parameter
Memberikan nilai
Instances
Contoh Kode
Blok Mematikan menggunakan CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Deadly"
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
-- Simpan koneksi sehingga bisa diputus ketika tag dihapus
local connections = {}
local function onInstanceAdded(object)
-- Konfirmasi bahwa objek dengan tag ini adalah BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Jika ada koneksi yang disimpan pada objek ini, putuskan/hapus
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Dengarkan untuk tag ini diterapkan pada objek
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Juga deteksi objek yang sudah memiliki tag
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTags
Parameter
Memberikan nilai
Contoh Kode
Menggunakan Tag dan CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Tambahkan sebuah tag
CollectionService:AddTag(object, "Deadly")
-- Tanyakan untuk sebuah tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " adalah mematikan")
end
-- Daftar tag pada sebuah objek
local tags = CollectionService:GetTags(object)
print("Objek " .. object:GetFullName() .. " memiliki tag: " .. table.concat(tags, ", "))
-- Hapus sebuah tag
CollectionService:RemoveTag(object, "Deadly")HasTag
Memberikan nilai
Contoh Kode
Menggunakan Tag dan CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Tambahkan sebuah tag
CollectionService:AddTag(object, "Deadly")
-- Tanyakan untuk sebuah tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " adalah mematikan")
end
-- Daftar tag pada sebuah objek
local tags = CollectionService:GetTags(object)
print("Objek " .. object:GetFullName() .. " memiliki tag: " .. table.concat(tags, ", "))
-- Hapus sebuah tag
CollectionService:RemoveTag(object, "Deadly")RemoveTag
Memberikan nilai
()
Contoh Kode
Menggunakan Tag dan CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Tambahkan sebuah tag
CollectionService:AddTag(object, "Deadly")
-- Tanyakan untuk sebuah tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " adalah mematikan")
end
-- Daftar tag pada sebuah objek
local tags = CollectionService:GetTags(object)
print("Objek " .. object:GetFullName() .. " memiliki tag: " .. table.concat(tags, ", "))
-- Hapus sebuah tag
CollectionService:RemoveTag(object, "Deadly")Acara
ItemAdded
ItemRemoved