Tiles = Instance.new("Model")
Tiles.Parent = game.Workspace
Tiles.Name = "Tiles"
Tiles.Archivable = true
brickArray = {}
red = 30
for i=1,30, 1 do
Brick = Instance.new("Part")
Brick.Name = "Brick" .. i
Name = Brick.Name
table.insert(brickArray, Brick.Name)
Brick.Parent = game.workspace.Tiles
Brick.Anchored = true
Brick.Size = Brick.Size + Vector3.new(20,0,22)
Brick.Color = Color3.fromRGB(0,0,0)
Brick.Locked = false
if i < 6 then
Brick.CFrame = CFrame.new(24*i,0,0)
elseif i < 12 then
Brick.CFrame = CFrame.new(24*(i-6),0,24)
elseif i < 18 then
Brick.CFrame = CFrame.new(24*(i-12),0,48)
elseif i < 24 then
Brick.CFrame = CFrame.new(24*(i-18),0,72)
elseif i < 30 then
Brick.CFrame = CFrame.new(24*(i-24),0,96)
end
Brick.Touched:Connect(function(hit)
Brick.Color = Color3.fromRGB(10, 0, 255)
end)
end
This code only works for the last brick created, not the other 29. The other 29 bricks actually do have touched events, as in the game sense I touched them, but the color is applied to the 30th brick instead of the brick that was actually touched.
My other issue is that it's detecting the touching too much. I just want the touched event to trigger once every time a player walks on the brick. They should have to walk off and then walk back on for the event to be triggered again, but the forums don't have any information on how to make the event only apply the first time.

1 comment
I agree