El problema esta en alguna de estas funciones debido a que la variable que contiene el numero de municiones para los cuchillos lanzables, es unicamente alternada en estas 2 funciones.
PHP Code:
public new_spawn(id) {
if(knifeammo[id] < get_cvar_num("amx_knifeammo")) knifeammo[id] = get_cvar_num("amx_knifeammo")
if(knifeammo[id] > get_cvar_num("amx_maxknifeammo")) knifeammo[id] = get_cvar_num("amx_maxknifeammo")
tossdelay[id] = 0.0
}
public client_connect(id) {
knifeammo[id] = get_cvar_num("amx_knifeammo")
holdammo[id] = 0
tossdelay[id] = 0.0
knifeout[id] = false
}
Me parece que el problema esta en la función new_spawn, ya que se refiere al evento "ResetHUD", el cual es llamado cuando el HUD que indica el time de la ronda, es reseteado o devuelto a "00:00", debe de haber alguna interferencia entre los cambios de este evento con el comando de DEMO, es así que te recomiendo que hagas esto.
No es la mejor forma, debido a que utilizaremos una librería solamente para utilizar una función de ella, pero te doy una idea, si no busca un evento/message/función que se asimile al respawn de un player, y que se ubique sobre un solo objetivo, es decir que mediante esta función consigas ejecutarla una sola vez por jugador.
PHP Code:
// plugin_init
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn", 1 );
// Luego
public fw_PlayerSpawn( plr )
{
if(knifeammo[plr] < get_cvar_num("amx_knifeammo")) knifeammo[plr] = get_cvar_num("amx_knifeammo")
if(knifeammo[plr] > get_cvar_num("amx_maxknifeammo")) knifeammo[plr] = get_cvar_num("amx_maxknifeammo")
tossdelay[plr] = 0.0
}
Debes borrar el registro del evento "ResetHUD" y la función por completo "new_spawn".
Saludos.
__________________