[Anti Free] Zombie Plague
#1
bueno resulta k tengo un server Zombie Plague Niveles pero ay gente k entra alas 3 de la mañiana y asen free al dia siguiente ya tienen reset..
Bueno kiero saber como poner k solo cuando aya 5 personas en el server la ganancia de Exp, Combos,Puntos este desactibada osea no ganen nada alguien sabe como acerlo
Responder
#2
if(get_playersnum(1) < 6)
Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#3
Puede usar la funcion fnGetPlaying() del zp default.
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#4
pero kiero ponerlo en el takedamage para k no sake cuando aiga minimo 6 player como tendria k ponerlo
Responder
#5
deja takedamage
Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#6
Código PHP:
// Ham Take Damage Forward
public fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    
// Non-player damage or self damage
    
if (victim == attacker || !is_user_valid_connected(attacker))
        return 
HAM_IGNORED;
    
    
// New round starting or round ended
    
if (g_newround || g_endround)
        return 
HAM_SUPERCEDE;
    
    
// Victim shouldn't take damage or victim is frozen
    
if (g_nodamage[victim] || (g_frozen[victim] && !(get_pcvar_num(cvar_frozenhit))))
        return 
HAM_SUPERCEDE;
    
    
    
// Prevent friendly fire
    
if (g_zombie[attacker] == g_zombie[victim])
        return 
HAM_SUPERCEDE;
    
    
// Attacker is human...
    
if (!g_zombie[attacker])
    {
        if (
g_arma_a[attacker])
            
damage*=Float:ArrayGetCell(g_hclass_damageg_humanclass[attacker])+danio(g_habilidad[attacker][0]) + (0.01 g_final[attacker])
        else if (
armas_new[attacker])
            
damage*=Float:ArrayGetCell(g_hclass_damageg_humanclass[attacker])+danio(g_habilidad[attacker][0]) + (0.04 g_final[attacker])
            
        
SetHamParamFloat(4damage)
        
        
// Armor multiplier for the final damage on normal zombies
        
if (!g_nemesis[victim] && !g_assassin[victim])
        {
            
damage *= get_pcvar_float(cvar_zombiearmor)
            
SetHamParamFloat(4damage)
        }
        
        if(!
g_survivor[attacker]&&!g_sniper[attacker]) 
        {
            
// Combos Agregados
            
g_damage[attacker] += floatround(damage)
            while(
g_damage[attacker]>=(power(g_combo[attacker], 1)*330))
            {
                
g_combo[attacker]++
            }
            
remove_task(attacker+TASK_COMBO)
            
set_task(0.1"task_combo"attacker+TASK_COMBO)
            
set_task(4.0"reset_combo"attacker+TASK_COMBO)
        }
            
        if(
g_survivor[attacker])
        
damage *= 4.0
        
if(g_sniper[attacker])
        
damage *= 25.0
        SetHamParamFloat
(4damage)
            
        
// Reward ammo packs
        
if (!g_sniper[attacker] && !g_survivor[attacker])
        {
            
// Store damage dealt
            
g_damagedealt[attacker] += floatround(damage)
                
            
// Reward ammo packs for every [ammo damage] dealt
            
while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                
g_gold[attacker]++, g_ammopacks[attacker]++, update_level(attacker)
                
g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
            }
        }
        
        return 
HAM_IGNORED;
    }
    
    
// Attacker is zombie...
    
    // Prevent infection/damage by HE grenade (bugfix)
    
if (damage_type DMG_HEGRENADE)
        return 
HAM_SUPERCEDE;
    
    
// Nemesis?
    
if (g_nemesis[attacker])
    {
        
// Ignore nemesis damage override if damage comes from a 3rd party entity
        // (to prevent this from affecting a sub-plugin's rockets e.g.)
        
if (inflictor == attacker)
        {
            
// Set nemesis damage
            
SetHamParamFloat(4get_pcvar_float(cvar_nemdamage))
        }
        
        return 
HAM_IGNORED;
    }
    
    
// Assassin?
    
