31/05/2022, 08:36 PM
Buenas, alguien podría ayudarme con este problema?
Al lanzar la granada de fuego al zombie, por más que éste tenga 100k de HP lo baja a 80-40 de HP de una sola vez.
Estoy usando Rehlds solamente.
Gracias
Al lanzar la granada de fuego al zombie, por más que éste tenga 100k de HP lo baja a 80-40 de HP de una sola vez.
Estoy usando Rehlds solamente.
Código:
public burningFlame(const taskid)
{
static vecOrigin[3];
static iFlags;
get_user_origin(ID_BURN, vecOrigin);
iFlags = get_entity_flags(ID_BURN);
if(g_nodamage[ID_BURN] || (iFlags & FL_INWATER) || g_burning_duration[ID_BURN] < 1)
{
message_begin(MSG_PVS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_SMOKE);
write_coord(vecOrigin[0]);
write_coord(vecOrigin[1]);
write_coord(vecOrigin[2] - 50);
write_short(g_smoke_sprite);
write_byte(random_num(15, 20));
write_byte(random_num(10, 20));
message_end();
remove_task(taskid);
return;
}
static iMaxHealth;
static Float:flDamage;
static intDamage;
iMaxHealth = g_HealthTotal[ID_BURN];
flDamage = (float(iMaxHealth) * 0.02) / 100;
intDamage = floatround(flDamage);
if((g_health[ID_BURN] - intDamage) > 0)
set_user_health(ID_BURN, g_health[ID_BURN] - intDamage);
message_begin(MSG_PVS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_SPRITE);
write_coord(vecOrigin[0] + random_num(-5, 5));
write_coord(vecOrigin[1] + random_num(-5, 5));
write_coord(vecOrigin[2] + random_num(-10, 10));
write_short(g_flame_sprite);
write_byte(random_num(2, 5));
write_byte(200);
message_end();
--g_burning_duration[ID_BURN];
}
Gracias