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):

Vuurwerk part

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:

Vuurwerk 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.

Updated: