✓ Accepted answer
Heyo,
I honestly can't tell what the problem is due to the fact that you weren't very specific. The problem might be that you said you made the PlayerStat an IntValue, when it should be a StringValue.
I'd suggest doing this instead though, which is much more efficient.
local groupId = 0
local role = 0
if game.Players.LocalPlayer:GetRankInGroup(groupId) >= role then
script.Parent.Visible = true
end
What this script does is it checks if the LocalPlayer's rank is greater than or equal to a specific rank number. All you need to do is change the variables (groupId and role) and then it should be good to go!
If you're confused, please leave a comment or refer to this