Normal Script the one that fires the remote event
local TimerStart = Instance.new("RemoteEvent")
TimerStart.Parent = game.ReplicatedStorage
TimerStart.Name = "TimerStart"
function onTouch()
print("working")
TimerStart:FireClient()
end
script.Parent.Touched:connect(onTouch)
local script the one that runs the timer
local time = 0
local function TimerStart()
print("working2")
script.Parent.Parent.TextLabel.Text = 0
for i = 1, 9999 do
wait(0.1)
time = time + 0.1
script.Parent.Parent.TextLabel.Text = tostring(time)
end
end
Heres the new updated local script
local time = 0
local function TimerStart()
print("working2")
script.Parent.Parent.TextLabel.Text = 0
for i = 1, 9999 do
wait(0.1)
time = time + 0.1
script.Parent.Parent.TextLabel.Text = tostring(time)
TimerStart.OnClientEvent:Connect(TimerStart)
end
end

2 comments
You need to use TimerStart.OnClientEvent. The function in your local script isn’t being called.
"time" is a global function built in by rblx, rename time to something else as it can confuse the script.