Roblox vuurwerk
Leer stap voor stap hoe je een eenvoudige vuurpijl (vuurwerk) bouwt in Roblox Studio. Je leert hoe je Attachments en ParticleEmitters gebruikt, een eenvoudig aanstuur-script schrijft en het vuurwerk laat opstijgen en exploderen.
Part toevoegen
Maak een nieuw Part aan in Roblox Studio. Dit is het “lichaam” van de vuurpijl. Geef het een duidelijke naam, bijvoorbeeld “Vuurpijl”, en zet het initieel op Anchored = true terwijl je attachments en emitters toevoegt.
Voorbeeldstructuur in Explorer (voorbeeldafbeelding):

Voeg aan het part twee attachments toe, een aan de bovenkant en een aan de onderkant. Noem ze bijvoorbeeld Top en Bottom — die namen gebruiken we later in het script om de juiste emitters aan/uit te zetten. Voeg aan elke attachment een particle emitter toe. Voeg als laatst een script toe aan het part:

Tips voor ParticleEmitter-instellingen:
- Rate: hoeveel particles per seconde (bv. 50 voor een dikke rookpluim).
- Lifetime: hoe lang particles blijven bestaan (bv. 0.5–2 seconden).
- Speed: snelheid waarmee particles vertrekken (lager voor rook, hoger voor vonken).
- Size en Color: pas aan voor visueel effect.
- Enabled: zet standaard false als je het pas wilt activeren via script.
Vuurpijl aansteken
Het script kijkt of het object dat het part raakt een speler is (Humanoid). We gebruiken een vlag (actief) zodat de pijl niet meerdere keren wordt aangestoken.
local part = script.Parent
local actief = false
local function onTouch(otherPart)
-- kijk of het part een Humanoid is
local humanoid = otherPart.Parent:FindFirstChild('Humanoid')
if humanoid then
if not actief then
actief = true
print("vuurpijl actief")
-- hier komt straks de code om de vuurpijl echt actief te maken
end
end
end
-- voer de functie onTouch uit als het part wordt aangeraakt door iets
part.Touched:Connect(onTouch)
De Humanoid-check zorgt dat alleen spelers de pijl kunnen ontsteken. Zonder die check zou elk object (ook wapens, andere parts) de pijl kunnen activeren.
Onderste particles activeren
Zet de onderste particle-emitter aan zodra de pijl ontstoken is. Dit geeft het effect dat het lont is aangestoken.
part.Bottom.ParticleEmitter.Enabled = true
Vuurpijl laten wegvliegen
Het voorbeeld hieronder gebruikt een simpele while-loop die de Y-positie verhoogt:
task.wait(5)
print("vlieg")
while task.wait() do
part.Position = Vector3.new(part.Position.X, part.Position.Y + 1, part.Position.Z)
end
Vuurpijl laten exploderen
Bij de explosie kun je het part onzichtbaar maken, de onderste emitter uitzetten en de bovenste emitter (explosie) aanzetten. Daarna kun je het part verwijderen.
while task.wait() do
part.Position = Vector3.new(part.Position.X, part.Position.Y + 1, part.Position.Z)
if part.Position.Y > 100 then
print("explode")
-- verberg het part
part.Transparency = 1
-- zet bovenst particleEmitter aan en de onderste uit
part.Bottom.ParticleEmitter.Enabled = false
part.Top.ParticleEmitter.Enabled = true
-- zet na een seconde de bovenste particleEmitter weer uit
task.wait(1)
part.Top.ParticleEmitter.Enabled = false
-- wacht 5 seconden en verwijder dan de part van de game
task.wait(5)
print("destroy")
part:Destroy()
end
end
Maak het nacht
Voeg een nieuw script toe aan de workspace:
local Lighting = game:GetService("Lighting")
Lighting:SetMinutesAfterMidnight(0)
Dit zorgt ervoor dat de het middernacht wordt in het spel.