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

how do i create a gui that counts how many players are in one place?

Asked by 5 years ago
Edited 5 years ago

I want to make a GUI that will count how many players are sitting in a truck for my Story game's lobby. When I step on a button, it will put me in the truck but I don't know how to make the number larger on the SurfaceGUI I made according to how many people are sitting in the truck. Here is what I have done so far

01--Variables
02local leftValue = game.Workspace.LeftRoad.Truck.Value --To see if the truck exists in the Workspace
03local CounterLeft = game.Workspace.Counters.LeftCounter.SurfaceGui.Count.Text
04local LeftCountVal = game.Workspace.LeftRoad.Count.Value
05local buttonLeft = game.Workspace.Entries.LeftEnter --Button when touched, makes you enter the truck
06 
07--Script to count players in the truck
08if leftValue == true then
09    buttonLeft.Touched:Connect(function(plr)
10        if plr.Parent:FindFirstChild("Humanoid") then
11            LeftCountVal = LeftCountVal +1
12            wait(0.5)
13            CounterLeft = LeftCountVal
14        end
15    end)
16end

So I want the text on the SurfaceGui to be the same as the text on the IntValue (Which is the variable "LeftCountVal") some help would be greatly appreciated!

1 answer

Log in to vote
0
Answered by 5 years ago

Problem

You are storing game.Workspace.Counters.LeftCounter.SurfaceGui.Count.Text and game.Workspace.LeftRoad.Count.Value in a Variable. But when you try to change it it ONLY changes that variable, NOT the property itself.

Solution

  1. Instead of Storing the Property store the Object (The TextLabel and Value)
  2. When setting the Value or Text add .PropertyName after the Variable.

Final Script

01--Variables
02local leftValue = game.Workspace.LeftRoad.Truck.Value --To see if the truck exists in the Workspace
03local CounterLeft = game.Workspace.Counters.LeftCounter.SurfaceGui.Count
04local LeftCountVal = game.Workspace.LeftRoad.Count
05local buttonLeft = game.Workspace.Entries.LeftEnter --Button when touched, makes you enter the truck
06 
07--Script to count players in the truck
08if leftValue == true then
09    buttonLeft.Touched:Connect(function(plr)
10        if plr.Parent:FindFirstChild("Humanoid") then
11            LeftCountVal.Value = LeftCountVal.Value +1
12            wait(0.5)
13            CounterLeft.Text = LeftCountVal.Value
14        end
15    end)
16end
0
Thanks a lot for this advice. I also had a problem with it counting too many people when only one steps on the button but i figured it out. I just needed a debounce. kingblaze_1000 359 — 5y
0
no problem Luka_Gaming07 534 — 5y
0
Can you mark this as Answered? Luka_Gaming07 534 — 5y
Ad

Answer this question