Как сделать каждому зомби свой звук удара
Можно статьюДобавлено (2011-08-10, 17:56)
---------------------------------------------
В этой статье я научу вас добовлять звук к ударам зомби (через исходный код любого класса зм)!
Пока не нашёл ни одного бага, если найдёте отпишитесь!
Начнём:
Буду показывать пример опять же на простом плагине класса зомби.
1. Мы создаём звук:
new const zclassid1_knife_sounds[][] =
{
"weapons/knife_deploy1.wav", его можно не изменять!
"zm_sounds/zombie/hit_normal_01.wav",
"zm_sounds/zombie/hit_normal_02.wav",
"zm_sounds/zombie/hit_normal_03.wav",
"zm_sounds/zombie/hit_normal_04.wav",
"zm_sounds/zombie/miss_wall_01.wav",
"zm_sounds/zombie/miss_slash_01.wav",
"zm_sounds/zombie/miss_slash_02.wav",
"zm_sounds/zombie/hit_stab_01.wav"
}
new const old_knife_sounds[][] =
{
"weapons/knife_deploy1.wav",
"weapons/knife_hit1.wav",
"weapons/knife_hit2.wav",
"weapons/knife_hit3.wav",
"weapons/knife_hit4.wav",
"weapons/knife_hitwall1.wav",
"weapons/knife_slash1.wav",
"weapons/knife_slash2.wav",
"weapons/knife_stab.wav"
}
2. Далее ищем public plugin_init()
Добовляем туда такие строчки:
register_forward(FM_EmitSound, "fw_EmitSound");
Если его нет, то делаем так:
public plugin_init()
{
register_forward(FM_EmitSound, "fw_EmitSound");
}
3. Ищем public plugin_precache()
Добавляем туда такие строчки:
for(new i = 0; i < sizeof zclassid1_knife_sounds; i++)
precache_sound(zclassid1_knife_sounds[i])
4. Ну и наконец добавляем вот эту функцию:
public fw_EmitSound(id, channel, const sound[])
{
if(!is_user_connected(id))
return FMRES_HANDLED;
if ((zp_get_user_zombie_class(id) == g_zclassid1))
for(new i = 0; i < sizeof zclassid1_knife_sounds; i++)
{
if(equal(sound, old_knife_sounds[i]))
{
emit_sound(id, channel, zclassid1_knife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
есть это но не чего не понятно
}