Темы форума

End round sound

Звуковые плагины
Аватара пользователя
3aB}{o3
Сообщения: 1912
Зарегистрирован: 19 апр 2008, 06:00
Контактная информация:

Re: End round sound

Сообщение 3aB}{o3 » 19 окт 2009, 03:30

есть, всё это зделано уже. И не роботает(

Но я скачал alt_end_round_sound поставил и он роботает, вот только вопрос: у меня он играет один и тот трэк по несколько раз, как зделать чтоб другие играл?

У меня есть много нарезок для roundsound можна ли их просто добавить в директорию misc и дописать названия в файле roundsound.ini

Зарание спасибо
Вам придется переписывать sma файл по примеру как написано в этом посте [url="http://www.cs-server.org.ru/index.php?s=&showtopic=335&view=findpost&p=1554"]End round sound[/url] не забудте потом исправить вот эту строку
new rand = random_num(0,20)
число 20 говорит о том сколько у вас композиций тоесть песен нарезок как угодно если у вас всего 5 то и число 20 нужно будет сменить на 5 и откомпилировать файл sma заново
Аватара пользователя
Playboy-V
Сообщения: 10
Зарегистрирован: 18 окт 2009, 20:13
Откуда: 0

Re: End round sound

Сообщение Playboy-V » 19 окт 2009, 13:16

Вам придется переписывать sma файл по примеру как написано в этом посте End round sound не забудте потом исправить вот эту строку

Цитата

new rand = random_num(0,20)

число 20 говорит о том сколько у вас композиций тоесть песен нарезок как угодно если у вас всего 5 то и число 20 нужно будет сменить на 5 и откомпилировать файл sma заново


А зачем мне лезьти в sma? У меня там чёт нету такой строки вот посмотрите пожалуйста:

Код: Выделить всё

/* - - - - - - - - - - -



		AMX Mod X script.



		'Alternative End Round Sound' plugin.



		© Copyright 2007, Arkshine.

		This file is provided AS IS (no warranties).



		Original idea and plugin by PaintLancer.

		Orignal thread : [url="http://forums.alliedmods.net/showthread.php?t=6784"]http://forums.alliedmods.net/showthread.php?t=6784[/url]



		Description:

		- - - - - - -

			Plays random music at the end of a round according to who wins,

			instead of just "Terrorists Win" or "Counter-Terrorists Win".



		Features:

		- - - - - - -

			* Support mp3 and wav files

			* Using a file for the sounds

			* Per-map file supported

			* Per-map prefix file supported

			* Sounds can be toggle on/off by players

			* Multilingual support



		Requirements:

		- - - - - - -

			* CS 1.6 / CZ

			* AMX/X 1.7x or higher



		Cvars:

		- - - - - - -

			* ers_enabled		: <0|1> Disable/Enable this plugin. (default: 1)

			* ers_player_toggle  : <0|1> Disable/Enable the client command /roundsound (default: 1)

			* erc_time_ads	  : Times in seconds between 2 ads messages. 0 disable ads. (default: 120)



		Client commands:

		- - - - - - -

			* say /roundsound : Give to players the ability to turn on/off the end round sounds



		Changelog:

		- - - - - - -



			-> Arksine :

			

			 v3.0  - [ 2007-07-13 ] ( Major update )

			

					  - Soon. A lot of changes/new features.

			

			 v2.1a - [ 2007-07-13 ]

			

					  (!) Fixed a bug with ML system.

					  (!) Fixed a stupid glitch with formatex().

			

			 v2.1  - [ 2007-07-06 ]



					  (!) Optimize a little.

					  (!) Rewritted loading_file() function.

					  (+) Added ML system & some texts.

					  (+) Added Color in text. ( !g = green; !t = team color; !n = yellow (normal) )

					  (+) Added #_DEBUG.

					  (+) Added chat command : toggle on/off end round sounds.

					  (+) Added "ers_enabled" cvar : enable/disable plugin

					  (+) Added "ers_player_toggle" cvar : enable/disabled command chat for players

					  (+) Added ads message for chat command

					  (+) Added "erc_time_ads" cvar : control amount of times between 2 messages.

			

			 v2.0b - [ 2007-07-04 ]



					  (!) No features added. Sma reorganized a little and more.		  

			

			 v2.0a - [ 2007-06-26 ]



					  (!) Fixed. Bug under linux. Some blank lines weren't ignored. (thanks Deejay & NiLuje)

					  

			 v2.0  - [ 2007-06-26 ]



					  (!) Totaly rewritted

					  (+) Added support for mp3 files.

					  (+) Added support by file. No more to edit .sma file to add sounds.

					  (+) Added support per-map file.

					  (+) Added support per-map prefix file.



			-> Paintlancer :



			 v1.0  :  [ 2004-10-14 ]

					  First release by Paintlancer.

					  Orignal thread : [url="http://forums.alliedmods.net/showthread.php?t=6784"]http://forums.alliedmods.net/showthread.php?t=6784[/url]



		Credits:

		- - - - - - -

			* PaintLancer : Original idea and plugin.

			* Avalanche   : Inspired color chat function from gungame plugin.





	- - - - - - - - - - - */



	#include 

	#include 



	#pragma semicolon 1



	// _____________________________________________________________



			#define PLUGIN		"Alternative End Round Sound"

			#define VERSION	   "2.1a"

			#define AUTHOR		"Arkshine"

	// _____________________________________________________________







	/* ========================= [ "START" AERA FOR CHANGE ] ========================= */



		// #define _DEBUG				// Active debug



		#define MAX_SOUND		 20	 // Max Sounds by team.

		#define MAX_FILE_LENGTH   196	// Max length for files + path.



		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 CHANGE ] ========================= */







	// - - - - - - - - - - - - - - - - - - - - - - -



	#define MAX_PLAYERS 32

	#define TASKID_ADS  1333



	new

		bool:g_pHeardSound[ MAX_PLAYERS + 1 ],



		g_lstSoundCT[ MAX_SOUND ][ MAX_FILE_LENGTH ],

		g_lstSoundT [ MAX_SOUND ][ MAX_FILE_LENGTH ],



		g_nSndCT,

		g_nSndT,



		p_enabled,

		p_player_toggle,

		p_time_ads,



		g_msgSayText;



	enum

	{

		NULL = 0,

		T,

		CT

	};



	// - - - - - - - - - - - - - - - - - - - - - - -



	#define _charsmax(%1) ( sizeof( %1 ) - 1 )

	#define _is_wav(%1)   ( equali( %1[strlen( %1 ) - 4], ".wav" ) )





	public plugin_precache()

	{

		register_dictionary( "end_roundsound.txt" );

		loading_file();

	}





	public plugin_init()

	{

		register_plugin( PLUGIN, VERSION, AUTHOR );



		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" );



		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;

		show_print( 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 ) )

			{

				show_print( id, "%L", id, "ERS_CMD_DISABLED" );

				return PLUGIN_HANDLED;

			}



			g_pHeardSound[id] = g_pHeardSound[id] ? false : true;

			show_print( id, "%L", id, g_pHeardSound[id] ? "ERS_SOUND_ENABLED" : "ERS_SOUND_DISABLED" );



			return PLUGIN_HANDLED;

		}



		return PLUGIN_CONTINUE;

	}





	public eT_win()

		play_sound( T );





	public eCT_win()

		play_sound( CT );





	play_sound( iTeam )

	{

		static

	//  - - - - - - - - - - - - - - - -

			CurSnd[ MAX_FILE_LENGTH ];

	//  - - - - - - - - - - - - - - - -



		new rand  = random( iTeam == T ? g_nSndT : g_nSndCT );

		copy( CurSnd, MAX_FILE_LENGTH - 1, iTeam == T ? g_lstSoundT[rand] : g_lstSoundCT[rand] );



		_is_wav( CurSnd ) ?



			 format( CurSnd, MAX_FILE_LENGTH - 1, "spk %s", CurSnd[6] ) :

			 format( CurSnd, MAX_FILE_LENGTH - 1, "mp3 play %s", CurSnd );



		if( get_pcvar_num( p_player_toggle ) )

		{

			static

		//  - - - - - - - - - - -

				iPlayers[32],

		//	  |

				iNum,

				pid;

		//  - - - - - - - - - - -



			get_players( iPlayers, iNum, "c" );



			for( new i = 0; i < iNum; i++ )

			{

				pid = iPlayers[i];



				if( !g_pHeardSound[pid] )

					continue;



				client_cmd( pid, "%s", CurSnd );

			}

		}

		else

			client_cmd( 0, "%s", CurSnd );

	}





	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()

	{

		new

	//  - - - - - - - - - - - - -

			sConfigsDir[64],

			sPrefix[6],

	//	  |

			sMap[32];

	//  - - - - - - - - - - - - -



		get_prefix( sMap, _charsmax( sMap ), sPrefix, _charsmax( sPrefix ) );

		get_configsdir( sConfigsDir, _charsmax( sConfigsDir ) );





		new

	//  - - - - - - - - - - - - - - - -

			sPath[ MAX_FILE_LENGTH ],

	//	  |

			bool:bFound,

			iNum = 1;

	//  - - - - - - - - - - - - - - - -



		while( !bFound )

		{

			switch( iNum )

			{

				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;

			}



			bFound = bool:__file_exists( sPath );



			if( !bFound )

				++iNum;

		}



		if( !bFound )

			__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,

			iLen;

	//  - - - - - - - - - - - - - - -



		new fp = fopen( file, "rt" );



		while( !feof( fp ) )

		{

			fgets( fp, sBuffer, _charsmax( sBuffer ) );



	//   ------



			iLen = strlen( sBuffer );



			if( iLen <= 2 || sBuffer[0] == ';' )

				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_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;

			}



	//   ------



			switch( eTeam )

			{

				case T	:

				{

					formatex( g_lstSoundT[g_nSndT], MAX_FILE_LENGTH - 1, sLeft );

					g_nSndT++;



					#if defined _DEBUG

						log_amx( "%L", LANG_SERVER, "ERS_LOG_DEBUG_T", sLeft );

					#endif

				}

				case CT	:

				{

					formatex( g_lstSoundCT[g_nSndCT], MAX_FILE_LENGTH - 1, sLeft );

					g_nSndCT++;



					#if defined _DEBUG

						log_amx( "%L", LANG_SERVER, "ERS_LOG_DEBUG_CT", sLeft );

					#endif

				}

			}



	//   ------



			precache_file( sLeft );

		}



		fclose( fp );



		#if defined _DEBUG

			__log_amx( "%L", LANG_SERVER, "ERS_LOG_TOTAL_SOUND_LOADED", g_nSndT + g_nSndCT, g_nSndT, g_nSndCT );

		#endif



		log_amx( "---" );

	}





	precache_file( sound[] )

	{

		_is_wav( sound ) ?



			precache_sound( sound[6] ) :

			precache_generic( sound );

	}





	show_print( id, 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 );



		message_begin( MSG_ONE, g_msgSayText, _, id );

		write_byte( id );

		write_string( message );

		message_end();

	}





	__log_amx( sMsg[], { Float, Sql, Result, _ }:... )

	{

		new

	//  - - - - - - - - - -

			logMsg[192];

	//  - - - - - - - - - -



		vformat( logMsg, _charsmax( logMsg ), sMsg, 2 );

		log_amx( logMsg );

	}





	stock bool:__file_exists( const sFileName[] )

	{

		if( file_exists( sFileName ) )

		{

			log_amx( "---" );

			__log_amx( "%L", LANG_SERVER, "ERS_LOG_LOADING", sFileName );



			return true;

		}



		return false;

	}
И что значит
откомпилировать
?

А в этом файле у меня есть название и путь к музыке roundsound.ini, вот его содержание:

; CT Sounds

"sound/misc/ctwinnar2.wav" "CT"

"sound/misc/ctwinnar22.wav" "CT"

"sound/misc/ctwinnar23.wav" "CT"

"sound/misc/ctwinnar30.wav" "CT"



; T Sounds

"sound/misc/twinnar.wav" "T"

"sound/misc/twinnar32.wav" "T"

"sound/misc/twinnar30.wav" "T"

"sound/misc/twinnar33.wav" "T"



Counter-Strike 1.6\cstrike\addons\amxmodx\configs-тут он лежит
Последний раз редактировалось Playboy-V 19 окт 2009, 17:57, всего редактировалось 1 раз.
Аватара пользователя
3aB}{o3
Сообщения: 1912
Зарегистрирован: 19 апр 2008, 06:00
Контактная информация:

Re: End round sound

Сообщение 3aB}{o3 » 19 окт 2009, 17:49

ну значит добавте в ini новые только формата wav



а лучше юзайте этот плагин



вылаживаю sma файл :



[codebox]//RoundSound.amxx -by PaintLancer



#include



public plugin_init()

{

register_plugin("RoundSound","1.0","PaintLancer")

register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")

register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")

}



public t_win()

{

new rand = random_num(0,2)



client_cmd(0,"stopsound")



switch(rand)

{

case 0: client_cmd(0,"spk misc/twinnar")

case 1: client_cmd(0,"spk misc/twinnar2")

case 2: client_cmd(0,"spk misc/twinnar3")

}



return PLUGIN_HANDLED

}



public ct_win()

{

new rand = random_num(0,2)



client_cmd(0,"stopsound")



switch(rand)

{

case 0: client_cmd(0,"spk misc/ctwinnar2")

case 1: client_cmd(0,"spk misc/ctwinnar3")

case 2: client_cmd(0,"spk misc/ctwinnar4")

}



return PLUGIN_HANDLED

}



public plugin_precache()

{

precache_sound("misc/ctwinnar2.wav")

precache_sound("misc/ctwinnar3.wav")

precache_sound("misc/ctwinnar4.wav")

precache_sound("misc/twinnar.wav")

precache_sound("misc/twinnar2.wav")

precache_sound("misc/twinnar3.wav")



return PLUGIN_CONTINUE

}[/codebox]



капируйте в обычный текстовый файл далее сохранить как пишим навания файла roundsound.sma сохраняем и кампилируем
Последний раз редактировалось 3aB}{o3 19 окт 2009, 17:53, всего редактировалось 1 раз.
Аватара пользователя
Playboy-V
Сообщения: 10
Зарегистрирован: 18 окт 2009, 20:13
Откуда: 0

Re: End round sound

Сообщение Playboy-V » 19 окт 2009, 18:35

Что значит
кампилируем
После того как я это зделаю музыка рандум играть будет, и не важно сколько песен я добавлю в misc?
Аватара пользователя
3aB}{o3
Сообщения: 1912
Зарегистрирован: 19 апр 2008, 06:00
Контактная информация:

Re: End round sound

Сообщение 3aB}{o3 » 19 окт 2009, 19:08

[quote name='Playboy-V' post='1622' date='19.10.2009, 18:35']Что значит

После того как я это зделаю музыка рандум играть будет, и не важно сколько песен я добавлю в misc?[/quote]



new rand = random_num(0,2) число 2 меняем на о количество нарезок которые вы будите добавлять !



и добавляем названия песен



//RoundSound.amxx -by PaintLancer



#include



public plugin_init()

{

register_plugin("RoundSound","1.0","PaintLancer")

register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")

register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")

}



public t_win()

{

new rand = random_num(0,2)//СДЕСЬ КОЛИЧЕСТВО ПЕСЕН ОТ 0 ДО ВАШЕ ЧИСЛО ЕСЛИ НАПРИМЕР У ВАС 20 ТО ПИШИМ (0,20)



client_cmd(0,"stopsound")



switch(rand)

{

case 0: client_cmd(0,"spk misc/twinnar") //СДЕСЬ НАРЕЗКИ ДЛЯ T

case 1: client_cmd(0,"spk misc/twinnar2")

case 2: client_cmd(0,"spk misc/twinnar3")


}



return PLUGIN_HANDLED

}



public ct_win()

{

new rand = random_num(0,2) //СДЕСЬ КОЛИЧЕСТВО ПЕСЕН ОТ 0 ДО ВАШЕ ЧИСЛО ЕСЛИ НАПРИМЕР У ВАС 20 ТО ПИШИМ (0,20)



client_cmd(0,"stopsound")



switch(rand)

{

case 0: client_cmd(0,"spk misc/ctwinnar2") //СДЕСЬ НАРЕЗКИ ДЛЯ CT

case 1: client_cmd(0,"spk misc/ctwinnar3")

case 2: client_cmd(0,"spk misc/ctwinnar4")


}



return PLUGIN_HANDLED

}



public plugin_precache()

{

precache_sound("misc/ctwinnar2.wav") // СДЕСЬ ОБЩИЕ НАЗВАНИЯ ВСЕХ ПЕСЕН

precache_sound("misc/ctwinnar3.wav")

precache_sound("misc/ctwinnar4.wav")

precache_sound("misc/twinnar.wav")

precache_sound("misc/twinnar2.wav")

precache_sound("misc/twinnar3.wav")



return PLUGIN_CONTINUE

}
Последний раз редактировалось 3aB}{o3 19 окт 2009, 19:14, всего редактировалось 1 раз.
Аватара пользователя
Playboy-V
Сообщения: 10
Зарегистрирован: 18 окт 2009, 20:13
Откуда: 0

Re: End round sound

Сообщение Playboy-V » 19 окт 2009, 20:24

Спасибо. Ещё вопрос а можно как то зделать чтоб когда ко мне заходят на серв у них не грузилась музыка, а то долго грузит?
Аватара пользователя
TimothyheerI
Сообщения: 1
Зарегистрирован: 09 фев 2019, 10:02
Откуда: Denmark
Контактная информация:

End round sound

Сообщение TimothyheerI » 12 фев 2019, 13:03

Thank you so much, very good plugin, and the random is working well. I never heard same sound till end list not ended.
But I have two mp3 files I do not hear, any idea?
Аватара пользователя
HenryNef
Сообщения: 5
Зарегистрирован: 06 мар 2019, 21:02
Откуда: Sri Lanka
Контактная информация:

End round sound

Сообщение HenryNef » 13 мар 2019, 19:48

Nice I missed it, scanned the book for end of round stuff, but didnt think of checking the card clarifications.
Ответить

Вернуться в «Sound»