I know this is probably really inefficient, but the StingValue doesn't change if the player's rep is changed.

	if player.leaderstats.Reputation.Value <= 99 then
		rank.Value = "Citizen"
	if player.leaderstats.Reputation.Value <= 100 then
		rank.Value = "Constable"
	if player.leaderstats.Reputation.Value <= 1000 then
		rank.Value = "Vigilante"
	if player.leaderstats.Reputation.Value <= 2500 then
		rank.Value = "Deputy"
	if player.leaderstats.Reputation.Value <= 5000 then
		rank.Value = "Lawman"
	if player.leaderstats.Reputation.Value <= 10000 then
		rank.Value = "Guardian"
	if player.leaderstats.Reputation.Value <= 15000 then
		rank.Value = "Noble"
	if player.leaderstats.Reputation.Value <= 25000 then
		rank.Value = "Hero"
	if player.leaderstats.Reputation.Value <= 100000 then
		rank.Value = "Omega Hero"
	if player.leaderstats.Reputation.Value <= 250000 then
		rank.Value = "Saint of Sanctuary"
		
	--NEGATIVE RANKS
	if player.leaderstats.Reputation.Value <= -4 then
		rank.Value = "Citizen"
	if player.leaderstats.Reputation.Value <= -5 then
		rank.Value = "Felon"
	if player.leaderstats.Reputation.Value <= -100 then
		rank.Value = "Thug"
	if player.leaderstats.Reputation.Value <= -1000 then
		rank.Value = "Outlaw"
	if player.leaderstats.Reputation.Value <= -2500 then
		rank.Value = "Bandit"
	if player.leaderstats.Reputation.Value <= -5000 then
		rank.Value = "Marauder"
	if player.leaderstats.Reputation.Value <= -10000 then
		rank.Value = "Villain"
	if player.leaderstats.Reputation.Value <= -15000 then
		rank.Value = "Hitman"
	if player.leaderstats.Reputation.Value <= -25000 then
		rank.Value = "Assassin"
	if player.leaderstats.Reputation.Value <= -100000 then
		rank.Value = "Serial Killer"
	if player.leaderstats.Reputation.Value <= -250000 then
		rank.Value = "Destroyer of Worlds"

Rank is a StingValue in Player. There is also a screen gui that shows the player's name and rank. The name works fine.

local plr = game.Players.LocalPlayer
local mouse = plr:GetMouse()

mouse.Move:connect(function()
	local target = mouse.Target.Parent
	local humanoid = target:FindFirstChild("Humanoid")
	if humanoid then
		script.Parent.Frame.plrName.Text = humanoid.Parent.Name
		script.Parent.Frame.plrRank.Text = target.leaderstats.Rank.Value
	else
		script.Parent.Frame.plrName.Text = ""
		script.Parent.Frame.plrRank.Text = ""
	end
end)