19.02.2015, 07:06
Quote:
Is that the whole call stack, because it doesn't make much sense...
|
I commented the situation: Coincidentally, this crash occurs after exceeding 25 users. The range is not fixed, usually spend between 20 and 30 users, we never got over that because the server crashes. But I have suspicions that it may be a player that found some vulnerability and he is intentionally causing the crash.
In the script I checked all codes of type "stock Float: ..." verifying who are actually returning a float value. The only genre me suspect was as follows:
Код:
stock Float: GetDistanceBetweenPlayers (p1, p2) { new Float: x1, Float: y1, Float: z1, float x2, float y2, Float: z2; if (IsPlayerConnected (p1) || IsPlayerConnected (p2)!) return -1.00; GetPlayerPos (p1, x1, y1, z1); GetPlayerPos (p2, x2, y2, z2); return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); }
Код:
stock Float: GetDistanceBetweenPlayers (p1, p2) { new Float: x1, Float: y1, Float: z1, float x2, float y2, Float: z2; if (IsPlayerConnected (p1) || IsPlayerConnected (p2)!) return -1.00; GetPlayerPos (p1, x1, y1, z1); GetPlayerPos (p2, x2, y2, z2); return VectorSize (x1-x2, y1-y2, z1-z2); }