One correction in this: Remember to include either an *else statement or an = sign as a catch-all. otherwise, if, for instance, n_relationship = 80
in your example, there won’t be any text showing (implying that N magically stops being your friend at 80)
So:
*if n_relationship<40
N still doesn't trust you.
*if (n_relationship >50) and (n_relationship<80)
You and N are close friends.
*if (n_relationship >= 80) and (interested_gender)
You and N are romantically involved.
*if (n_relationship >=80) and not(interested_gender)
You and N are bffs forever.
or
*if (n_relationship < 40)
N still doesn't trust you.
*goto next_label
*elsif (n_relationship < 50)
*goto next_label
*elsif (n_relationship < 80)
You and N are close friends.
*goto next_label
*elsif (interested_gender)
You and N are romantically involved.
*goto next_label
*else
You and N are bffs forever.
*goto next_label
*label next_label
Otherwise I’m seconding this. Strings can be used, but for something that changes a lot (and doesn’t necessarily change from one specific thing to another specific thing, but grows/shrinks over time) it’s a lot of extra work and much higher chance of bugs.