• Регистрация на форуме отключена.
    Она будет открываться первого числа каждого месяца на 24 часа.

    Если необходимо - пишите админу группы Dev-CS в Telegram-чате.

Проблема звуками.

Сообщения
26
Реакции
1
Ошибка
[ 61] ultimate_sounds running
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5263
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.8.0.710-dev
Build date: 18:12:32 Jan 29 2021 (2484)
Build from: https://github.com/dreamstalker/rehlds/commit/1690200
ReGamedll
5.20.0.492-dev
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
L 02/10/2021 - 20:31:02: "max1m<148><STEAM_0:1:87716026><>" joined team "TERRORIST"
Список метамодулей
[ 1] AMX Mod X        RUN   -    amxmodx.so                  v1.9.0.5263      ini  Start ANY  
[ 2] Rechecker RUN - rechecker.so v2.5 ini ANY
[ 3] ReSemiclip RUN - resemiclip.so v2.3.9 ini ANY
[ 4] Reunion RUN - reunion.so v0.1.0.135 ini Start Never
[ 5] ReAuthCheck RUN - reauthcheck.so v0.1.6 ini Start Never
[ 6] VoiceTranscoder RUN - vtc.so v2017RC5 ini ANY
[ 7] WHBlocker RUN - whblocker.so v1.5.697 ini ANY
[ 8] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5263 pl1 ANY
[ 9] CSX RUN - csx_amxx_i386.so v1.9.0.5263 pl1 ANY
[10] ReAPI RUN - reapi_amxx_i386.so v5.19.0.210-dev pl1 ANY Never
[11] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5263 pl1 ANY ANY
[12] MySQL RUN - mysql_amxx_i386.so v1.9.0.5263 pl1 ANY ANY
[13] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5263 pl1 ANY ANY
[14] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl1 ANY Never
[15] Engine RUN - engine_amxx_i386.so v1.9.0.5263 pl1 ANY ANY
[16] Fun RUN - fun_amxx_i386.so v1.9.0.5263 pl1 ANY ANY
Список плагинов
[ 1] Free BPammo Weapons     v0.0.1       Vaqtincha         free_bpammo_wea  running  
[ 2] Replace Info Message v2.3 maeStro aka 9iky replace_info_ms running
[ 3] ScreenMaker v1.1 neygomon screen_maker.am running
[ 4] Kills Counter v0.3 serfreeman1337 kills_counter.a running
[ 5] Knife Duel with Telepo v1.2 neygomon knife_duel.amxx running
[ 6] Auto Team Balance Adva v1.5.1 Radius auto_team_balan running
[ 7] Smoke: HealthNade v0.0.4b wopox1337 Smoke_HealthNad running
[ 8] Fake Ping v1.1 MeRcyLeZZ/gyxoBk FakePing.amxx running
[ 9] Mode 2x2 v2.5re s1lent mode.amxx running
[ 10] Weapon Model + Sound R v1.2 GHW_Chronic ghw_weapon_repl running
[ 11] SpecList v1.2a SasaiLalka speclist_rus.am running
[ 12] Advanced Kill Assists v1.3c Xelson kill_assist.amx running
[ 13] Time for info v1.0 neugomon time_for_info.a running
[ 14] ultimate_sounds running
Автор плагина
Неизвестный
Версия плагина
1.0
Исходный код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define SAVE // Сохранять настройки игроков? Закомментировать для отключения

#if defined(SAVE)
#include <nvault>

#define FILE_NAME "killsounds" // название файла, в котором будут храниться настройки
#define SAVE_TYPE 2 // тип сохранения: 1 - nickname, 2 - steamid, 3 - ip

#define AUTORESET // автоматически удалять "неактивных" игроков. Закомментировать для отключения
#define AUTORESET_DAYS 30 // если авто-очистка включена, то считать игрока "неактивным", если он не посещал сервер <значение> дней

new g_nVault;
#endif

#define MAX_CLIENTS 32
#define m_LastHitGroup 75
#define m_bitsDamageType 76
#define m_pActiveItem 373
#define m_iId 43

new g_iKillCount[ MAX_CLIENTS +1 ];

new bool: g_bszFirstBlood;

new bool:g_bszSoundsEnable[MAX_CLIENTS +1];

new const SOUNDS_KILL[ ][ ] =
{
"soundkills/firstkill.wav",
"soundkills/doublekill.wav",
"soundkills/tripplekill.wav",
"soundkills/multikill.wav",
"soundkills/crazy.wav",
"soundkills/rampage.wav",
"soundkills/headshot.wav",
"soundkills/knife.wav",
"soundkills/grenade.wav"
};

public plugin_init( )
{
register_plugin( "", "", "" );

register_logevent( "LogEV_RoundStart", 2, "1=Round_Start" );

register_clcmd( "say /sounds", "Command_Sounds" );
register_clcmd( "say_team /sounds", "Command_Sounds" );

RegisterHam( Ham_Killed, "player", "CPlayer__Killed_Post", .Post = 1 );

#if defined(SAVE)
g_nVault = nvault_open(FILE_NAME);

#if defined(AUTORESET)
nvault_prune(g_nVault, 0, get_systime() - (86400 * AUTORESET_DAYS));
#endif
#endif
}

#if defined(SAVE)
public plugin_end()
nvault_close(g_nVault);

