@ CW
I've updated GirlsMeets code to a point where I am happy with it. Everything is now in one class, clean and readable. It can and will be further improved but we'll have to see what will be required of it in the future first.
The thing is that nothing has really changed as far as labels themselves are concerned... so you'll have to tell me exactly what you need to start writing girlsmeets by yourself. Right now system already supports unique girlsmeets for unique girls and default girlsmeets for every character.
Game will first try to jump to a label called: gm_interact_interests_[character id] as it is specified in xml file, for example ('gm_interact_interests_Hinata') would be such a label for Hinata from Naruto. If that does not exist, default choice of 'gm_interact_interests' will be used.
By default, the following character are used:
chr_gm = Character(chr.name, color="#c8ffc8")
player_gm = Character(hero.name, color="#c8ffc8")
nvl_gm = Character(None, kind=nvl)
But you can specify something different if you're more comfortable with that. Otherwise, rest of the rules is about the same as any other RenPy label.
You can use this line of code to jump to the place you originally came from if you changed background in the process of girlmeet: $jump(pytfall.gm.label_cache)
Otherwise, chr.disposition += 100 or hero.attack -= 5 and similar commands will modify stats. Ask me how if you wish to do something more difficult.