I think the problem is here:
PHP Code:
public zp_user_infected_pre(id, infector)
{
if( is_user_alive(infector) && (level_exp[infector] < (g_level_exp[infector] - 1)) && zp_get_user_zombie(infector))
{
level_exp[infector] = level_exp[infector] + 1;
Level_Save(infector);
}
else
if (zp_get_user_zombie(infector))
ChatColor(infector, "!g[ZP] !y Killed Zombie")
}
In the first if() you check if the player 'infector' is valid but you don't do so in the second if().
Change it to this:
PHP Code:
public zp_user_infected_pre(id, infector)
{
if( is_user_alive(infector) && zp_get_user_zombie(infector))
{
if((level_exp[infector] < (g_level_exp[infector] - 1)))
{
level_exp[infector]++;
Level_Save(infector);
}
ChatColor(infector, "!g[ZP] !y Killed Zombie");
}
}