Here's what I do when I debug code.
Print EVERYTHING
Code:
public ability1(id)
{
server_print("ability1() called, id: %d", id)
server_print("is_user_alive(id): %s", is_user_alive(id) ? "true" : "false");
server_print("zp_get_user_zombie(id): %s", zp_get_user_zombie(id) ? "true" : "false");
server_print("zp_get_user_zombie_class(id) == regular: %s", zp_get_user_zombie(id) == regular ? "true" : "false");
server_print("zp_get_user_nemesis(id): %s", zp_get_user_nemesis(id) ? "true" : "false");
server_print("Ready[id]: %d", Ready[id]);
if(is_user_alive(id) && zp_get_user_zombie(id) && zp_get_user_zombie_class(id) == regular && !zp_get_user_nemesis(id))
{
new Float:uspeed = 1000.0
if(Ready[id] == 1)
{
client_cmd(id,"cl_forwardspeed 1600")
client_cmd(id,"cl_backspeed 1600")
set_user_maxspeed(id, uspeed)
cooldown[id] = 21
Ready[id] = 0
abilitystarted[id] = 1
abilityended[id] = 0
set_task(ability1cooldown,"ready",id)
}
else client_print(id,print_chat,"[Ability] Wait 'till ability is ready")
}
}
__________________