Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

How can I make an object that is falling damge me when I touch it?

I am new at ROBLOX scripting and have made the following code/script to make an object spawn infinitely.

while true do

wait(2)

hello = Instance.new("Part")

hello.Position = Vector3.new(0,22,0)

hello.Anchored = false

hello.CanCollide = false

hello.BrickColor = BrickColor.new("Baby blue")

hello.Parent = game.Workspace

end

However, I want to make it so that when the person hits the object they take damage and eventually die. I have tried looking up touch events that make this happen but do not seem to work.

2 answers

"use code blocks"

Anyways, I'm also quite new to coding. I'm certainly no expert (or even good) at scripting but here's how you fix it I think:

while true do
	local newPart = Instance.new("Part", game.Workspace)
	newPart.Name = "Part"
	newPart.Anchored = false
	newPart.Position = CFrame.new(0, 60, 0)
	newPart.BrickColor = BrickColor.new("Baby blue")
	wait(2)
end

tl;dr: Put the wait at the end

I've optimized your scripted

while true do
wait(2)
hello = Instance.new("Part")
hello.Position = Vector3.new(0,22,0)
hello.Anchored = false
hello.CanCollide = false
hello.BrickColor = BrickColor.new("Baby blue")
hello.Parent = game.Workspace
script.Parent.Touched:Connect(function(hit) 
if hit.Parent:FindFirstChild( "Humanoid") then -- if whatever hits has a humanoid then fire an event
hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health -25 -- The amount of damage change this to your preference.

end

1 comment

0

Unfortunately, JeeseSong the additional script you have given me does not work as the block does not seem to take damage when it falls on the ground.

This discussion is preserved as it was. New answers, comments, and votes are closed.