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

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

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

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

Не воспроизводит звуки

Статус пользователя HALBeC
сообщение 13.10.2014, 17:20
Сообщение #1
Стаж: 12 лет

Сообщений: 29
Благодарностей: 4
Полезность: 18

Из названия темы все должно быть ясно. Хелп)
Код:
#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >
#include < engine >
#include < zombieplague >

#define PLUGIN_AUTHOR "Bos i primes"
#define PLUGIN_NAME "[ ZP ] Surv Knife "
#define PLUGIN_VERSION "1.0"

#define FFADE_IN 0x0000
#define FFADE_STAYOUT 0x0004
#define BREAK_GLASS 0x01
#define UNIT_SECOND (1<<12)

#define MAX_CLIENTS 32

#define XTRA_OFS_WEAPON 4
#define m_pPlayer 41

#define KNIFE_V_MODEL "models/v_knife_ice.mdl"
#define KNIFE_P_MODEL "models/p_knife_ice.mdl"

#define KNIFE_SOUND_FROST "russia-serv/knife_ice_1.wav" //звук заморозки
#define KNIFE_SOUND_BREAK "russia-serv/knife_ice_2.wav" //Звук отморозки


#define KNIFE_FROST_DURATION 5.0 //Время заморозки
#define KNIFE_FROST_DAMAGE 12.0//Урон ножа
#define KNIFE_FROST_VELOCITY 340.0//Гравитация
#define KNIFE_FROST_SPEED 300.0//Скорость
#define KNIFE_FROST_KNOCK_POWER 20.0//Отдача

enum
{
SOUND_NULL,
SOUND_DRAW,
SOUND_MISS,
SOUND_STAB,
SOUND_HIT,
SOUND_HIT1,
SOUND_HIT2,
SOUND_HITWALL,

SOUND_END
}

new const g_KNIFESounds[SOUND_END][] =
{
"",
"weapons/vox/knife_ice_draw.wav",
"weapons/vox/knife_ice_miss.wav",
"weapons/vox/knife_ice_stab.wav",
"weapons/vox/knife_ice_hit_wall.wav",
"weapons/vox/knife_ice_hit_01.wav",
"weapons/vox/knife_ice_hit_02.wav",
"weapons/vox/knife_ice_hitwal.wav"
}

new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame

new Trie: g_ReplacedSounds

new g_KnifeData [MAX_CLIENTS + 1]
new g_iFrozen [ MAX_CLIENTS + 1 ]
new g_glassSpr
new g_iMaxPlayers

public plugin_precache( )
{
new i

g_ReplacedSounds = TrieCreate()

TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_deploy.wav", SOUND_DRAW)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_hit1.wav", SOUND_HIT)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_hit2.wav", SOUND_HIT1)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_hit3.wav", SOUND_HIT2)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_hit4.wav", SOUND_HIT)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_hitwal1.wav", SOUND_HITWALL)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_slash1.wav", SOUND_MISS)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_slash2.wav", SOUND_MISS)
TrieSetCell(g_ReplacedSounds, "weapons/knife_ice/knife_ice_stab.wav", SOUND_STAB)

precache_model(KNIFE_V_MODEL); precache_model(KNIFE_P_MODEL)
precache_sound(KNIFE_SOUND_FROST); precache_sound(KNIFE_SOUND_BREAK)
g_glassSpr = engfunc(EngFunc_PrecacheModel, "models/glassgibs.mdl")

for (i = SOUND_DRAW; i < SOUND_END; i++)
{
precache_sound(g_KNIFESounds[i])
}
}

public plugin_init( )
{
register_plugin
(
PLUGIN_NAME ,
PLUGIN_VERSION ,
PLUGIN_AUTHOR
);

RegisterHam( Ham_Item_Deploy, "weapon_knife", "Knife_Deploy_Post", 1)
RegisterHam( Ham_TakeDamage , "player" , "Knife_PlayerTakeDamage_Post" , 1 );
RegisterHam( Ham_Player_PreThink, "player", "Player_PreThink")
RegisterHam( Ham_TraceAttack, "player", "Knife_TraceAttack" );

register_forward(FM_EmitSound, "EmitSound")

g_iMaxPlayers = get_maxplayers( );
}

public plugin_end()
{
TrieDestroy(g_ReplacedSounds)
}

public client_disconnect(iPlayer)
{
g_KnifeData[ iPlayer ] = 0
}

public zp_user_humanized_post( iPlayer )
{
if( zp_get_user_survivor( iPlayer ) )
{
g_KnifeData[ iPlayer ] = true
}
}

