When I try collect the badge the image label is suppost to turn green after you get it here is a video showing the bug here is the code that turns the label green
script.Parent.Touched:Connect(function(hit) local player = hit.Parent:FindFirstChild("Humanoid") if player then game.StarterGui.Waters.Frame.HydroWater["Hydro water"].BackgroundColor3 = Color3.new(0.34902, 1, 0) end end)
Your player
variable is actually grabbing the character. With the character you can get the player and access their Gui information.
local Players = game:GetService("Players") part.Touched:Connect(function(hit) local character = hit.Parent:FindFirstChild("Humanoid") if character then local player = Players:GetPlayerFromCharacter(character) -- getting the player if player then player.PlayerGui.Waters.Frame.HydroWater["Hydro water"].BackgroundColor3 = Color3.new(0.34902, 1, 0) end end end)