save_data(id)
{
new trackid[64];

if (!get_trackid(id, trackid, charsmax(trackid)))
return 0;

new value[2];
formatex(value, charsmax(value), "%d", g_bszSoundsEnable[id] ? 1 : 2); // патамуша nvault_get/lookup вернет "0" в случае, если ключ не найден.
nvault_set(g_nVault, trackid, value);

return 1;
}

#if AMXX_VERSION_NUM >= 183 && SAVE_TYPE == 2
load_data(id, const trackid[])
#else
load_data(id)
#endif
{
#if AMXX_VERSION_NUM >= 183 && SAVE_TYPE == 2
if (!authid_is_valid(trackid))
return 0;
#else
new trackid[72];

if (!get_trackid(id, trackid, charsmax(trackid)))
return 0;
#endif

new nResult = nvault_get(g_nVault, trackid);

if (!nResult)
return 0;

#if defined(AUTORESET)
nvault_touch(g_nVault, trackid, -1);
#endif

g_bszSoundsEnable[id] = nResult == 1 ? true : false;

return 1;
}

get_trackid(id, trackid[], len)
{
#if SAVE_TYPE == 1
get_user_name(id, trackid, len);
#endif // #elseif trabl
#if SAVE_TYPE == 2
get_user_authid(id, trackid, len);

if (!authid_is_valid(trackid))
return 0;
#endif
#if SAVE_TYPE == 3
get_user_ip(id, trackid, len, 1);
#endif
return 1;
}

#if SAVE_TYPE == 2
authid_is_valid(const authid[])
{
if (contain(authid, ":") != -1) // re Subb98
return 1;

return 0;
}
#endif
#endif // defined(SAVE)

public plugin_precache( )
{
for( new i = 0; i < sizeof SOUNDS_KILL; i++ )
engfunc( EngFunc_PrecacheSound, SOUNDS_KILL[ i ] );
}

public LogEV_RoundStart( )
{
g_bszFirstBlood = true;

for( new iPlayers = MAX_CLIENTS; iPlayers > 0; iPlayers-- )
g_iKillCount[ iPlayers ] = 0;
}

public Command_Sounds( iPlayer )
{
if( g_bszSoundsEnable[iPlayer] )
{
g_bszSoundsEnable[iPlayer] = false;

client_print( iPlayer, print_chat, "Звуки убийств отключены." );
}
else
{
g_bszSoundsEnable[iPlayer] = true;

client_print( iPlayer, print_chat, "Звуки убийств включены." );
}

#if defined(SAVE)
save_data(iPlayer);
#endif

return PLUGIN_HANDLED;
}

public CPlayer__Killed_Post( iVictim, iAttacker, iGib )
{
if( iVictim == iAttacker || !is_user_connected( iAttacker ) )
return;

if( !g_bszSoundsEnable[iAttacker] )
return;

new iBitsDamageType = get_pdata_int( iVictim, m_bitsDamageType );
new iLastHitGroup = get_pdata_int( iVictim, m_LastHitGroup );
new iActiveItem = get_pdata_cbase( iAttacker, m_pActiveItem );

if( pev_valid( iActiveItem ) != 2 )
return;

new iId = get_pdata_int( iActiveItem, m_iId, 4 );

g_iKillCount[ iAttacker ]++;

if( iLastHitGroup == HIT_HEAD )
{
if( g_bszFirstBlood )
{
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 0 ] );

g_bszFirstBlood = false;
}
else
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 6 ] );

return;
}

if( iId == CSW_KNIFE && iBitsDamageType & ( DMG_NEVERGIB | DMG_BULLET ) )
{
if( g_bszFirstBlood )
{
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 0 ] );

g_bszFirstBlood = false;
}
else
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 7 ] );

return;
}

if( ~iBitsDamageType & ( DMG_NEVERGIB | DMG_BULLET ) )
{
if( g_bszFirstBlood )
{
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 0 ] );

g_bszFirstBlood = false;
}
else
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 8 ] );

return;
}

if( g_bszFirstBlood )
{
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 0 ] );

g_bszFirstBlood = false;
}
else
{
switch( g_iKillCount[ iAttacker ] )
{
case 2: client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 1 ] );
case 3: client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 2 ] );
case 4: client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 3 ] );
case 5: client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 4 ] );
case 6:
{
client_cmd( iAttacker, "spk %s", SOUNDS_KILL[ 5 ] );

g_iKillCount[ iAttacker ] = 5;
}
}
}
}

#if defined(SAVE)
#if AMXX_VERSION_NUM >= 183 && SAVE_TYPE == 2
public client_authorized(iPlayer, const authid[])
#else
public client_authorized(iPlayer)
#endif
{
#if AMXX_VERSION_NUM >= 183 && SAVE_TYPE == 2
if (!load_data(iPlayer, authid))
#else
if (!load_data(iPlayer))
#endif
g_bszSoundsEnable[iPlayer] = true;

g_iKillCount[ iPlayer ] = 0;
}
#else
public client_authorized(iPlayer)
{
g_bszSoundsEnable[iPlayer] = true;
g_iKillCount[ iPlayer ] = 0;
}
#endif // defined(SAVE)
Добрый вечер, почему то звуки иногда есть иногда нет, когда 2 чела на сервере все норм а когда много людей через раз играют звуки.
 

Pokemoshka

pika pika
Сообщения
1,871
Реакции
1,476
Помог
30 раз(а)
Mizer, Поля заполнены неверно. Исправляйте
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу