.mp3 sukonfiguravimas
.mp3 sukonfiguravimas
Sveiki, kaip ir per kur sukonfiguruoti .mp3 failus, kad grotų per cs? Ten bitrate ar ką reik pakeist?
Re: .mp3 sukonfiguravimas
bitrate tai yra kokybe, didziausia man rodos pagal standarta 320, aisku yra ir daugiau taip pat kylant kokybei dideja ir failo apimtis, tai nieko nekeicia, yra komanda kaip mp3 play kuri siunciama zaidejui su kintamuoju kintamasis yra dainos direktorija su pacia daina.Koti wrote:Sveiki, kaip ir per kur sukonfiguruoti .mp3 failus, kad grotų per cs? Ten bitrate ar ką reik pakeist?
Re: .mp3 sukonfiguravimas
Bet kuomet įmetu savo apkarpytas dainas, jos negroja. Pluginas gerai sukonfiguruotas, errorų nėr.
Re: .mp3 sukonfiguravimas
numesk plugino .sma (source)Koti wrote:Bet kuomet įmetu savo apkarpytas dainas, jos negroja. Pluginas gerai sukonfiguruotas, errorų nėr.
Re: .mp3 sukonfiguravimas
Code: Select all
Credits: - - - - - - - * PaintLancer : Original idea and plugin. * Avalanche : Inspired color chat function from gungame plugin. * Arion : Random precache idea. * Languages translation : - [fr] : Arkshine - [de] : Mordekay - [es] : Darkless - - - - - - - - - - - */ #include <amxmodx> #include <amxmisc> new const // _________________________________________________ PLUGIN [] = "Alternative End Round Sounds", VERSION[] = "2.3b", AUTHOR [] = "Arkshine"; // _________________________________________________ #if AMXX_VERSION_NUM < 180 #define old_amxx #endif /* ========================= [ "START" AERA FOR CHANGES ] ========================= */ #define _DEBUG // Active debug #define MAX_FILE_LENGTH 196 // Max length for files + path. #if defined old_amxx #define MAX_SOUNDS 25 // Max sounds per team #endif new const g_FileName[] = "roundsound", // Name of the main file if no files is found in 'g_FileFolder'. g_FileFolder[] = "round_sound", // Name of the directory in amxmodx/configs/ for per-map files. g_FilePrefix[] = "ini", // File extension used for the files. g_CmdChat[] = "/roundsound"; // Chat command for player. /* ========================= [ "END" AERA FOR CHANGES ] ========================= */ // - - - - - - - - - - - - - - - - - - - - - - - #define MAX_PLAYERS 32 #define TASKID_ADS 1333 #define SIZE_FILE 0 #define NULL -1 new bool:g_pHeardSound[ MAX_PLAYERS + 1 ], #if !defined old_amxx Array:g_lstSoundCT, Array:g_lstSoundT, #endif p_enabled, p_player_toggle, p_time_ads, p_random_precache, g_sRp_value[12], g_msgSayText; enum _:e_Team { T = 0, CT, }; new g_nSnd[ e_Team ]; #if defined old_amxx new g_sTeam_sounds[ MAX_SOUNDS ][ e_Team ][ MAX_FILE_LENGTH ]; #define charsmax(%1) sizeof( %1 ) - 1 #endif #define _is_wav(%1) equali( %1[strlen( %1 ) - 4 ], ".wav" ) // - - - - - - - - - - - - - - - - - - - - - - - public plugin_precache() { register_dictionary( "end_roundsound.txt" ); if( ( p_random_precache = get_cvar_pointer( "erc_random_precache" ) ) ) get_pcvar_string( p_random_precache, g_sRp_value, charsmax( g_sRp_value ) ); if( !p_random_precache ) return; #if !defined old_amxx g_lstSoundCT = ArrayCreate( MAX_FILE_LENGTH ); g_lstSoundT = ArrayCreate( MAX_FILE_LENGTH ); #endif loading_file(); } public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ); register_cvar( "ers_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); register_event( "SendAudio", "eT_win" , "a", "2&%!MRAD_terwin" ); register_event( "SendAudio", "eCT_win", "a", "2&%!MRAD_ctwin" ); p_enabled = register_cvar( "ers_enabled" , "1" ); p_player_toggle = register_cvar( "ers_player_toggle" , "1" ); p_time_ads = register_cvar( "erc_time_ads" , "120" ); if( !p_random_precache ) { register_cvar( "erc_random_precache", g_sRp_value ); server_cmd( "restart" ); } register_clcmd( "say" , "cmd_Say" ); register_clcmd( "say_team" , "cmd_Say" ); g_msgSayText = get_user_msgid( "SayText" ); } public client_authorized( id ) g_pHeardSound[id] = true; public client_disconnect( id ) { g_pHeardSound[id] = true; remove_task( id + TASKID_ADS ); } public client_putinserver( id ) { new Float:time = get_pcvar_float( p_time_ads ); if( !time ) return; remove_task( id + TASKID_ADS ); set_task( time, "show_ads", id + TASKID_ADS, _, _, "b" ); } public show_ads( taskid ) { new id = taskid - TASKID_ADS; ShowPrint( id, "%L", id, "ERS_DISPLAY_ADS", g_CmdChat ); } public cmd_Say( id ) { if( !get_pcvar_num( p_enabled ) ) return PLUGIN_CONTINUE; static sMsg[64]; read_argv( 1, sMsg, charsmax( sMsg ) ); if( equali( sMsg, g_CmdChat ) ) { if( !get_pcvar_num( p_player_toggle ) ) { ShowPrint( id, "%L", id, "ERS_CMD_DISABLED" ); return PLUGIN_HANDLED; } g_pHeardSound[id] = g_pHeardSound[id] ? false : true; ShowPrint( id, "%L", id, g_pHeardSound[id] ? "ERS_SOUND_ENABLED" : "ERS_SOUND_DISABLED" ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public eT_win() { if( !g_nSnd[ e_Team:T ] ) return; play_sound( e_Team:T ); } public eCT_win() { if( !g_nSnd[ e_Team:CT ] ) return; play_sound( e_Team:CT ); } play_sound( iTeam ) { static // - - - - - - - - - - - - - - - - sCurSnd[ MAX_FILE_LENGTH ]; // - - - - - - - - - - - - - - - - new iRand; if( g_nSnd[ iTeam ] > 1 ) iRand = random( g_nSnd[ iTeam ] ); #if defined old_amxx copy( sCurSnd, MAX_FILE_LENGTH - 1, g_sTeam_sounds[ iRand ][ iTeam ] ); #else ArrayGetString( iTeam == CT ? g_lstSoundCT : g_lstSoundT, iRand, sCurSnd, MAX_FILE_LENGTH - 1 ); #endif _is_wav( sCurSnd ) ? format( sCurSnd, MAX_FILE_LENGTH - 1, "spk %s", sCurSnd[6] ) : format( sCurSnd, MAX_FILE_LENGTH - 1, "mp3 play %s", sCurSnd ); if( get_pcvar_num( p_player_toggle ) ) { static // - - - - - - - - - - - iPlayers[32], iNum, pid; // - - - - - - - - - - - get_players( iPlayers, iNum, "c" ); for( new i; i < iNum; i++ ) { pid = iPlayers[i]; if( !g_pHeardSound[pid] || is_user_bot( pid ) ) continue; client_cmd( pid, "%s", sCurSnd ); } } else client_cmd( 0, "%s", sCurSnd ); } get_prefix( sMap[], iLen_map, sMapType[], iLen_type ) { new // - - - - - - - - - sRest[32]; // - - - - - - - - - get_mapname( sMap, iLen_map ); strtok( sMap, sMapType, iLen_type, sRest, charsmax( sRest ), '_', 1 ); } loading_file() { static // - - - - - - - - - - - - - - - - - sPath[ MAX_FILE_LENGTH ], // | sConfigsDir[64], sPrefix[6], sMap[32]; // - - - - - - - - - - - - - - - - - get_prefix( sMap, charsmax( sMap ), sPrefix, charsmax( sPrefix ) ); get_configsdir( sConfigsDir, charsmax( sConfigsDir ) ); new bool:bFound; for( new i = 1; i <= 3; i++ ) { switch( i ) { case 1 : formatex( sPath, charsmax( sPath ), "%s/%s/prefix-%s.%s", sConfigsDir, g_FileFolder, sPrefix, g_FilePrefix ); case 2 : formatex( sPath, charsmax( sPath ), "%s/%s/%s.%s", sConfigsDir, g_FileFolder, sMap, g_FilePrefix ); case 3 : formatex( sPath, charsmax( sPath ), "%s/%s.%s", sConfigsDir, g_FileName, g_FilePrefix ); default : break; } if( !CheckFile( sPath ) ) continue; bFound = true; break; } log_amx( "---" ); bFound ? log_amx( "%L", LANG_SERVER, "ERS_LOG_LOADING", sPath ) : log_amx( "%L", LANG_SERVER, "ERS_LOG_NO_FILES_FOUND" ); load_sound( sPath ); } 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 } GetPrecacheValue( &iMax_t, &iMax_ct ) { trim( g_sRp_value ); new pos = contain( g_sRp_value, "-" ); if( pos > 0 ) { iMax_ct = str_to_num( g_sRp_value[ pos + 1 ] ) g_sRp_value[ pos ] = '^0'; iMax_t = str_to_num( g_sRp_value ); } else { iMax_t = str_to_num( g_sRp_value ); iMax_ct = iMax_t; } } stock UpdateArray( iMax, iTeam ) { new const iCnt_sound = g_nSnd[ iTeam ]; if( !iMax || iMax == iCnt_sound ) return; if( iMax >= iCnt_sound ) iMax = iCnt_sound - 1; static sTmp_sounds[ MAX_SOUNDS ][ e_Team ][ MAX_FILE_LENGTH ], iLast_number[ MAX_SOUNDS ]; new i, iRand; for( i = 0; i < iCnt_sound; i++ ) { copy( sTmp_sounds[i][ iTeam ], MAX_FILE_LENGTH - 1, g_sTeam_sounds[i][ iTeam ] ); g_sTeam_sounds[i][ iTeam ][0] = '^0'; } arrayset( iLast_number, 0, charsmax( iLast_number ) ); i = 0; while( i != iMax ) { check: iRand = random( iCnt_sound ); if( iLast_number[ iRand ] ) goto check; copy( g_sTeam_sounds[i][ iTeam ], MAX_FILE_LENGTH - 1, sTmp_sounds[ iRand ][ iTeam ] ); ++i; iLast_number[ iRand ] = 1; } g_nSnd[ iTeam ] = iMax; } stock p_DeleteRandomItem( iMax, iTeam, Array:sSound_a ) { new const iCnt_sound = g_nSnd[ iTeam ]; if( !iMax || iMax == iCnt_sound ) return; if( iMax >= iCnt_sound ) iMax = iCnt_sound - 1; DeleteRandomItem( iCnt_sound - iMax, sSound_a ); g_nSnd[ iTeam ] = iMax; } stock DeleteRandomItem( iRandom_n, Array:sSound_a ) { new i; while( i++ != iRandom_n ) ArrayDeleteItem( sSound_a, random( ArraySize( sSound_a ) ) ); } stock PrecacheSounds( iTeam ) { for( new i; i < g_nSnd[ iTeam ]; i++ ) { PrecacheFile( g_sTeam_sounds[i][ iTeam ] ); #if defined _DEBUG log_amx( " - %s", g_sTeam_sounds[i][ iTeam ] ); #endif } log_amx( "---" ); } stock PrecacheSounds_n( Array:sSound_a ) { static // - - - - - - - - - - - - - - - - - - - sFile[ MAX_FILE_LENGTH ], iFileLen = charsmax( sFile ); // - - - - - - - - - - - - - - - - - - - for( new i; i < ArraySize( sSound_a ); i++ ) { ArrayGetString( sSound_a, i, sFile, iFileLen ); PrecacheFile( sFile ); #if defined _DEBUG log_amx( " - %s", sFile ); #endif } log_amx( "---" ); } PrecacheFile( const sound[] ) { _is_wav( sound ) ? precache_sound( sound[6] ) : precache_generic( sound ); } ShowPrint( id, const sMsg[], { Float, Sql, Result, _ }:... ) { static // - - - - - - - - - newMsg[191], message[191], // | tNewMsg; // - - - - - - - - - tNewMsg = charsmax( newMsg ); vformat( newMsg, tNewMsg, sMsg, 3 ); replace_all( newMsg, tNewMsg, "!t", "^3" ); replace_all( newMsg, tNewMsg, "!g", "^4" ); replace_all( newMsg, tNewMsg, "!n", "^1" ); formatex( message, charsmax( message ), "^4[ERS]^1 %s", newMsg ); emessage_begin( MSG_ONE, g_msgSayText, _, id ); ewrite_byte( id ); ewrite_string( message ); emessage_end(); } bool:CheckFile( const file[] ) { new // - - - - - - - - - - - - - - - - - sBuffer[256], fp = fopen( file, "rt" ); // - - - - - - - - - - - - - - - - - if( !fp ) return false; while( !feof( fp ) ) { fgets( fp, sBuffer, charsmax( sBuffer ) ); trim( sBuffer ); if( !sBuffer[0] || sBuffer[0] == ';' || ( sBuffer[0] == '/' && sBuffer[1] == '/' ) || sBuffer[0] != '"' ) continue; if( ( contain( sBuffer, ".mp3^"" ) != -1 || contain( sBuffer, ".wav^"" ) != -1 ) && ( contain( sBuffer, "^"T^"" ) != -1 || contain( sBuffer, "^"CT^"" ) != -1 ) ) return true; } fclose( fp ); return false; }
Re: .mp3 sukonfiguravimas
viska surasiai teisingai kaip plugino autorius nurode? nes sitas pluginas taip pat palaiko .wav kuris naudoja komanda spk
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: .mp3 sukonfiguravimas
Nepamenu kurį ten kodeką reik naudot. Geriausia konvertuoti ir žiūrėti kuris tiks. O kad patikrinti ar veikia, tai įmeti failą į cs direktoriją sounds ir rašai:
mp3 play failas
Jei groja, tai viskas ok.
mp3 play failas
Jei groja, tai viskas ok.
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: .mp3 sukonfiguravimas
Taip, viską surašęs teisingai. Mano muzikų formatas .mp3Tetusis wrote:viska surasiai teisingai kaip plugino autorius nurode? nes sitas pluginas taip pat palaiko .wav kuris naudoja komanda spk
Čia tą mp3 play failas į konsolę vest, ar kur?aaarnas wrote:Nepamenu kurį ten kodeką reik naudot. Geriausia konvertuoti ir žiūrėti kuris tiks. O kad patikrinti ar veikia, tai įmeti failą į cs direktoriją sounds ir rašai:
mp3 play failas
Jei groja, tai viskas ok.
Last edited by Koti on 2012 Nov 22 19:04, edited 1 time in total.
Re: .mp3 sukonfiguravimas
mp3 play /cstrike/sounds/tavokazkas/blablabla.mp3 , nepamirsk ten tureti to failo, suvesk tai savo zaidimo konsolejeKoti wrote:Taip, viską surašęs teisingai. Mano muzikų formatas .mp3Tetusis wrote:viska surasiai teisingai kaip plugino autorius nurode? nes sitas pluginas taip pat palaiko .wav kuris naudoja komanda spkČia tą mp3 play failas į konsolę vest, ar kur?aaarnas wrote:Nepamenu kurį ten kodeką reik naudot. Geriausia konvertuoti ir žiūrėti kuris tiks. O kad patikrinti ar veikia, tai įmeti failą į cs direktoriją sounds ir rašai:
mp3 play failas
Jei groja, tai viskas ok.
- rotosas
- Gana aktyvus vartotojas
- Posts: 225
- Joined: 2011 Mar 19 18:56
- Skype: rotosas
- Location: Vilnius
Re: .mp3 sukonfiguravimas
Arba
lygtais irgi turėtų veikt.
Code: Select all
play mp3 failas


Jei padėjau, nepagailėk ir nepatingėk paspaust +KARMA.

Who is online
Users browsing this forum: No registered users and 0 guests