Spreadable fire

Ok, so I saw a reddit post that showed a small fire starting somewhere in a house, then it spread throughout the house. Eventually some of the walls started collapsing and stuff like that. I was wondering how would I be able to do this myself. With the spreadable fire and the building falling apart and the wood become black after awhile because it became burnt. Would be pretty cool.

2 Likes

You could find it in many free models. It’s actually very common in free models, and it was used for destroying other people’s games. < This is not good advice it’s very risky.

2 Likes

Do you by any chance know how to do it? I want to learn it, not copy paste it, but thx for the comment anyways.

You could do fire.touched then give it to other parts that was touched by the fire.

2 Likes

It would never be touched by the fire if it was lets say stuck in the middle of a part. How would I make it like spread to touch the parts next to it?

I dont have any idea on how to do it but there is one free model i remember i used to destroy buildings, to find it just search in the toolbox “Wildfire brick” and that part not only spread fire but explode anything too but if u dont want it explode just remove any instances of explosion in the script

2 Likes

Well uhm, the problem is it only works on anchored parts. :confused: doesn’t fit the situation i’m using.

well find an if statement where only unanchored parts will work and change it to all purpose parts…

After skimming inside the brick script I dont think I see any thing that has an Anchored part if statement or something like that probably You can’t move parts that are anchored and the only thing that happens with anchored bricks is just explode,smoke and burn out black if i recall correctly…

Here is the Spread script:

local Debounce = false

script.Parent.Touched:Connect(function(hit)
	if hit:IsA("Part") then
		if not Debounce then 
		Debounce = true
		local fire = Instance.new("Fire")
		local Burning = script.Parent.Spread.Burn:Clone()
		fire.Parent = hit
		Burning.Parent = fire
		wait(1)
		Debounce = false
		end
	end
end)

Here is the Burn Script, put it in the Spread Script:

local FireSizeTime = 0.1
local Fire = script.Parent

while true do
	wait(0.1)
	Fire.Size = script.Parent.Size + 0.1
	wait(0.1)
	if Fire.Parent:IsA("Part") then
		while true do
			wait(0.1)
			Fire.Parent.Color = Color3.fromRGB(0, 0, 0)
			wait(5)
			Fire.Parent.Anchored = false
			break
		end		
	end
	if Fire.Size >= 15 then
		break
	end
end

You can change the IsA if you want.

3 Likes

My bad, the I fixed the Burn Script.

18:07:15.526 - Workspace.Part.burn:22: invalid argument #2 (Vector3 expected, got number)

is what i got.

The burn script is suppose to be in the Spread Script. And it suppose to Named “Burn”. The Spread Script should be first, and the burn script is behind it.

yes, they are both in one script.

Check the last post again. I made some changes.

1 Like

It still doesn’t work??? :confused:

mmm I dont know anything about freebies and that stuff… or how they did it…
I think all systems can be achieved being original and using ur own ideas.

Why not build a system? All parts of the house could have a disabled particle emitter, then lets say, you take a “lighter” and activate one part, that part is connected to others by a timer, that will “ignite” other close parts, by timer too unanchor those parts in order to fall in pieces. I think by creating an invisible grid of parts ready to be ignited by a timer

2 Likes

Is this what you want?

I have this place file: FireSpread.rbxl (37.3 KB)

3 Likes

YES EXACTLY WHAT I NEEDED. Ty for commenting and helping me. It is appreciated.

There is a problem. It sets the entire baseplate afire.