Mensajes: 109
Temas: 25
Registro en: Oct 2013
Reputación:
0
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
Mensajes: 965
Temas: 45
Registro en: Oct 2013
Reputación:
19
if(get_playersnum(1) < 6)
Mensajes: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
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.
Mensajes: 109
Temas: 25
Registro en: Oct 2013
Reputación:
0
pero kiero ponerlo en el takedamage para k no sake cuando aiga minimo 6 player como tendria k ponerlo
Mensajes: 965
Temas: 45
Registro en: Oct 2013
Reputación:
19
Mensajes: 109
Temas: 25
Registro en: Oct 2013
Reputación:
0
Código PHP: // Ham Take Damage Forward public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_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_damage, g_humanclass[attacker])+danio(g_habilidad[attacker][0]) + (0.01 * g_final[attacker]) else if (armas_new[attacker]) damage*=Float:ArrayGetCell(g_hclass_damage, g_humanclass[attacker])+danio(g_habilidad[attacker][0]) + (0.04 * g_final[attacker]) SetHamParamFloat(4, damage) // Armor multiplier for the final damage on normal zombies if (!g_nemesis[victim] && !g_assassin[victim]) { damage *= get_pcvar_float(cvar_zombiearmor) SetHamParamFloat(4, damage) } 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(4, damage) // 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(4, get_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(4, get_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(4, damage) } } // 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(victim, pev_armorvalue, armor) // Block the attack if he has some if (armor > 0.0) { emit_sound(victim, CHAN_BODY, sound_armorhit, 1.0, ATTN_NORM, 0, PITCH_NORM) set_pev(victim, pev_armorvalue, floatmax(0.0, armor - damage)) return HAM_SUPERCEDE; } } // Infection allowed zombieme(victim, attacker, 0, 0, 1, 0) // turn into zombie g_gold[attacker] += 3, g_ammopacks[attacker] += 300 // ammo packs given to zombie for infection update_level(attacker) return HAM_SUPERCEDE; }
Mensajes: 642
Temas: 25
Registro en: Feb 2014
Reputación:
17
08/02/2014, 12:43 AM
(Última modificación: 08/02/2014, 12:44 AM por Kane.)
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
Mensajes: 109
Temas: 25
Registro en: Oct 2013
Reputación:
0
09/02/2014, 01:15 AM
(Última modificación: 09/02/2014, 02:22 AM por PerfecScore.)
entonces en el takedamage kedaria
Código PHP: // Ham Take Damage Forward public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_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
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
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.
Mensajes: 109
Temas: 25
Registro en: Oct 2013
Reputación:
0
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........
|