przeczytałem cały sma, lecz w dalszym ciągu nie wiem gdzie jest odpowiedzialny ten kod który czyta linie z roudnsound.ini
hmm.. czy to może być to??
load_sound( const file[] )
{
new
// - - - - - - - - - - - - - - -
sBuffer[256],
// |
sLeft[ MAX_FILE_LENGTH ],
sRight[4],
sExt[6],
// |
eTeam;
// - - - - - - - - - - - - - - -
new fp = fopen( file, "rt" );
while( !feof( fp ) )
{
fgets( fp, sBuffer, charsmax( sBuffer ) );
trim( sBuffer );
if( !sBuffer[0] || sBuffer[0] == ';' || ( sBuffer[0] == '/' && sBuffer[1] == '/' ) )
continue;
if( sBuffer[0] != '"' || strlen( sBuffer ) < 11 )
continue;
parse( sBuffer, sLeft, charsmax( sLeft ), sRight, charsmax( sRight ) );
formatex( sExt, charsmax( sExt ), sLeft[ strlen( sLeft ) - 4 ] );
if( equali( sExt, ".mp3" ) == -1 || equali( sExt, ".wav" ) == -1 )
{
log_amx( "%L", LANG_SERVER, "ERS_LOG_UNKNOW_EXTENSION", sExt );
continue;
}
if( !file_exists( sLeft ) )
{
log_amx( "%L", LANG_SERVER, "ERS_LOG_INEXISTENT_FILE", sLeft );
continue;
}
eTeam = NULL;
if( equali( sRight, "CT" ) )
eTeam = CT;
else if( equali( sRight, "T" ) )
eTeam = T;
if( eTeam == NULL )
{
log_amx( "%L", LANG_SERVER, "ERS_LOG_NO_TEAM_SOUND", sLeft );
continue;
}
#if defined old_amxx
copy( g_sTeam_sounds[ g_nSnd[ eTeam ] ][ eTeam ], MAX_FILE_LENGTH - 1, sLeft );
#else
ArrayPushString( eTeam == CT ? g_lstSoundCT : g_lstSoundT, sLeft );
#endif
++g_nSnd[ eTeam ];
}
fclose( fp );
if( g_nSnd[ e_Team:T ] > 1 || g_nSnd[ e_Team:CT ] > 1 )
{
new iMax_t, iMax_ct;
GetPrecacheValue( iMax_t, iMax_ct );
#if defined old_amxx
UpdateArray( iMax_t, e_Team:T );
UpdateArray( iMax_ct, e_Team:CT );
#else
p_DeleteRandomItem( iMax_t , e_Team:T , g_lstSoundT );
p_DeleteRandomItem( iMax_ct, e_Team:CT, g_lstSoundCT );
#endif
}
log_amx( "---" );
#if defined _DEBUG
log_amx( "[ Loading %d CTs Sounds ]", g_nSnd[ e_team:CT ] );
#endif
#if defined old_amxx
PrecacheSounds( e_Team:CT );
#else
PrecacheSounds_n( g_lstSoundCT );
#endif
#if defined _DEBUG
log_amx( "[ Loading %d Ts Sounds ]", g_nSnd[ e_team:T ] );
#endif
#if defined old_amxx
PrecacheSounds( e_Team:T );
#else
PrecacheSounds_n( g_lstSoundT );
#endif
}