I didn't think about applying the settings only to the player that ended the cutscene.
I'm not sure how the event works. on_cutscene_cancelled only triggers for one player (the one who pressed TAB). Would there ever be the possibility that two or more players can see the cutscene? In this case, the event would trigger for each player.
I also reapply the settings for all players if e.g. a player joined. Probably doesn't matter for far reach, as the setting is global. Thnaks anyway ;)
Not a good idea! Polling settings is expensive. Using
global.player_data[player.index].build_distance = global.player_data[player.index].build_distance or settings["far-reach-build-distance-bonus"].value
player.character_build_distance_bonus = global.player_data[player.index].build_distance
would be cheaper because the data are polled from the game only once. However, if you initialize all players each time a player joins, and there are x players, the function will still be called x^2 times -- that seems quite wasteful. :-)
I think there should be an event "on_character_created".
I bet you don't know how Autodrive works! We put a dummy character into vehicles each time they are needed for opening gates or shooting, and we destroy them again when they are not needed so the vehicle can be mined. Let me tell you, we go through a lot of characters, and the event would fire more often than you can imagine! :-)