Hi. I have a thermometer with a SurfaceGui as it's display and in order to update the value, I have to adornee the SurfaceGui to the display. The problem I am running into with multiple players is that the display of the thermometer can only exist on one tool rather than replicating onto all tools. SurfaceGui is parented to StarterGui and this local script is parented to the text value within the SurfaceGui. How can I make it so that this works with multiple tools equipped?

local freezingRoom = game.Workspace:WaitForChild("FreezingRoom")
local pos1 = freezingRoom.Position - (freezingRoom.Size/2)
local pos2 = freezingRoom.Position + (freezingRoom.Size/2)
local region = Region3.new(pos1,pos2)

math.randomseed(tick())

while wait(2) do
	local partsInRegion = workspace:FindPartsInRegion3(region,nil,1000)
	for i, part in pairs(partsInRegion) do
		if part.Parent:FindFirstChild("Humanoid") ~= nil and part.Parent:FindFirstChild("Thermometer") ~= nil then
			local char = part.Parent
			script.Parent.Parent.Parent.Adornee = char.Thermometer.Screen
			print("Holding thermometer")
			script.Parent.Text = (math.random(-9,-2))
		end
	end
end