The main difference is at below part:
Code:
if(is_user_alive(attacker) && g_has_weapon[attacker] && get_user_weapon(attacker) == CSW_WPN)
Code:
if(!is_user_alive(attacker) || !g_has_weapon[attacker] || get_user_weapon(attacker) != CSW_WPN)
The first code will make sure the attacker to fullfill all of checks to continue to next event while the second code will allow attacker to pass if he fulfill one of the checks.