I'm a little rusty, haven't been around much, so my answer might not be accurate.
Is there a reason you prefer to global than remote? If I remember correctly, remote puts the information on the player so everything adds to the same variable. Global puts the information on the instance of the trigger that is setting it. Because of this, each room that is entered will have the global with the information that relates to that particular entrance. Unless an entrance can add up to 151 or the person enters the room often enough to add up to 151, nothing should happen. Is this what you're finding?
If you have something that the person is going to be carrying around, you can put the global on that and, just like the remote, the numbers should add up correctly.
If you're worried about keeping the information on the person's profile, look into rdelete. You can seen Vatiken using it in
this thread about globals and remotes
.
Other notes:
these lines: eval dungeon_mob 3250x
I'd change the eval to set.
Fizban talks about eval vs set
here
.
Also, I haven't tried to work out the numbers but this line:
if %steamworks_dungeon% == 151
Wouldn't >= be better? Is there a possibility that the numbers will add up to 152? You've said a specific route but what happens if the person takes a few mis-steps and backtracks?