Either way this should never happen:
Code:
L 06/17/2018 - 10:25:04: [CSTRIKE] Invalid weapon id 16
As weapon id 16 is in fact, valid, that much we know for sure

hmm
Also the reason for the crash when picking a terrorist could be an infinity loop, there's a while loop that could potentially get into one, also the whole function itself is looped under certain conditions, I just have no idea why it would start behaving like that since the update ( Unless you changed something ).
This is just a guess, but hear me out, since we already saw a weird problem with you cstrike module,im gonna guess that it has something to do with it. Because there are several cstrike functions in EventRandromize() and if those return a wrong value every time, it would cause an infinite loop. Just shooting in the dark.
But yes, please post the full code.
__________________