You are supposed to put the Elapsed
variable before the heartbeat or it will be shared by the players.
Anyhow, it doesn’t do that at all. Not for me at least.
local Elapsed = 0
game['Run Service'].Heartbeat:Connect(function(dt)
Elapsed += dt
if Elapsed >= 3 then
Elapsed -= 3
print(os.time())
end
end)
Output:
1615830246
1615830249
1615830252
...
Unless you updated the value somewhere else, there is no way that it happens.