Hi,
I've created a script (shown below) which has 2 co-routines. Both of them have wait() in them, however the game seems to freeze and crash if I attempt to run this code by clicking a button.
function changeSignF(sign, destVal)
local mainSign = script.Parent.MainSign.SurfaceGui.Framea.Frame.TextLabel
repeat
for j = 1,destVal do
for i = 0,1,0.2 do
mainSign.Parent.Position = UDim2.new(0,0,i,0)
wait()
end
mainSign.Text = tab[j][1]
for i = -1,0,0.2 do
mainSign.Parent.Position = UDim2.new(0,0,i,0)
wait()
end
end
until mainSign.Text == sign
end
function changeNumF(num, destVal)
local mainNum = script.Parent.MainNum.SurfaceGui.Framea.Frame.TextLabel
wait(2)
repeat
for j = 1,destVal,-1 do
for i = 0,-1,-0.2 do
mainNum.Parent.Position = UDim2.new(0,0,i,0)
wait()
end
mainNum.Text = tab[j][2]
for i = 1,0,-0.2 do
mainNum.Parent.Position = UDim2.new(0,0,i,0)
wait()
end
end
until mainNum.Text == num
end
script.Parent.Value.Changed:connect(function()
local num = script.Parent.Value
local tabNum = #tab + 1
if num.Value > 0 and num.Value < tabNum then
script.Parent.Sign.SurfaceGui.TextLabel.Text = tab[num.Value][1]
script.Parent.Num.SurfaceGui.TextLabel.Text = tab[num.Value][2]
script.Parent.Via.SurfaceGui.TextLabel.Text = tab[num.Value][3]
end
if num.Value == tabNum then
num.Value = 0
end
if num.Value == -1 then
num.Value = tabNum - 1
end
end)
script.Parent.OK.ClickDetector.MouseClick:connect(function()
local sign = script.Parent.Sign.SurfaceGui.TextLabel.Text
local num = script.Parent.Num.SurfaceGui.TextLabel.Text
local via = script.Parent.Via.SurfaceGui.TextLabel.Text
local mainSign = script.Parent.MainSign.SurfaceGui.Framea.Frame.TextLabel
local mainNum = script.Parent.MainNum.SurfaceGui.Framea.Frame.TextLabel
local secNum = script.Parent.SecNum.SurfaceGui.Framea.Frame.TextLabel
local thiNum = script.Parent.ThiNum.SurfaceGui.Framea.Frame.TextLabel
local mainVia = script.Parent.MainVia.SurfaceGui.Framea.Frame.TextLabel
local destVal = script.Parent.Value.Value
local changeSign = coroutine.create(changeSignF)
coroutine.resume(changeSign, sign, destVal)
local changeNum = coroutine.create(changeNumF)
coroutine.resume(changeNum, num, destVal)
end)
This should run perfectly normal since there are waits in there. However, if I add in a wait on changeNumF() after the repeat on line 5, it doesn't seem to work at all. Anyone know what's freezing the game?
