Mensajes: 71
Temas: 13
Registro en: Dec 2013
Reputación:
0
Nota antes de empezar: Este tutorial esta hecho para ZP 4.2 y 4.3
Empezemos.
Abajo de los Includes y arriba de Plugin Customization agregamos las siguientes variables:
Código PHP: new const horas[] = { 00, 01, 02, 03, 04, 05, 06, 07, 08 ,09, 10 } // Aca estamos diciendo que el Happy Hour empezara a las 12 AM y terminara a las 10 AM. Modifiquenlo a su gusto. new bool: g_happytime // Este bool sirve para dar la ganancia x2 en el Happy Hour
Vamos al public event_round_start y abajo del { agregamos:
Código PHP: // [HV] Hora Vico set_task(0.1,"happyhour") // Aca definimos que cada 1 segundo se llame al bool happy hour para checkear si estamos en happy hour.
Ahora vamos al public fw_TakeDamage y buscamos:
Código PHP: // Reward ammo packs for every [ammo damage] dealt
Y modifican esto:
Código PHP: while (g_damagedealt[attacker] >= ammodamage)
Por Esto:
Código PHP: while (g_damagedealt[attacker] >= (ammodamage / (g_happytime + 3)) )
Ahora vamos al final del plugin y agregamos
Código PHP: public happyhour(id) { new data[12] get_time("%H", data, 12) new Tiempo = str_to_num(data) for(new i=0;i <= sizeof horas - 1;i++) { if(Tiempo != horas[i]) continue g_happytime = true break; } if(g_happytime) { zp_colored_print(0, "^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks") } }
Y eso fue todo para crear Happy Hour.
Saludos, Atte. ShaDow^
Mensajes: 1,182
Temas: 18
Registro en: Oct 2013
Reputación:
16
Código: public event_round_start
{
static data[ 9 ];
get_time( "%H", data, 8 );
new Hora = str_to_num( data );
if( Hora >= 00 && Hora < 10 )
{
g_happytime = true;
zp_colored_print(0, "^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks")
}
}
No seria mejor ?
Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.
Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'
(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
para empezar que este tutorial no lo hiciste tú y ni siquiera dejas los créditos.
http://forums.alliedmods.net/showthread.php?t=113547
hay varias cosas mal, viendo esto
me quedé
(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: 71
Temas: 13
Registro en: Dec 2013
Reputación:
0
(11/12/2013, 10:59 AM)RauliTop escribió: para empezar que este tutorial no lo hiciste tú y ni siquiera dejas los créditos.
http://forums.alliedmods.net/showthread.php?t=113547
hay varias cosas mal, viendo esto
me quedé
Para empezar nunca dije que este tutorial era mio. Ni que lo hice yo, tengo esto en mi zp hace mucho tiempo. Y como hay gente que no puede entrar a la web de alliedmods. Decidi postearlo aca.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
(11/12/2013, 01:00 AM)cLAANS escribió: Código: public event_round_start
{
static data[ 9 ];
get_time( "%H", data, 8 );
new Hora = str_to_num( data );
if( Hora >= 00 && Hora < 10 )
{
g_happytime = true;
zp_colored_print(0, "^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks")
}
}
No seria mejor ?
Saludos,
cLAANS.-
Si pero hay gente que puede querer dejar intervalos de tiempo
Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
11/12/2013, 12:50 PM
(Última modificación: 11/12/2013, 03:31 PM por [R]ak.)
pls..
Código PHP: public event_round_start() { static Date[3], Time get_time("%H", Date, charsmax(Date)) Time = str_to_num(Date) static const TIME_HAPPY = 0 | 1 | 4 | 5 | 6 | 12 | 13 | 14 if(TIME_HAPPY & Time) { g_happytime = true zp_colored_print(0, "^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks") } else g_happytime = false }
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(11/12/2013, 12:50 PM)[R]ak escribió: pls..
Código PHP: public event_round_start() { static Date[3], Time get_time("%H", Date, charsmax(Date)) Time = str_to_num(Date) static const TIME_HAPPY = 0 | 1 | 4 | 5 | 6 | 12 | 13 | 14 if(TIME_HAPPY & Time) { g_happytime = true zp_colored_print(0, "^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks") } else g_happytime = true }
siempre true
(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: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
esta mal medicado rak.
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: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
11/12/2013, 03:32 PM
(Última modificación: 11/12/2013, 03:36 PM por [R]ak.)
sabes lo difícil que es armar un code prolijo desde un celular? ¬¬ copie y pegue esa parte
pd: happy para todos! (?
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(11/12/2013, 11:57 AM)ShaDow^ escribió: (11/12/2013, 10:59 AM)RauliTop escribió: para empezar que este tutorial no lo hiciste tú y ni siquiera dejas los créditos.
http://forums.alliedmods.net/showthread.php?t=113547
hay varias cosas mal, viendo esto
me quedé
Para empezar nunca dije que este tutorial era mio. Ni que lo hice yo, tengo esto en mi zp hace mucho tiempo. Y como hay gente que no puede entrar a la web de alliedmods. Decidi postearlo aca. pues deberías a ver puesto los créditos de donde lo sacaste.
no es exclusivo para zp 4.2
(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: 1,182
Temas: 160
Registro en: Oct 2013
Reputación:
5
Una cosa, hay un lugar que dice modificar esto:
Código PHP: while (g_damagedealt[attacker] >= ammodamage)
Por Esto:
Código PHP: while (g_damagedealt[attacker] >= (ammodamage / (g_happytime + 3)))
Y yo en ese lugar tengo:
Código PHP: while (g_damagedealt_human[attacker] > get_pcvar_num(cvar_ammodamage_human))
Mensajes: 71
Temas: 13
Registro en: Dec 2013
Reputación:
0
(13/12/2013, 03:15 PM)xPecie escribió: Una cosa, hay un lugar que dice modificar esto:
Código PHP: while (g_damagedealt[attacker] >= ammodamage)
Por Esto:
Código PHP: while (g_damagedealt[attacker] >= (ammodamage / (g_happytime + 3)))
Y yo en ese lugar tengo:
Código PHP: while (g_damagedealt_human[attacker] > get_pcvar_num(cvar_ammodamage_human))
Mira tienes que crear arriba de
Código PHP: // Reward ammo packs for every [ammo damage] dealt
Esto:
Código PHP: static damagehuman damagehuman = get_pcvar_num(cvar_ammodamage_human)
Y luego cambias esto:
Código PHP: while (g_damagedealt_human[attacker] > get_pcvar_num(cvar_ammodamage_human))
[/quote]
Por esto:
Código PHP: while (g_damagedealt_human[attacker] >= (damagehuman / (g_happytime + 3)))
Espero averte ayudado. ShaDow^
Mensajes: 1,182
Temas: 160
Registro en: Oct 2013
Reputación:
5
14/12/2013, 06:12 AM
(Última modificación: 14/12/2013, 06:47 AM por xPecie.)
Gracias por contestar tan rápido, ehm...hice lo que me dijiste y me sale lo siguiente que no consigo arreglar:
Warning: Tag mismatch on line 2123
Código PHP: while (g_damagedealt_human[attacker] >= (damagehuman / (g_happytime + 3)) )
Lo tengo así:
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]) return HAM_SUPERCEDE; // Prevent friendly fire if (g_zombie[attacker] == g_zombie[victim]) return HAM_SUPERCEDE; // Attacker is human... if (!g_zombie[attacker]) { // Armor multiplier for the final damage on normal zombies if (!g_nemesis[victim]) { damage *= get_pcvar_float(cvar_zombiearmor) SetHamParamFloat(4, damage) } // Reward ammo packs to humans for damaging zombies? if ((get_pcvar_num(cvar_ammodamage_human) > 0) && (!g_survivor[attacker] || !get_pcvar_num(cvar_survignoreammo))) { // Store damage dealt g_damagedealt_human[attacker] += floatround(damage) // happy hour static damagehuman damagehuman = get_pcvar_num(cvar_ammodamage_human) // Reward ammo packs for every [ammo damage] dealt // happy hour while (g_damagedealt_human[attacker] >= (damagehuman / (g_happytime + 3))) { g_ammopacks[attacker]++ g_damagedealt_human[attacker] -= get_pcvar_num(cvar_ammodamage_human) } } 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; } // Reward ammo packs to zombies for damaging humans? if (get_pcvar_num(cvar_ammodamage_zombie) > 0) { // Store damage dealt g_damagedealt_zombie[attacker] += floatround(damage) // Reward ammo packs for every [ammo damage] dealt while (g_damagedealt_zombie[attacker] > get_pcvar_num(cvar_ammodamage_zombie)) { g_ammopacks[attacker]++ g_damagedealt_zombie[attacker] -= get_pcvar_num(cvar_ammodamage_zombie) } } // Last human or not an infection round if (g_survround || g_nemround || g_swarmround || g_plagueround || 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) // If he has some, block the infection and reduce armor instead if (armor > 0.0) { emit_sound(victim, CHAN_BODY, sound_armorhit, 1.0, ATTN_NORM, 0, PITCH_NORM) if (armor - damage > 0.0) set_pev(victim, pev_armorvalue, armor - damage) else cs_set_user_armor(victim, 0, CS_ARMOR_NONE) return HAM_SUPERCEDE; } } // Infection allowed zombieme(victim, attacker, 0, 0, 1) // turn into zombie return HAM_SUPERCEDE; }
Si yo tengo esto así:
n Código PHP: ew const horas[] = { 00, 01, 02, 03, 04, 05, 06, 07, 08 ,09, 10, 11, 12, 13 }
Entiendo que es de 12 de la NOCHE a 1 del MEDIODIA (hora de comer + o menos) cierto?
P.D.: Se me olvidaba, como puedo ponerle una cvar para activarlo y desactivarlo cuando quiera? por ejemplo: amx_horafeliz "1" activado "0" desactivado, sin tener que cambiar el .amxx cada vez.
Saludos!
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(14/12/2013, 06:12 AM)xPecie escribió: Gracias por contestar tan rápido, ehm...hice lo que me dijiste y me sale lo siguiente que no consigo arreglar:
Warning: Tag mismatch on line 2123
Código PHP: while (g_damagedealt_human[attacker] >= (damagehuman / (g_happytime + 3)) )
prueba
Código PHP: while (g_damagedealt_human[attacker] >= floatround(damagehuman / (g_happytime + 3)) )
(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: 1,182
Temas: 160
Registro en: Oct 2013
Reputación:
5
No, ahora me dice:
Warning: Tag mismatch on line 2123
Warning: Tag mismatch on line 2123
2 veces...en esa misma linea
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
14/12/2013, 09:35 AM
(Última modificación: 14/12/2013, 09:40 AM por RauliTop.)
prueba de nuevo:
Código PHP: while (g_damagedealt_human[attacker] >= floatround(float(damagehuman) / float(g_happytime + 3)) )
(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: 1,182
Temas: 160
Registro en: Oct 2013
Reputación:
5
Diós, tampoco se arregla, probe lo que me dijiste también de:
Código PHP: while (g_damagedealt_human[attacker] >= floatround(float(damagehuman) / float(g_happytime + 3)) )
Y no hay manera...
Mensajes: 843
Temas: 13
Registro en: Nov 2013
Reputación:
11
(14/12/2013, 09:40 AM)xPecie escribió: Diós, tampoco se arregla, probe lo que me dijiste también de:
Código PHP: while (g_damagedealt_human[attacker] >= floatround(float(damagehuman) / float(g_happytime + 3)) )
Y no hay manera...
No seria mejor hacer asi?
Código PHP: while (g_damagedealt[attacker] >= ammodamage) { g_ammopacks[attacker]+= g_happytime ? 2 : 1 g_damagedealt[attacker] -= ammodamage }
Mensajes: 71
Temas: 13
Registro en: Dec 2013
Reputación:
0
(14/12/2013, 11:21 AM)UnrealT escribió: (14/12/2013, 09:40 AM)xPecie escribió: Diós, tampoco se arregla, probe lo que me dijiste también de:
Código PHP: while (g_damagedealt_human[attacker] >= floatround(float(damagehuman) / float(g_happytime + 3)) )
Y no hay manera...
No seria mejor hacer asi?
Código PHP: while (g_damagedealt[attacker] >= ammodamage) { g_ammopacks[attacker]+= g_happytime ? 2 : 1 g_damagedealt[attacker] -= ammodamage }
Y esta seria una buena manera. No la habia pensado nunca. Gracias unreal
Saludos, ShaDow^
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
no.. es mala esa manera.. lo mejor seria usar una variable global llamada.. q se yo...
g_happybonus
y si es happy le asignas el valor q quieras.. 1, 2, 3.. etc.. y solo le pones donde recibe AP; + g_happybonus
Mensajes: 115
Temas: 24
Registro en: Dec 2014
Y si quiero que sea de exp?
|