I can't get this script to work for some reason and I use WaitForChild, but it still doesn't work, help!
EDIT: Simplified this script with an equation, still doesn't run on online play.
local movenumber2 = script.Parent
local SOP = movenumber2.Parent.Parent:WaitForChild('MillisecondsOnesPlace')
local HTPI = SOP:WaitForChild('ImageLabel')
local Hit3 = HTPI:WaitForChild('MillisecondsOnesPlaceHitValue')
local Hit4 = movenumber2:WaitForChild('MillisecondsTensPlaceHitValue')
Hit3.Changed:connect(function()
local val = Hit3.Value
if val == 10 then
movenumber2.Position = UDim2.new(0,0,0,0)
Hit4.Value = Hit4.Value + 1
else
movenumber2.Position = UDim2.new(0,-2.3714e-16 - 36.31507936507811*val - 5.902976190479389*val^2 + 19.965928130514644*val^3 - 15.415625000001649*val^4 + 5.712210648148644*val^5 - 1.1729166666667565*val^6 + 0.13672288359789322*val^7 - 0.00848214285714342*val^8 + 0.0002177028218695024*val^9,0,0)
end
end)

4 comments
If you're handling with GUIs, this should be on the client.
Does Hit3.Changed actually fire? You may have mispelled something and there could be an infinite WaitForChild stopping the rest of the code from running. Add a print after Hit3.Changed fires and let me know if it works.
@Sublivion Yeah everything works as scripted in studio, but not online.
@JoeRaptor Check to see if hit3 ever changes on that specific client. You can do this by temporarily turning on and off FE.