I am creating a WOF (Wheel of Fortune) script where admins can say a command to roll a bunch of random words, and during the script it shows in a message the rolling and in a hint the result. Once the rolling stops it will say in the hint text what fortune has been chosen. It is also supposed to play a sound that depends on what fortune was selected, (The fortunes are translated out for the script in a number value.)
I Will post the full code and then post the code where there is a problem.
Full Code:
permission = {"AllenBatman666","bigboy_elias","ninjaspy2319" }
Start = "/rollwof"
End = "/stopwof"
Rolling = false
local function checkClearance(name)
for i = 1,#permission do
if (string.upper(name) == string.upper(permission[i])) then return true end
end
return false
end
local function onMessaged(msg, recipient, speaker)
local source = string.lower(speaker.Name)
if msg == Start or msg == End then
if (checkClearance(source)) then
if msg == Start and Rolling == false and workspace.RollCommandBeingUsed.Value == false then
workspace.RollCommandBeingUsed.Value = true
Rolling = true
script.RisingAction:Play()
game.Lighting.Blur.Enabled = true
h = Instance.new("Hint")
h.Text = "Rolling the Wheel of Fortune!"
h.Parent = workspace
m = Instance.new("Message")
m.Text = "0"
m.Parent = workspace
ms = script.Script:Clone()
ms.Parent = m
ms.Enabled = true
end
if msg == End and Rolling == true then
script.RisingAction:Stop()
h.Text = "The fortune chosen is ".. script.GamemodeName.Value.. "!"
ms.Enabled = false
if script.ResultNumber.Value == 1 then
script.PrettyGood:Play()
elseif script.ResultNumber.Value == 2 then
randomfailuresound = math.random(1,3)
if randomfailuresound == 1 then
script.Bruh:Play()
elseif randomfailuresound == 2 then
script.Laugh:Play()
elseif randomfailuresound == 3 then
script.Fart:Play()
end
elseif script.ResultNumber.Value == 3 then
script.SwordSlash:Play()
script.DAH:Play()
elseif script.ResultNumber.Value == 4 then
script.Cash:Play()
elseif script.ResultNumber.Value == 5 then
script.WAH:Play()
elseif script.ResultNumber.Value == 6 then
script.Medium:Play()
elseif script.ResultNumber.Value == 7 then
script["Yay!"]:Play()
elseif script.ResultNumber.Value == 8 then
script["Yay!"]:Play()
elseif script.ResultNumber.Value == 9 then
randomfailuresound = math.random(1,3)
if randomfailuresound == 1 then
script.Bruh:Play()
elseif randomfailuresound == 2 then
script.Laugh:Play()
elseif randomfailuresound == 3 then
script.Fart:Play()
end
elseif script.ResultNumber.Value == 10 then
script.Highest:Play()
end
wait(4)
h:Destroy()
m:Destroy()
game.Lighting.Blur.Enabled = false
Rolling = false
workspace.RollCommandBeingUsed.Value = false
end
end
end
end
function onPlayerJoin(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onMessaged(msg, recipient, newPlayer) end)
end
game.Players.ChildAdded:connect(onPlayerJoin)
Problematic section of the code:
if msg == End and Rolling == true then
script.RisingAction:Stop()
h.Text = "The fortune chosen is ".. script.GamemodeName.Value.. "!"
ms.Enabled = false
if script.ResultNumber.Value == 1 then
script.PrettyGood:Play()
elseif script.ResultNumber.Value == 2 then
randomfailuresound = math.random(1,3)
if randomfailuresound == 1 then
script.Bruh:Play()
elseif randomfailuresound == 2 then
script.Laugh:Play()
elseif randomfailuresound == 3 then
script.Fart:Play()
end
elseif script.ResultNumber.Value == 3 then
script.SwordSlash:Play()
script.DAH:Play()
elseif script.ResultNumber.Value == 4 then
script.Cash:Play()
elseif script.ResultNumber.Value == 5 then
script.WAH:Play()
elseif script.ResultNumber.Value == 6 then
script.Medium:Play()
elseif script.ResultNumber.Value == 7 then
script["Yay!"]:Play()
elseif script.ResultNumber.Value == 8 then
script["Yay!"]:Play()
elseif script.ResultNumber.Value == 9 then
randomfailuresound = math.random(1,3)
if randomfailuresound == 1 then
script.Bruh:Play()
elseif randomfailuresound == 2 then
script.Laugh:Play()
elseif randomfailuresound == 3 then
script.Fart:Play()
end
elseif script.ResultNumber.Value == 10 then
script.Highest:Play()
end
wait(4)
h:Destroy()
m:Destroy()
game.Lighting.Blur.Enabled = false
Rolling = false
workspace.RollCommandBeingUsed.Value = false
end
end
end
end
