local Players = game:GetService("Players") local Values = script.Parent.Values local Area = script.Parent.Area local HillPlayers = {} local function OnEnterZone(Base) local Character = Base.Parent if Character and Character:FindFirstChild("Humanoid") then local Player = Players:GetPlayerFromCharacter(Character) if Player and not table.find(HillPlayers, Player) then table.insert(HillPlayers, Player) if Values.HasKing.Value then Values.OtherKings.Value = true else Values.HasKing.Value = true end end end end local function OnExitZone(Base) local Character = Base.Parent if Character and Character:FindFirstChild("Humanoid") then local Player = Players:GetPlayerFromCharacter(Character) local Index = table.find(HillPlayers, Player) if Player and Index then table.remove(HillPlayers, Index) end end end Area.Touched:Connect(OnEnterZone) Area.TouchEnded:Connect(OnExitZone) task.spawn(function() while task.wait(1) do for _, Player in ipairs(Players:GetPlayers()) do if table.find(HillPlayers, Player) then if #HillPlayers == 1 then Values.HasKing.Value = true Values.OtherKings.Value = false Player.leaderstats.Gems.Value += 1 elseif #HillPlayers > 1 then Values.HasKing.Value = false Values.OtherKings.Value = true end end end end end)