Quote:
As it seems mandatory, in your opinion, for this plugin to use client serials instead of userids (in order to avoid timer handles)
|
I never said that. You're confusing User id and Client Id. UserId, ClientId and SerialId are 3 distinct identifiers for a client.
With that said, I think that what I did have in mind at that time was a different way to do what you did. You could use for instance manual timers (with floats) or UserId while binary ORing a round ~"id". I think the binary array might be related to that; thought I'm not sure if that would come with a "better readability" as I said :/.
You achieved to remove the message that's good. I think I did mistake myself as I didn't see that you commented out the message @ L103 (your changelog doesn't mention it directly, nor do your posts; I think that it was shadowed by your cvar implementation), so I thought it was another line.
However you are only killing the timer on L94. What if the user is a spectator ? Not in a team ? Also spawn isn't triggered when a player join spectator FYI; but it is triggered when a player join the server (team == 0).
That problem can allow someone, as a spectator, to get that bonus of speed (... activate --> go spectator) ; if sprint if let's say x5 you see the difference and you have to rejoin/join a team to lose that speed.
Also you now have dead code on L98-103.
And you should change L120 as your plugin is for "any" source game, but you're hardcoding T/CT. You may want to take a look at
this. I've personally used
(though it changes your base scenario).
Using UserId/SerialId is the
recommended SM way (I did QQ myself on that to get some of mine approved AFAICR). I'll keep advocating using non-clientId in timer; but I'll approve your plugin if the timer logic is proof.
Red
__________________