Это и было сделано.
RespawnTime = GetConVarInt(convar); RespawnTime++;
Эквивалентно:
RespawnTime = GetConVarInt(convar);
RespawnTime = RespawnTime + 1;
Т.е. приравниваем два раза, много раз юзаем переменную, когда можно было просто:
RespawnTime = GetConVarInt(convar) + 1;
В каком случае будет a + b ?
Достаточно при любом значение набрать в консоли
1.0 или
0.0 - будет вызвана функция изменения квара, ведь там "стоит
1 (
true) или
0 (
false)" - SM посчитает это за изменение квара. В итоге: второй
Unhook (ошибка), либо два и более хуков. Ошибка редкая, но возможная.