Темы форума

End round sound

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

Re: End round sound

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

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

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

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

Зарание спасибо


Вам придется переписывать sma файл по примеру как написано в этом посте End round sound не забудте потом исправить вот эту строку
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
Сообщения: 1913
Зарегистрирован: 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
Сообщения: 1913
Зарегистрирован: 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
Сообщения: 2
Зарегистрирован: 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?
[url=https://www.sportzfuel.com/]https://www.sportzfuel.com/[/url]
Аватара пользователя
HenryNef
Сообщения: 8
Зарегистрирован: 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.
Аватара пользователя
ronaldbal
Сообщения: 1
Зарегистрирован: 11 апр 2019, 10:23
Откуда: Turkey
Контактная информация:

End round sound

Сообщение ronaldbal » 16 апр 2019, 06:32

On a listenserver, you can have the server take screenshots on round end stats automatically.
Is there something similar for linux DS? Or are there MM plugins that have this function?
If not, would it be possible to log round end stats into the DS console or into a separate stats file?
[url=https://www.winterisnotcoming.org/kas-bedding-uk/]https://www.winterisnotcoming.org[/url]
Ответить

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