Buat object trigger, misal sebuah kotak yang kamu set transparansi nya, misal 1 atau 0.5, pastikan anchored dan jangan centang can collide.
Lalu buat object yang mau di-spawn, masukkan ke dalam ServerStorage. Catat nama object itu.
Letakkan script di bawah ini, jangan lupa ganti di baris kedua dengan nama object milikmu:
local trigger = script.Parent
local objectToSpawn = game.ServerStorage:WaitForChild("NamaPrefabKamu") -- GANTI NIH!
local cooldown = 10 -- Cooldown waktu dalam detik (ubah jadi 10 untuk 10 detik)
local canTrigger = true -- Flag untuk menandakan apakah trigger aktif atau tidak
local function onTouch(otherPart)
-- 1. Cek dulu apakah trigger lagi aktif? Kalau tidak, langsung keluar dari fungsi.
if not canTrigger then
return
end
-- 2. Cari karakter pemain dari part yang menyentuh
local character = otherPart.Parent
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
-- 3. Jika yang menyentuh adalah pemain, jalankan aksinya!
if humanoid then
print(character.Name .. " menyentuh trigger! Cooldown dimulai...")
-- 4. SEGERA non-aktifkan trigger agar tidak bisa dipicu lagi
canTrigger = false
-- 5. SPAWN OBJECT BARU
local newObject = objectToSpawn:Clone()
newObject.Parent = game.Workspace
-- Posisikan object (Sesuaikan dengan kebutuhanmu)
if newObject:IsA("Model") then
newObject:SetPrimaryPartCFrame(trigger.CFrame + Vector3.new(0, 5, 0))
else
newObject.CFrame = trigger.CFrame + Vector3.new(0, 5, 0)
end
-- 6. TUNGGU SELAMA COOLDOWN (10 detik) SEBELUM BISA DITRIGGER LAGI
wait(cooldown)
-- 7. SETELAH 10 DETIK, AKTIFKAN LAGI TRIGGER-NYA!
print("Trigger sekarang aktif lagi!")
canTrigger = true
end
end
-- Hubungkan fungsi 'onTouch' ke event 'Touched' dari part
trigger.Touched:Connect(onTouch)