18/07/2019, 05:05 PM
Tengo el siguiente sistema de misiones bug, cuando hago 3 muertes por cabeza me dice que fueron por cuchillo, las misiones uno y dos se cumplen pero las demas se bugean..
Código PHP:
enum _:MISIONES
{
MISION_NOMBRE[30],
MISION_MATADOS,
MISION_HEADSHOT,
MISION_CUCHILLO,
MISION_RECOMPENSA,
MISION_COMPLETADA,
MISION_ACTIVA
};
enum _:ID_MISION
{
MATAR_1_ZOMBIE,
MATAR_2_ZOMBIE,
MATAR_3_ZOMBIE_HEADSHOT,
MATAR_3_ZOMBIE_CUCHILLO
}
new g_misiones_menu[ID_MISION][MISIONES] =
{
{ "Matar 1 Zombie", 1, 0, 0, 100, 0, 0 },
{ "Matar 2 Zombies", 2, 0, 0, 300, 0, 0 },
{ "Matar 3 Zombies con headshot", 0, 3, 0, 300, 0, 0 },
{ "Matar 3 Zombies con cuchillo", 0, 0, 3, 300, 0, 0 }
};
new g_mision[33][ID_MISION];
new g_zombiekill[33];
new g_headshotkill[33];
new g_knifekill[33];
//playerkilled
if(g_zombie[attacker] && g_zombie[victim])
{
g_zombiekill[attacker]++;
check_mision(attacker)
}
if(get_pdata_int(victim, m_LastHitGroup, 5) == HIT_HEAD)
{
g_headshotkill[attacker]++;
check_mision(attacker);
}
if(get_user_weapon(attacker) == CSW_KNIFE)
{
g_knifekill[attacker]++;
check_mision(attacker);
}
//chequeo
public check_mision(id)
{
if(g_zombiekill[id] <= g_misiones_menu[MATAR_1_ZOMBIE][MISION_MATADOS] && !g_mision[id][MATAR_1_ZOMBIE])
{
g_ammopacks[id] += g_misiones_menu[MATAR_1_ZOMBIE][MISION_RECOMPENSA];
g_mision[id][MATAR_1_ZOMBIE] = 1;
zp_colored_print(id, "[QUEST] Completaste la mision %s, Ganaste %d Ammo packs!", g_misiones_menu[MATAR_1_ZOMBIE][MISION_NOMBRE], g_misiones_menu[MATAR_1_ZOMBIE][MISION_RECOMPENSA]);
}
else if(g_zombiekill[id] <= g_misiones_menu[MATAR_2_ZOMBIE][MISION_MATADOS] && !g_mision[id][MATAR_2_ZOMBIE])
{
g_ammopacks[id] += g_misiones_menu[MATAR_2_ZOMBIE][MISION_RECOMPENSA];
g_mision[id][MATAR_2_ZOMBIE] = 1;
zp_colored_print(id, "[QUEST] Completaste la mision %s, Ganaste %d Ammo packs!", g_misiones_menu[MATAR_2_ZOMBIE][MISION_NOMBRE], g_misiones_menu[MATAR_2_ZOMBIE][MISION_RECOMPENSA]);
}
else if (g_headshotkill[id] <= g_misiones_menu[MATAR_3_ZOMBIE_HEADSHOT][MISION_MATADOS] && !g_mision[id][MATAR_3_ZOMBIE_HEADSHOT])
{
g_ammopacks[id] += g_misiones_menu[MATAR_3_ZOMBIE_HEADSHOT][MISION_RECOMPENSA];
g_mision[id][MATAR_3_ZOMBIE_HEADSHOT] = 1;
zp_colored_print(id, "[QUEST] Completaste la mision %s, Ganaste %d Ammo packs!", g_misiones_menu[MATAR_3_ZOMBIE_HEADSHOT][MISION_NOMBRE], g_misiones_menu[MATAR_3_ZOMBIE_HEADSHOT][MISION_RECOMPENSA]);
}
else if (g_knifekill[id] <= g_misiones_menu[MATAR_3_ZOMBIE_CUCHILLO][MISION_MATADOS] && !g_mision[id][MATAR_3_ZOMBIE_CUCHILLO])
{
g_ammopacks[id] += g_misiones_menu[MATAR_3_ZOMBIE_CUCHILLO][MISION_RECOMPENSA];
g_mision[id][MATAR_3_ZOMBIE_CUCHILLO] = 1;
zp_colored_print(id, "[QUEST] Completaste la mision %s, Ganaste %d Ammo packs!", g_misiones_menu[MATAR_3_ZOMBIE_CUCHILLO][MISION_NOMBRE], g_misiones_menu[MATAR_3_ZOMBIE_CUCHILLO][MISION_RECOMPENSA]);
}
}