Суть вопроса такова. Битый час кручусь на месте... Многие поправки сделал для плагина, но последняя вывела из себя.
У меня есть граната которая убивает зомби. Как мне выдать ей урон? Чтоб я мог его контролить.
Менял в плаге уже на данные действия но увы..
У меня есть граната которая убивает зомби. Как мне выдать ей урон? Чтоб я мог его контролить.
Менял в плаге уже на данные действия но увы..
KillBombExplode(ent)
{
if (g_roundend) return
static Float:originF[3]
pev(ent, pev_origin, originF)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_EXPLOSION)
write_coord(floatround(originF[0]))
write_coord(floatround(originF[1]))
write_coord(floatround(originF[2]))
write_short(g_killbomb_spr_exp)
write_byte(40)
write_byte(30)
write_byte(14)
message_end()
emit_sound(ent, CHAN_WEAPON, SOUND_EXPLODE, 1.0, ATTN_NORM, 0, PITCH_NORM)
static attacker
attacker = pev(ent, pev_owner)
if (!is_user_connected(attacker))
{
engfunc(EngFunc_RemoveEntity, ent)
return
}
static victim
victim = -1
while((victim = engfunc(EngFunc_FindEntityInSphere, victim, originF, NADE_EXPLOSION_RADIUS)) != 0)
{
if(!is_user_alive(victim) || !zp_get_user_zombie(victim) || zp_get_user_nemesis(victim))
continue
g_killedbykillbomb[victim] = 1
ExecuteHamB(Ham_Killed, victim, attacker, 0)
g_killedbykillbomb[victim] = 0
// Здесь настраиваем урон
set_user_health(victim, 1) // Нанести минимальный урон
static health; health = get_user_health(attacker)
set_user_health(attacker, health+get_pcvar_num(cvar_bonushp))
}
engfunc(EngFunc_RemoveEntity, ent)
}
{
if (g_roundend) return
static Float:originF[3]
pev(ent, pev_origin, originF)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_EXPLOSION)
write_coord(floatround(originF[0]))
write_coord(floatround(originF[1]))
write_coord(floatround(originF[2]))
write_short(g_killbomb_spr_exp)
write_byte(40)
write_byte(30)
write_byte(14)
message_end()
emit_sound(ent, CHAN_WEAPON, SOUND_EXPLODE, 1.0, ATTN_NORM, 0, PITCH_NORM)
static attacker
attacker = pev(ent, pev_owner)
if (!is_user_connected(attacker))
{
engfunc(EngFunc_RemoveEntity, ent)
return
}
static victim
victim = -1
while((victim = engfunc(EngFunc_FindEntityInSphere, victim, originF, NADE_EXPLOSION_RADIUS)) != 0)
{
if(!is_user_alive(victim) || !zp_get_user_zombie(victim) || zp_get_user_nemesis(victim))
continue
g_killedbykillbomb[victim] = 1
ExecuteHamB(Ham_Killed, victim, attacker, 0)
g_killedbykillbomb[victim] = 0
// Здесь настраиваем урон
set_user_health(victim, 1) // Нанести минимальный урон
static health; health = get_user_health(attacker)
set_user_health(attacker, health+get_pcvar_num(cvar_bonushp))
}
engfunc(EngFunc_RemoveEntity, ent)
}
Вложения
-
9.4 KB Просмотры: 8