if (g_assassin[attacker])
    {
        
// Ignore assassin damage override if damage comes from a 3rd party entity
        // (to prevent this from affecting a sub-plugin's rockets e.g.)
        
if (inflictor == attacker)
        {
            
// Set assassin damage
            
SetHamParamFloat(4get_pcvar_float(cvar_assassindamage))
        }
        
        return 
HAM_IGNORED;
    }
    
// Normal zombie
    
else
    {
        
// Ignore zombie damage override if damage comes from a 3rd party entity
        // (to prevent this from affecting a sub-plugin's rockets e.g.)
        
if (inflictor == attacker)
        {
            
// Set zombie damage
            
damage *= danioz(g_habilidad[attacker][5])
            
SetHamParamFloat(4damage)
        }
    }
    
    
// Last human or not an infection round
    
if (g_survround || g_nemround || g_swarmround || g_plagueround || g_sniperround || g_assassinround || g_lnjround || g_warround || fnGetHumans() == 1)
        return 
HAM_IGNORED// human is killed
    
    // Does human armor need to be reduced before infecting?
    
if (get_pcvar_num(cvar_humanarmor))
    {
        
// Get victim armor
        
static Float:armor
        pev
(victimpev_armorvaluearmor)
        
        
// Block the attack if he has some
        
if (armor 0.0)
        {
            
emit_sound(victimCHAN_BODYsound_armorhit1.0ATTN_NORM0PITCH_NORM)
            
set_pev(victimpev_armorvaluefloatmax(0.0armor damage))
            return 
HAM_SUPERCEDE;
        }
    }
    
    
// Infection allowed
    
zombieme(victimattacker0010// turn into zombie
    
g_gold[attacker] += 3g_ammopacks[attacker] += 300 // ammo packs given to zombie for infection
    
update_level(attacker)
    return 
HAM_SUPERCEDE;

Responder
#7
Podes hacerlo con cvar.
Código PHP:
new cvar_min_players

// creas la cvar en plug init
Cvar_min_players register_cvar("min_pls""/*aca el numero*/")

// Despues en los lugares q ganan combos aps etc
If (Check_players())
{ \* 
bla bla bla*\ }
Else 
      
zp_colored_print(0"[ZP] Hay menos de %s jugando. Ganancias desactivadas."get_pcvar_num(cvar_min_players))


Check_players()
{
       If (
get_pcvar_num(cvar_min_players) < FnGetPlaying())
                 Return 
0;

        Return 
1;


No esta testeado, recien lo cree. Espero q te sirva

Slds
kAnE.-
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Responder
#8
entonces en el takedamage kedaria

Código PHP:
// Ham Take Damage Forward
public fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    
// Attacker is human...
    
if (!g_zombie[attacker])
    {
        if (
Check_players())
        {
            if(!
g_survivor[attacker] && !g_sniper[attacker])
            {
                
// Combos Agregados
                
g_damage[attacker] += floatround(damage)
                while(
g_damage[attacker]>=(power(g_combo[attacker], 1)*330))
                {
                    
g_combo[attacker]++
                }
                
remove_task(attacker+TASK_COMBO)
                
set_task(0.1"task_combo"attacker+TASK_COMBO)
                
set_task(4.0"reset_combo"attacker+TASK_COMBO)
                
                
// Store damage dealt
                
g_damagedealt[attacker] += floatround(damage)
                
                
// Reward ammo packs for every [ammo damage] dealt
                
while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
                {
                    
g_gold[attacker]++, g_ammopacks[attacker]++, update_level(attacker)
                    
g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
                }
            }
        }
        else 
        {
            
zp_colored_print(0"[ZP] Hay menos de %s jugando. Ganancias desactivadas."get_pcvar_num(cvar_min_players))
    }

lo ise asi no Funciona le puse minimo 5 jugadores y sale aunk ayga 15 lol
Responder
#9
a ver chico listo, lo que pusiste ahí es que para cuando hay menos de 5 jugadores no de ganancias al darle a alguien y le salga el mensajito.
entonces, es normal que si hay 15 jugadores siga dando recompensa.

y por favor, escribe bien que me está dando cáncer tu ortografía.
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#10
Lok kise decir esk hacen combos ni aunque aigan 15 jugado online cuando se supone k el mensaje deveria salir solo cuando ay 5 .... Saliendo del tema parami la hortografia no es el p2........
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)