public Knife_PlayerTakeDamage_Post( iVictim , iInflector, iAttacker , Float:flDamage , bitsDamageType , Float:velocity[ 3 ] )
{
if( !( 1 <= iAttacker <= g_iMaxPlayers ) )
return;

if( !is_user_alive( iAttacker ) )
return;

if( !zp_get_user_zombie( iVictim ) )
return;

if( zp_get_user_zombie( iAttacker ) )
return;

if ( !g_KnifeData[iAttacker]) return

if( get_user_weapon( iAttacker ) != CSW_KNIFE )
return

static Float:newvelocity[ 3 ]
entity_get_vector( iVictim , EV_VEC_velocity , velocity )

static Float:victim_origin[ 3 ], Float:attacker_origin[ 3 ]
entity_get_vector( iVictim , EV_VEC_origin , victim_origin )
entity_get_vector( iAttacker , EV_VEC_origin , attacker_origin )

newvelocity[ 0 ] = victim_origin[ 0 ] - attacker_origin[ 0 ]
newvelocity[ 1 ] = victim_origin[ 1 ] - attacker_origin[ 1 ]

new Float:largestnum = 0.0

if ( 0 <= floatcmp( floatabs( newvelocity[ 0 ] ) , floatabs( newvelocity[ 1 ] ) ) <= 1 )
{
if ( floatabs( newvelocity[ 0 ] ) > 0 ) largestnum = floatabs( newvelocity[ 0 ] )
}
else
{
if ( floatabs( newvelocity[ 1 ]) > 0 ) largestnum = floatabs( newvelocity[ 1 ] )
}

newvelocity[ 0 ] /= largestnum
newvelocity[ 1 ] /= largestnum

velocity[ 0 ] = newvelocity[ 0 ] * KNIFE_FROST_KNOCK_POWER * 3000 / get_distance_f( victim_origin , attacker_origin )
velocity[ 1 ] = newvelocity[ 1 ] * KNIFE_FROST_KNOCK_POWER * 3000 / get_distance_f( victim_origin , attacker_origin )

if( newvelocity[ 0 ] <= 20.0 || newvelocity[ 1 ] <= 20.0 ) newvelocity[ 2 ] = random_float( 200.0 , 275.0 )

newvelocity[ 0 ] += velocity[ 0 ]
newvelocity[ 1 ] += velocity[ 1 ]
entity_set_vector( iVictim , EV_VEC_velocity , newvelocity )

set_pdata_float( iVictim , 108 , 1.0 )

set_task( 0.1 , "frost_process" , iVictim );

return
}

public Knife_TraceAttack(const iEntity, const iAttacker, const Float: flDamage)
{
if( !( 1 <= iAttacker <= g_iMaxPlayers ) )
return;

if( !is_user_alive( iAttacker ) )
return;

if( zp_get_user_zombie( iAttacker ) )
return;

if ( !g_KnifeData[iAttacker]) return

if( get_user_weapon( iAttacker ) != CSW_KNIFE )
return

SetHamParamFloat( 3 , flDamage * KNIFE_FROST_DAMAGE );
}

public Knife_Deploy_Post(iItem)
{
new iPlayer

if (CheckItem(iItem, iPlayer))
{
if ( zp_get_user_zombie ( iPlayer ) ) return HAM_IGNORED

set_pev(iPlayer, pev_viewmodel2, KNIFE_V_MODEL)
set_pev(iPlayer, pev_weaponmodel2, KNIFE_P_MODEL)
}

return HAM_IGNORED
}

public EmitSound(iPlayer, iChannel, szSample[], Float: flVolume, Float: flAttn, iFlag, iPitch)
{
if (is_user_alive(iPlayer) && g_KnifeData[iPlayer] && !zp_get_user_zombie( iPlayer ) )
{

new iSoundType

TrieGetCell(g_ReplacedSounds, szSample, iSoundType)

if (iSoundType != SOUND_NULL)
{
emit_sound(iPlayer, iChannel, g_KNIFESounds[iSoundType], flVolume, flAttn, iFlag, iPitch)
return FMRES_SUPERCEDE
}
}

return FMRES_IGNORED
}

public frost_process(pevVictim)
{
fm_set_rendering(pevVictim, kRenderFxGlowShell, 0, 100, 200, kRenderNormal, 50)

emit_sound(pevVictim, CHAN_BODY, KNIFE_SOUND_FROST, 1.0, ATTN_NORM, 0, PITCH_NORM)

message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, pevVictim)
write_short(0)
write_short(0)
write_short(FFADE_STAYOUT)
write_byte(0)
write_byte(50)
write_byte(200)
write_byte(100)
message_end()

g_iFrozen[pevVictim] = true

set_task(KNIFE_FROST_DURATION, "remove_freeze", pevVictim)

}

