Bug con misiones y sus recompenzas
#1
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"1001000},
    { 
"Matar 2 Zombies"2003000},
    { 
"Matar 3 Zombies con headshot"0303000},
    { 
"Matar 3 Zombies con cuchillo"0033000}
};
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(victimm_LastHitGroup5) == 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]);
    }

Responder
#2
Insecure
Código PHP:
if(g_zombie[attacker] && g_zombie[victim]) 


->

Código PHP:
if(g_zombie[victim]) 
Responder
#3
(18/07/2019, 07:18 PM)Exertency escribió: Insecure
Código PHP:
if(g_zombie[attacker] && g_zombie[victim]) 


->

Código PHP:
if(g_zombie[victim]) 

Como debo expresar el if cuando mata de head, porque si mata a uno de head o a uno con cuchillo, ya me da el logro..
Lo intente de distintas maneras, pero no creo estar haciendolo bien ya que me da el logro jaja
Responder
#4
Piensa un poco, no es muy dificil la logica.
Código PHP:
else if (g_knifekill[id] <= g_misiones_menu[MATAR_3_ZOMBIE_CUCHILLO
->
Código PHP:
// Si la cantidad de kills con cuchillos es mayor a la requerida...
else if (g_knifekill[id] >= g_misiones_menu[MATAR_3_ZOMBIE_CUCHILLO
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)