This is pretty long but I hope someone can help.
So I've made diamonds rain randomly from the sky, and when a player touches a diamond:
-The diamond is destroyed,
-the player who touched it gains 1 point in the leaderboard/leaderstats thing,
-and a text pops up on the screen that lasts 2 seconds and reads "+1 Diamond".
Everything works well, but when you touch a diamond and then touch another before the 2 seconds is over, the text will disappear when it reaches 2 seconds, instead of resetting from the second touch and waiting another 2. It does this because no matter what, after touching a diamond and after 2 seconds, the visibility of the text will be set to false.
I want to make it so that every time the player touches a diamond, the amount of time the text stays on the screen should reset to 2, interrupting the previous time.
Here are my scripts, this first one is a child of the diamond and is a Server Script:
countdown = 2 local diamond = script.Parent local remote = game:GetService("ReplicatedStorage").DiamondDisplay --When diamond is touched... diamond.Touched:Connect(function(hit) local character = hit.Parent local humanoid = character:FindFirstChild("Humanoid") --Checks if is a humanoid if humanoid then local player = game.Players:GetPlayerFromCharacter(character) wait(0.1)--don't want diamond to instantly disappear diamond:Destroy() --Adds 1 to player's leaderboard player.leaderstats.Diamonds.Value = player.leaderstats.Diamonds.Value + 1 remote:FireClient(player, true)--makes text visible wait(countdown) --how long the text will stay visible for remote:FireClient(player, false)--makes text invisible end end)
And this is in the StarterPlayerScripts(Local Script):
local remote = game:GetService("ReplicatedStorage"):WaitForChild("DiamondDisplay") local player = game.Players.LocalPlayer remote.OnClientEvent:Connect(function(toggle) player.PlayerGui.ScreenGui.DiamondAdd.Visible = toggle end)
I've tried a lot of if-statements and even used global variables, but I can't think of how I can make it work.
I'd really appreciate it if someone could help me out, even though this is one of those questions.