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

Use math.random to change the text of a text label?

Asked by
nicros 165
9 years ago

so im wanting to use math.random to print a number onto a TextLabel when u click a brick, but ive got very very little Lua knowledge so idk how to do this :/ all i know how to do it print it to the output

So this is a 55x2 Dice roll Gambling system

This is its simple form, ill be making it a full GUI later but in simple form you Click the brick, it rolls math.random 1-100 if its 55 or higher it adds X to gold.....ive got the rolling and the 55+ adding to gold but i need the number that it rolls to show up in a TextLabel, which i dont know how to do

I tried

Dice.Text = Rolls

But i guess i dont know enough because it didnt work :/

heres my code :)



function onTouched(clicked) part = clicked.Character.Head local h = part.Parent:findFirstChild("Humanoid") if (h~=nil) then local thisplr = game.Players:findFirstChild(h.Parent.Name) if (thisplr~=nil) then local stats = thisplr:findFirstChild("leaderstats") if (stats~=nil) then local score = stats:findFirstChild("Gold") if (score~=nil) then local Dice = game.StarterGui.HUD.Roll -- This is the TextLabel local Rolls = math.random(100) for _ = 1, 1 do print(Rolls) if Rolls >= 55 then --This is being used as a 55x2 Gambling system score.Value = score.Value + 1 end wait(.1) end end end end end end script.Parent.ClickDetector.MouseClick:connect(onTouched)
0
math.Random = TextLabel.Text iNicklas 215 — 9y
1
Try changing the text in game then reseting, tell me if it appears NotSoNorm 777 — 9y

1 answer

Log in to vote
4
Answered by
NotSoNorm 777 Moderation Voter
9 years ago

Alright so basically, You're trying to changing the Starter gui NOT the player gui, Soooo, When you reset, then it will change.

Now fixing this is sorta simple, ish.

What we should do is put this script into a local script, And have it inside of the gui, Because of the script being a local script you can get the player you're trying to change from the players for example: game.Players.LocalPlayer

This is the final product:

function onTouched(clicked)
    part = clicked.Character.Head
    local h = part.Parent:findFirstChild("Humanoid")
    if (h~=nil) then
            local thisplr = game.Players:findFirstChild(h.Parent.Name)
            if (thisplr~=nil) then
                local stats = thisplr:findFirstChild("leaderstats")
                if (stats~=nil) then
                    local score = stats:findFirstChild("Gold")
                    if (score~=nil) then
                        local Dice = game.Players.LocalPlayer.PlayerGui.HUD.Roll
                        local Rolls = math.random(100)
            dice.Text = Rolls
                        for _ = 1, 1 do
                            print(Rolls)
                            if Rolls >= 55 then
                                score.Value = score.Value + 1   
                            end
                            wait(.1)
                        end
                    end
                end
            end
        end
    end

script.Parent.ClickDetector.MouseClick:connect(onTouched)

Obviously there are some other things wrong but this is the one I saw

Ad

Answer this question