GetReputation actually returns an integer of whatever the current reputation is. You'd use one of the integer variable types to store its information. More important in your situation, however, is GetReputationPct. It returns a float of 0-1 based on current reputation divided by the value in the "Reputation" Form.
The code below should be easy enough to follow and work well enough to get you started. I only did a brief test, but it seems to work fine. I'm not certain how you wanted to handle the faction enemy aspect, so I wrote it as Infamy >= Fame + 2 to be enemy. That can just as well be Fame + 3 if you only want to go enemy on Villified, or removed completely if you don't want them to be enemies at all. Since the ReputationThresholds could possibly be modded, I check current % of reputation against those instead of static values.
Spoiler short iRepGS0short iRepGS1float fRepPctGS0float fRepPctGS1begin GameMode if fRepPctGS0 != GetReputationPct RepNVGoodsprings 0 || fRepPctGS1 != GetReputationPct RepNVGoodsprings 1 set fRepPctGS0 to GetReputationPct RepNVGoodsprings 0 set fRepPctGS1 to GetReputationPct RepNVGoodsprings 1 if fRepPctGS0 >= GetGameSetting fReputationThresholdThree set iRepGS0 to 3 elseif fRepPctGS0 >= GetGameSetting fReputationThresholdTwo set iRepGS0 to 2 elseif fRepPctGS0 >= GetGameSetting fReputationThresholdOne set iRepGS0 to 1 elseif iRepGS0 set iRepGS0 to 0 endif if fRepPctGS1 >= GetGameSetting fReputationThresholdThree set iRepGS1 to 3 elseif fRepPctGS1 >= GetGameSetting fReputationThresholdTwo set iRepGS1 to 2 elseif fRepPctGS1 >= GetGameSetting fReputationThresholdOne set iRepGS1 to 1 elseif iRepGS1 set iRepGS1 to 0 endif if iRepGS0 + 2 == iRepGS1 SetAlly PlayerFaction GoodspringsFaction 1 1 ; Liked/Good Natured = Friend elseif iRepGS0 + 3 == iRepGS1 SetAlly PlayerFaction GoodspringsFaction ; Admired = Ally elseif iRepGS0 >= iRepGS1 + 2 SetEnemy PlayerFaction GoodspringsFaction ; Hated/Villified/Merciful Thug = Enemy else SetEnemy PlayerFaction GoodspringsFaction 1 1 ; All else = Neutral endif endifend