public remove_freeze(pevVictim)
{
if(!is_user_alive(pevVictim) || !g_iFrozen[pevVictim])
return;

g_iFrozen[pevVictim] = false

fm_set_rendering(pevVictim)

ExecuteHamB ( Ham_Player_ResetMaxSpeed, pevVictim)

message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, pevVictim)
write_short(UNIT_SECOND)
write_short(0)
write_short(FFADE_IN)
write_byte(0)
write_byte(50)
write_byte(200)
write_byte(100)
message_end()

emit_sound(pevVictim, CHAN_BODY, KNIFE_SOUND_BREAK, 1.0, ATTN_NORM, 0, PITCH_NORM)

static origin2[3]
get_user_origin(pevVictim, origin2)

message_begin(MSG_PVS, SVC_TEMPENTITY, origin2)
write_byte(TE_BREAKMODEL)
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2] + 24)
write_coord(16)
write_coord(16)
write_coord(16)
write_coord(random_num(-50, 50))
write_coord(random_num(-50, 50))
write_coord(25)
write_byte(10)
write_short(g_glassSpr)
write_byte(10)
write_byte(25)
write_byte(BREAK_GLASS)
message_end()
}

public Player_PreThink(id)
{
if( !is_user_alive(id) )
return HAM_IGNORED

if(g_iFrozen[id])
{
set_pev(id, pev_velocity, Float:{ 0.0, 0.0, 0.0 })
set_pev(id, pev_maxspeed, 1.0)
}

if( g_KnifeData[id] && !zp_get_user_zombie( id ) )
{
static iFlags;
static iWaterlvl;
static Float: iVelocity[ 3 ]

iFlags = pev( id, pev_flags );
iWaterlvl = pev( id, pev_waterlevel );

if( get_user_weapon( id ) != CSW_KNIFE )
{
return HAM_IGNORED;
}

if ( ( ~iFlags & FL_ONGROUND ) || iFlags & FL_WATERJUMP || iWaterlvl > 1 )
{
return HAM_IGNORED;
}

if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) )
{
pev( id, pev_velocity, iVelocity )

iVelocity[ 2 ] = KNIFE_FROST_VELOCITY;

set_pev( id, pev_velocity, iVelocity )
set_pev( id, pev_gaitsequence, 6 )
}
set_pev( id, pev_maxspeed, KNIFE_FROST_SPEED )
}

return HAM_IGNORED
}

CheckItem(const iItem, &iPlayer)
{
if (pev_valid(iItem) == 2)
{
iPlayer = get_pdata_cbase(iItem, m_pPlayer, XTRA_OFS_WEAPON)

if (g_KnifeData[iPlayer] )
{
return 1
}
}
return 0
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
static Float:color[3]
color[0] = float®
color[1] = float(g)
color[2] = float(b)

set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, color)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))
}


Причина: поправлено форматирование
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя HALBeC
сообщение 14.10.2014, 11:45
Сообщение #2
Стаж: 12 лет

Сообщений: 29
Благодарностей: 4
Полезность: 18

Ну так что? Кто-нибудь может помочь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя KaJIbIBaH
сообщение 14.10.2014, 19:32
Сообщение #3


Стаж: 19 лет

Сообщений: 151
Благодарностей: 142
Полезность: 929

Уточни хоть: какие именно звуки не воспроизводятся?
У тебя одного не воспроизводятся или у всех?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HALBeC
сообщение 15.10.2014, 12:04
Сообщение #4
Стаж: 12 лет

Сообщений: 29
Благодарностей: 4
Полезность: 18

Цитата(KaJIbIBaH @ 14.10.2014, 21:32) *
Уточни хоть: какие именно звуки не воспроизводятся?
У тебя одного не воспроизводятся или у всех?

Вообще у данного ножа звуки не воспроизводятся, а берутся с последнего ножа, который был в руке до мода.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 15.10.2014, 12:13
Сообщение #5


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

HALBeC,
Используйте
Код
[pawn][/pawn]


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 19.10.2014, 16:50
Сообщение #6


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

HALBeC,
а звуки закинул в weapons/knife_ice/ ??


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HALBeC
сообщение 19.10.2014, 17:12
Сообщение #7
Стаж: 12 лет

Сообщений: 29
Благодарностей: 4
Полезность: 18

Цитата(MiXa @ 19.10.2014, 18:50) *
HALBeC,
а звуки закинул в weapons/knife_ice/ ??

Да
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HALBeC
сообщение 1.11.2014, 20:29
Сообщение #8
Стаж: 12 лет

Сообщений: 29
Благодарностей: 4
Полезность: 18

Ну что? Нет мыслей по этому поводу?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proff_q
сообщение 1.11.2014, 21:57
Сообщение #9
Стаж: 14 лет

Сообщений: 357
Благодарностей: 263
Полезность: 804

Прогони звуки через конвертер с настройками wav звука под hl
8bit, 22050 Hz, 176kb ps, mono

Отредактировал: proff_q, - 1.11.2014, 22:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: