Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

У каждого класса свой звук

, [Помощь]
Статус пользователя slender8918
сообщение 7.12.2019, 16:28
Сообщение #1


Стаж: 12 лет
Город: Москва

Сообщений: 119
Благодарностей: 15
Полезность: < 0

Здравствуйте браты, помогите пожалуйста, есть плагин, класс Зомби с Бензопилой, всё работает нормально, вот звуки у этого класса свои, звук пилы при ударе, а проблема в том, что эт звуки присваиваются ко всем Зомби классам, и при ударе они так же все издают удар Бензопилой, помогите пожалуйста исправить, что бы только у данного zombie класса проигрывались свои звуки, плагин прикрепил. Спасибо большое заранее.
плагин

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <hamsandwich>

new const zclass_name[] = { "Chainsaw Zombie" }
new const zclass_info[] = { "Chainsaw Zombie Class" }
new const zclass_model[] = { "zombie_chainsaw" }
new const zclass_clawmodel[] = { "v_chainsaw.mdl" }
const zclass_health = 1800
const zclass_speed = 190
const Float:zclass_gravity = 1.0
const Float:zclass_knockback = 1.0

new g_zclassid1

new cvar_damage;

new const chainsaw_sounds[][] =
{
"zombie_plague/chainsaw2_miss.wav",
"zombie_plague/chainsaw1_miss.wav",
"zombie_plague/chainsaw2_miss.wav",
"zombie_plague/chainsaw1_hit.wav",
"zombie_plague/chainsaw2_hit.wav",
"zombie_plague/chainsaw1_hit.wav",
"zombie_plague/chainsaw1_miss.wav",
"zombie_plague/chainsaw2_miss.wav",
"zombie_plague/chainsaw1_hit.wav"
}

new const 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"
}

public plugin_init()
{
register_plugin("[ZP] Chainsaw Zombie Class", "0.1", "Artos")

register_forward(FM_EmitSound, "fw_EmitSound");

RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

cvar_damage = register_cvar("zp_chainsaw_damage", "2.0");
}

public plugin_precache()
{
g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)

for(new i = 0; i < sizeof chainsaw_sounds; i++)
precache_sound(chainsaw_sounds[i])
}

public zp_user_infected_post(id, infector)
{
if (zp_get_user_zombie_class(id) == g_zclassid1)
client_print(id, print_chat, "[ZP] You're using a chainsaw zombie class which have %s damage multiplier!", get_pcvar_float(cvar_damage))
}

public fw_EmitSound(id, channel, const sound[])
{
if(!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_survivor(id))
return FMRES_IGNORED

for(new i = 0; i < sizeof chainsaw_sounds; i++)
{
if(equal(sound, knife_sounds[i]))
{
emit_sound(id, channel, chainsaw_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}

return FMRES_IGNORED
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if (zp_get_user_nemesis(attacker) || !zp_get_user_zombie(attacker))
return HAM_IGNORED;

if (get_user_weapon(attacker) != CSW_KNIFE)
return HAM_IGNORED;

if (zp_get_user_zombie_class(attacker) == g_zclassid1)
{
damage *= get_pcvar_float(cvar_damage)
SetHamParamFloat(4, damage)
}

return HAM_SUPERCEDE
}


Отредактировал: slender8918, - 7.12.2019, 16:34


Не гоняйте пацаны - вы ещё в CS нужны..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя slender8918
сообщение 8.12.2019, 10:21
Сообщение #2


Стаж: 12 лет
Город: Москва

Сообщений: 119
Благодарностей: 15
Полезность: < 0

Изменил плагин парни, исправил проблему со звуком, но теперь почему то, когда остаётся 1 человек, он становится бессмертным.
В чём тут может быть дело? HELP.
Плагин

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <hamsandwich>

new const zclass_name[] = { "Chainsaw Zombie" }
new const zclass_info[] = { "Chainsaw Zombie Class" }
new const zclass_model[] = { "zombie_chainsaw" }
new const zclass_clawmodel[] = { "v_silent_saw.mdl" }
const zclass_health = 7800
const zclass_speed = 269
const Float:zclass_gravity = 0.9
const Float:zclass_knockback = 0.8

new g_iMaxPlayers
#define IsPlayer(%0) (1 <= %0 <= g_iMaxPlayers)


new g_zclassid1

new cvar_damage;

new const chainsaw_sounds[][] =
{
"zombie_plague/chainsaw2_miss.wav",
"zombie_plague/chainsaw1_miss.wav",
"zombie_plague/chainsaw2_miss.wav",
"zombie_plague/chainsaw1_hit.wav",
"zombie_plague/chainsaw2_hit.wav",
"zombie_plague/chainsaw1_hit.wav",
"zombie_plague/chainsaw1_miss.wav",
"zombie_plague/chainsaw2_miss.wav",
"zombie_plague/chainsaw1_hit.wav"
}

new const 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"
}

public plugin_init()
{
register_plugin("[ZP] Chainsaw", "0.1", "user")

register_forward(FM_EmitSound, "fw_EmitSound");

RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

cvar_damage = register_cvar("zp_chainsaw_damage", "999.9");
g_iMaxPlayers = get_maxplayers()
}

public plugin_precache()
{
g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)

for(new i = 0; i < sizeof chainsaw_sounds; i++)
precache_sound(chainsaw_sounds[i])
}

public zp_user_infected_post(id, infector)
{
if (zp_get_user_zombie_class(id) == g_zclassid1)
client_print(id, print_chat, "", get_pcvar_float(cvar_damage))
}

public fw_EmitSound(id, channel, const sound[])
{
if(!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_zombie_class(id) != g_zclassid1)
return FMRES_IGNORED

for(new i = 0; i < sizeof chainsaw_sounds; i++)
{
if(equal(sound, knife_sounds[i]))
{
emit_sound(id, channel, chainsaw_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}

return FMRES_IGNORED
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if (!IsPlayer(attacker) || !is_user_connected(attacker) || zp_get_user_nemesis(attacker) || !zp_get_user_zombie(attacker))
return HAM_IGNORED;

if (get_user_weapon(attacker) != CSW_KNIFE)
return HAM_IGNORED;

if (zp_get_user_zombie_class(attacker) == g_zclassid1)
{
damage *= get_pcvar_float(cvar_damage)
SetHamParamFloat(4, damage)
}

return HAM_SUPERCEDE
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Что то мне подсказывает проблема тута:
Код

cvar_damage = register_cvar("zp_chainsaw_damage", "1.0");
g_iMaxPlayers = get_maxplayers()


Отредактировал: slender8918, - 8.12.2019, 10:24


Не гоняйте пацаны - вы ещё в CS нужны..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя slender8918
сообщение 12.12.2019, 8:59
Сообщение #3


Стаж: 12 лет
Город: Москва

Сообщений: 119
Благодарностей: 15
Полезность: < 0

UP!
Скриптеры, помогите!


Не гоняйте пацаны - вы ещё в CS нужны..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: