"site" in hostage_rescued is either always set to 0, or there is a possibility it may define hostage rescue zone num (worth trying out in hostage by adding two rescue zone triggers).
If this is an index rather than always being set to 0, we can find out which rescue zone the hostage was rescued at (we could just do a workaround by figuring it out using the player's position)
Also, hostage_rescued event is not thrown in danger zone.