Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Variables aren't setting correctly?

Asked by 5 years ago

I am trying to make a Baldi's Basics game, but the script in the GUI I'm using for the problems isn't working correctly. Some variables don't get set, such as BaldiMad not being set to true when I need it to be.

Here is my code:

script.Parent.Parent.Number1.Text = tostring(math.random(0, 9))
script.Parent.Parent.Number2.Text = tostring(math.random(0, 9))

local num = 1
local wrongAnswers = 0



local runservice = game:GetService("RunService")

function onRenderStep()
    baldiMad = game.ServerStorage.BaldiMad.Value
    if baldiMad == true then
        game.Players:GetPlayers()[1].PlayerGui.Music:Stop()
    end
    textbookNum = game.ServerStorage.TextbookNum.Value
    amountOfText = game.ServerStorage.NumberOfTextbooks.Value
end

runservice:BindToRenderStep("ResetVariables", Enum.RenderPriority.Camera.Value - 1, onRenderStep)

script.Parent.FocusLost:connect(function()
    if tonumber(script.Parent.Text) and num <= 1 then
        if tonumber(script.Parent.Text) == tonumber(script.Parent.Parent.Number1.Text) + tonumber(script.Parent.Parent.Number2.Text) then
            script.Parent.Parent.Checkmark1.Visible = true
            script.Parent.Parent.NotNumber.Visible = false
        else
            baldiMad = true
            game.ServerStorage.BaldiSpeed.Value = game.ServerStorage.BaldiSpeed.Value + 1
            wrongAnswers = wrongAnswers + 1
            game.Players:GetPlayers()[1].PlayerGui.Music:Stop()
            script.Parent.Parent.Xmark1.Visible = true
            script.Parent.Parent.NotNumber.Visible = false
        end
        num = num + 1

        script.Parent.Parent.Number1.Text = tostring(math.random(0, 9))
        script.Parent.Parent.Number2.Text = tostring(math.random(0, 9))
    elseif tonumber(script.Parent.Text) and num == 2 then
        if tonumber(script.Parent.Text) == tonumber(script.Parent.Parent.Number1.Text) + tonumber(script.Parent.Parent.Number2.Text) then
            script.Parent.Parent.Checkmark2.Visible = true
            script.Parent.Parent.NotNumber.Visible = false
        else
            baldiMad = true
            wrongAnswers = wrongAnswers + 1
            game.ServerStorage.BaldiSpeed.Value = game.ServerStorage.BaldiSpeed.Value + 1
            game.Players:GetPlayers()[1].PlayerGui.Music:Stop()
            script.Parent.Parent.Xmark2.Visible = true
            script.Parent.Parent.NotNumber.Visible = false
        end
        num = num + 1

        if amountOfText < 1 then
            script.Parent.Parent.Number1.Text = tostring(math.random(0, 9))
            script.Parent.Parent.Number2.Text = tostring(math.random(0, 9))
        else
            script.Parent.Parent.Number1.Text = "0"
            script.Parent.Parent.Number2.Text = "0"
            script.Parent.Parent.Plus.Visible = false
            script.Parent.Parent.Divide.Visible = true
        end
    elseif tonumber(script.Parent.Text) and num == 3 and game.ServerStorage.NumberOfTextbooks.Value <= 1 then
        if tonumber(script.Parent.Text) == tonumber(script.Parent.Parent.Number1.Text) + tonumber(script.Parent.Parent.Number2.Text) then
            script.Parent.Parent.Checkmark3.Visible = true
            script.Parent.Parent.NotNumber.Visible = false
        else
            baldiMad = true
            wrongAnswers = wrongAnswers + 1
            game.ServerStorage.BaldiSpeed.Value = game.ServerStorage.BaldiSpeed.Value + 1
            game.Players:GetPlayers()[1].PlayerGui.Music:Stop()
            script.Parent.Parent.Xmark3.Visible = true
            script.Parent.Parent.NotNumber.Visible = false
        end
        num = 1
        wrongAnswers = 0

        script.Parent.Parent.Number1.Text = tostring(math.random(0, 9))
        script.Parent.Parent.Number2.Text = tostring(math.random(0, 9))

        script.Parent.Parent.Parent.Enabled = false

        if baldiMad == true and textbookNum == 1 or textbookNum == 2 then
            game.Workspace.Baldi:SetPrimaryPartCFrame(CFrame.new(10, 6, 45))
            game.Workspace.Baldi.LookScript.Disabled = true
            game.Workspace.Baldi.DecalPart.Anchored = false
            game.Workspace.Baldi.AIScript.Disabled = false
        elseif baldiMad == true and textbookNum > 2 then
            game.Workspace.Baldi.LookScript.Disabled = true
            game.Workspace.Baldi.DecalPart.Anchored = false
            game.Workspace.Baldi.AIScript.Disabled = false
        end

        script.Parent.Parent.ModalButton.Visible = false            

        game.Workspace.Textbooks:WaitForChild("Textbook"..textbookNum):Destroy()

        game.ServerStorage.NumberOfTextbooks.Value = game.ServerStorage.NumberOfTextbooks.Value + 1

        script.Parent.Parent.Checkmark1.Visible = false
        script.Parent.Parent.Xmark1.Visible = false
        script.Parent.Parent.Checkmark2.Visible = false
        script.Parent.Parent.Xmark2.Visible = false
        script.Parent.Parent.Checkmark3.Visible = false
        script.Parent.Parent.Xmark3.Visible = false
        script.Parent.Parent.NotNumber.Visible = false

        script.Disabled = true
    elseif tonumber(script.Parent.Text) and num == 3 and game.ServerStorage.NumberOfTextbooks.Value >= 2 then
        baldiMad = true
        wrongAnswers = wrongAnswers + 1
        game.ServerStorage.BaldiSpeed.Value = game.ServerStorage.BaldiSpeed.Value + 1
        game.Players:GetPlayers()[1].PlayerGui.Music:Stop()
        script.Parent.Parent.Xmark3.Visible = true
        script.Parent.Parent.NotNumber.Visible = false

        num = 1
        wrongAnswers = 0

        script.Parent.Parent.Number1.Text = tostring(math.random(0, 9))
        script.Parent.Parent.Number2.Text = tostring(math.random(0, 9))

        script.Parent.Parent.Plus.Visible = true
        script.Parent.Parent.Divide.Visible = false

        script.Parent.Parent.Parent.Enabled = false

        if baldiMad == true and textbookNum == 1 or  textbookNum == 2 then
            game.Workspace.Baldi:SetPrimaryPartCFrame(CFrame.new(10, 6, 45))
            game.Workspace.Baldi.LookScript.Disabled = true
            game.Workspace.Baldi.DecalPart.Anchored = false
            game.Workspace.Baldi.AIScript.Disabled = false
        elseif baldiMad == true and textbookNum > 2 then
            game.Workspace.Baldi.LookScript.Disabled = true
            game.Workspace.Baldi.DecalPart.Anchored = false
            game.Workspace.Baldi.AIScript.Disabled = false
        end

        script.Parent.Parent.ModalButton.Visible = false            

        local textbookToBeDestroy = "Textbook"..textbookNum 

        game.Workspace.Textbooks:WaitForChild(textbookToBeDestroy):Destroy()

        game.ServerStorage.NumberOfTextbooks.Value = game.ServerStorage.NumberOfTextbooks.Value + 1

        script.Parent.Parent.Checkmark1.Visible = false
        script.Parent.Parent.Xmark1.Visible = false
        script.Parent.Parent.Checkmark2.Visible = false
        script.Parent.Parent.Xmark2.Visible = false
        script.Parent.Parent.Checkmark3.Visible = false
        script.Parent.Parent.Xmark3.Visible = false
        script.Parent.Parent.NotNumber.Visible = false      

        script.Disabled = true
    elseif not tonumber(script.Parent.Text) then
        script.Parent.Parent.NotNumber.Visible = true
    end 
end)
0
That's over 150 lines of code, mind showing/highlighting the problem areas? xXGokyXx 46 — 5y
0
Nevermind i fixed it. ronitrocket 120 — 5y

Answer this question