Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problem z RoundSoundem - nie odtwarza wszystkich piosenek


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 michal7840

    Wszechpomocny

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:334
  • Imię:Michał
Offline

Napisano 23.04.2015 19:26

Witajcie, posiadam ten RoundSound http://amxx.pl/topic...962-roundsound/i wszystko ładnie śmiga, tylko że odtwarza mi 4-5 piosenki, a wgrane mam 12. Pluginu nie chcę zmieniać na inny bo ten jest dobry. Pomóżcie bo ludzie się skarżą że tylko kilka piosenek leci.

 

.sma pluginu:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <tutor>
#include <ColorChat>

#define PLUGIN "RoundSound"
#define VERSION "2.0 BETA"
#define AUTHOR "speedkill"

new Array:g_PathCT,
	Array:g_PathTT,
	Array:g_SoundNameCT,
	Array:g_SoundNameTT;

new bool:g_RoundSound[33],
	bool:g_ShowAds[33],
	bool:g_FirstPlay,
	bool:g_MusicPlaying;

new g_LastSong[96],
	g_Prefix[64],
	g_ShowInfo[33],
	g_ArraySize[4],
	g_Pcvar[4],
	g_ValueTeam[2],
	g_ShowType,
	g_MaxPlayers,
	g_PlaylistType,
	g_RandomMusic;

new const g_ShowNames[][]={
	"Brak",
	"Tutor",
	"Czat"
};

new const g_CvarName[][]={
	"Roundsound_ads_time",
	"Roundsound_prefix",
	"Roundsound_random_music",
	"Roundsound_show_type"
};

new const g_CvarValue[][]={
	"120",
	"RoundSound",
	"0",
	"1"
};

new const g_LangCmd[][]={
	"say /roundsound",	
	"say_team /roundsound"
};

new const g_LastLangCmd[][]={
	"say /last",
	"say_team /last"
};

enum{
	Tutor_Msg = 1,
	Chat_Msg
};

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	for(new i = 0; i < sizeof g_LangCmd; i++){
		register_clcmd(g_LangCmd[i], "ShowRsMenu");
	}
	for(new i = 0; i < sizeof g_LastLangCmd; i++){
		register_clcmd(g_LastLangCmd[i], "ShowLastSong");
	}
	register_event("SendAudio", "PlaySoundTT", "a", "2&%!MRAD_terwin");
	register_event("SendAudio", "PlaySoundCT", "a", "2&%!MRAD_ctwin");
	
	register_logevent("RoundStart", 2, "1=Round_Start");
	
	tutorInit();
	
	for(new i = 0; i < sizeof g_CvarName; i++){
		g_Pcvar[i] = register_cvar(g_CvarName[i], g_CvarValue[i]);
	}
}

public plugin_precache(){
	g_PathCT = ArrayCreate(128);
	g_PathTT = ArrayCreate(128);
	
	g_SoundNameCT = ArrayCreate(96);
	g_SoundNameTT = ArrayCreate(96);
	
	LoadSounds();
	
	tutorPrecache();
}

public plugin_cfg(){
	get_pcvar_string(g_Pcvar[1], g_Prefix, charsmax(g_Prefix));
	
	g_ShowType = get_pcvar_num(g_Pcvar[3]);
	g_RandomMusic = get_cvar_num(g_Pcvar[2]);
	
	g_MaxPlayers = get_maxplayers();
	
	set_task(get_pcvar_float(g_Pcvar[0]), "ShowAds",.flags = "b");
	
	g_ValueTeam[0] = g_ValueTeam[1] = -1;
}

public client_authorized(id){
	g_RoundSound[id] = true;
	
	g_ShowAds[id]  = true;
	
	g_ShowInfo[id] = g_ShowType;
}

public LoadSounds(){
	new g_Path[128];
	formatex(g_Path[ get_configsdir(g_Path, charsmax(g_Path)) ], charsmax(g_Path), "/RoundSound.ini");
	
	if(file_exists(g_Path)){
		new g_Line[256],
			g_SoundPath[128],
			g_Name[96],
			g_Team[3],
			g_Len;
		
		for(new i = 0; read_file(g_Path, i, g_Line, charsmax(g_Line), g_Len); i++){
			if(!g_Len || !g_Line[0] || g_Line[0] == ';'){
				continue;
			}
			parse(g_Line, g_SoundPath, charsmax(g_SoundPath), g_Name, charsmax(g_Name), g_Team, charsmax(g_Team));
			
			new g_Value = strlen(g_SoundPath) - 4;
			
			log_amx("Path: %s | Title: %s | Team: %s | Format: %s", g_SoundPath, g_Name, g_Team, g_SoundPath[ g_Value ]);
			
			if(equal(g_SoundPath[ g_Value ], ".mp3") || equal(g_SoundPath[ g_Value ], ".wav")){
				if(equal(g_SoundPath[ g_Value ], ".mp3")){
					format(g_SoundPath, charsmax(g_SoundPath), "sound/%s", g_SoundPath);
					precache_generic(g_SoundPath);
				}
				else{
					precache_sound(g_SoundPath);
				}
				
				/*	Check team	*/
				if(equal(g_Team, "CT")){
					ArrayPushString(g_PathCT, g_SoundPath);
					ArrayPushString(g_SoundNameCT, g_Name);
				
				}
				else if(equal(g_Team, "TT")){
					ArrayPushString(g_PathTT, g_SoundPath);
					ArrayPushString(g_SoundNameTT, g_Name);
				}
				log_amx("File %s has a good format", g_SoundPath);
			}
			else{
				log_amx("File %s has a bad format", g_SoundPath);
			}
		}
	}
	else{
		/*		Houston, We've Got a Problem.		*/
		set_fail_state("File RoundSound.ini not exist in configs/");
	}
	GetArraySize();
}

public GetArraySize(){
	g_ArraySize[0] = ArraySize(g_PathCT);
	g_ArraySize[1] = ArraySize(g_PathTT);
	g_ArraySize[2] = ArraySize(g_SoundNameCT);
	g_ArraySize[3] = ArraySize(g_SoundNameTT);
}

public ShowRsMenu(id){
	new g_FormatText[64];
	
	new g_Menu = menu_create("\wRoundSound ustawienia", "MenuChoose");
	
	formatex(g_FormatText, charsmax(g_FormatText), "\yRoundsound: \r[\d%s\r]", g_RoundSound[id] ? "ON" : "OFF");
	menu_additem(g_Menu, g_FormatText);
	
	menu_additem(g_Menu, "\rOdsluchaj utwory \yCT \d[\yPlaylista\d]");
	menu_additem(g_Menu, "\yOdsluchaj utwory \rTT \d[\rPlaylista\d]");
	
	formatex(g_FormatText, charsmax(g_FormatText), "\rReklamy: \y[\d%s\y]", g_ShowAds[id] ? "ON" : "OFF");
	menu_additem(g_Menu, g_FormatText);
	
	formatex(g_FormatText, charsmax(g_FormatText), "\yWyswietlanie nazwy \rutworu: \y[\d%s\y]", g_ShowNames[ g_ShowInfo[id] ]);
	menu_additem(g_Menu, g_FormatText);
	
	menu_setprop(g_Menu, MPROP_EXITNAME, "Wyjscie");
	menu_display(id, g_Menu);
}

public MenuChoose(id, g_Menu, g_Item){
	if(g_Item == MENU_EXIT){
		menu_destroy(g_Menu);
		return PLUGIN_HANDLED;
	}
	
	switch(g_Item){
		case 0:{
			g_RoundSound[id] = !g_RoundSound[id];
			ColorChat(id, TEAM_COLOR, "[%s]^x04 Roundsound:^x03 %s", g_Prefix, g_RoundSound[id] ? "wlaczony" : "wylaczony");
			
			ShowRsMenu(id);
		}
		
		case 1..2:{
			ShowPlaylist(id, g_Item);
		}
		
		case 3:{
			g_ShowAds[id] = !g_ShowAds[id];
			ColorChat(id, TEAM_COLOR, "[%s]^x04 Reklamy:^x03 %s", g_Prefix, g_ShowAds[id] ? "wlaczone" : "wylaczone");
			
			ShowRsMenu(id);

		}
		
		case 4:{
			if(g_ShowInfo[id] >= 2){
				g_ShowInfo[id] = -1;
			}
			g_ShowInfo[id]++;
			
			ShowRsMenu(id);
		}
	}
	menu_destroy(g_Menu);
	return PLUGIN_HANDLED;
}

public ShowPlaylist(id, g_Type){
	new g_FormatText[64],
		g_Name[96];
		
	formatex(g_FormatText, charsmax(g_FormatText), "Playlista \d%s", g_Type == 1 ? "CT" : "TT");
	new g_Menu = menu_create(g_FormatText, "PlaylistChoose");
	
	switch(g_Type){
		case 1:{
			for(new g_Item = 0; g_Item < g_ArraySize[2]; g_Item++){
				ArrayGetString(g_SoundNameCT, g_Item, g_Name, charsmax(g_Name));
				menu_additem(g_Menu, g_Name);
			}
		}
		case 2:{
			for(new g_Item = 0; g_Item < g_ArraySize[3]; g_Item++){
				ArrayGetString(g_SoundNameTT, g_Item, g_Name, charsmax(g_Name));
				menu_additem(g_Menu, g_Name);
			}
		}
	}
	g_PlaylistType = g_Type;
	
	menu_setprop(g_Menu, MPROP_BACKNAME, "Powrot");
	menu_setprop(g_Menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(g_Menu, MPROP_EXITNAME, "Wyjscie");
	menu_setprop(g_Menu, MPROP_NUMBER_COLOR, "\r");
	
	menu_display(id, g_Menu);
}

public PlaylistChoose(id, g_Menu, g_Item){
	if(g_Item == MENU_EXIT){
		menu_destroy(g_Menu);
		return PLUGIN_HANDLED;
	}
	
	new g_SoundPath[128];
	ArrayGetString(g_PlaylistType == 1 ? g_PathCT : g_PathTT, g_Item, g_SoundPath, charsmax(g_SoundPath));
	
	new g_Format = strlen(g_SoundPath) - 4;
	
	if(equal(g_SoundPath[ g_Format ], ".mp3")){
		client_cmd(id, "mp3 play %s", g_SoundPath);
	}
	else{
		client_cmd(id, "spk %s", g_SoundPath);
	}
	ShowPlaylist(id, g_PlaylistType);
	
	return PLUGIN_CONTINUE;
}

public ShowLastSong(id){
	if(g_FirstPlay){
		ColorChat(id, TEAM_COLOR, "[%s]^x04 Ostatni utwor:^x03 %s", g_Prefix, g_LastSong);
	}
	else{
		ColorChat(id, TEAM_COLOR, "[%s]^x04 Nie zostala odegrana zadna^x03 piosenka!", g_Prefix);
	}
}

public RoundStart(){
	g_MusicPlaying = false;
}

public PlaySoundTT(){
	CheckMusic(1);
}

public PlaySoundCT(){
	CheckMusic(2);
}

public CheckMusic(g_Type){
	if(!g_MusicPlaying){
		RandMusic(g_Type);
		g_MusicPlaying = true;
	}
}

public RandMusic(g_Type){
	if(!g_FirstPlay){
		g_FirstPlay = true;
	}
	
	new g_SoundPath[128],
		g_SoundName[128],
		g_Name[96],
		g_Format,
		g_FileFormat;
		
	
	switch(g_Type){
		case 1:{
			if(g_RandomMusic){
				g_ValueTeam[0] = random(g_ArraySize[1]);
			}
			else{
				g_ValueTeam[0]++;
				
				if(g_ValueTeam[0] >= g_ArraySize[1]){
					g_ValueTeam[0] = 0;
				}
			}
			
			ArrayGetString(g_PathTT, g_ValueTeam[0], g_SoundPath, charsmax(g_SoundPath));
			ArrayGetString(g_SoundNameTT, g_ValueTeam[0], g_Name, charsmax(g_Name));
		}
		case 2:{
			if(g_RandomMusic){
				g_ValueTeam[1] = random(g_ArraySize[0]);
			}
			else{
				g_ValueTeam[1]++;
				
				if(g_ValueTeam[1] >= g_ArraySize[0]){
					g_ValueTeam[1] = 0;
				}
			}
			
			ArrayGetString(g_PathCT, g_ValueTeam[1], g_SoundPath, charsmax(g_SoundPath));
			ArrayGetString(g_SoundNameCT, g_ValueTeam[1], g_Name, charsmax(g_Name));
		}
	}
	
	/* if(equal(g_LastSoundPath, g_SoundPath)){
		RandMusic(g_Type);
		return PLUGIN_HANDLED;
	} */
	
	copy(g_LastSong, charsmax(g_LastSong), g_Name);
	
	g_Format = strlen(g_SoundPath) - 4;
	
	if(equal(g_SoundPath[ g_Format ], ".mp3")){
		g_FileFormat = 1;
	}
	else{
		g_FileFormat = 2;
	}
	
	formatex(g_SoundName, charsmax(g_SoundName), "Teraz gramy: %s", g_Name);
	
	for(new i = 1; i <= g_MaxPlayers; i++){
		if(is_user_connected(i) && g_RoundSound[i]){
			switch(g_FileFormat){
				case 1:{
					client_cmd(i, "mp3 play %s", g_SoundPath);
				}
				case 2:{
					client_cmd(i, "spk %s", g_SoundPath);
				}
			}
			switch(g_ShowInfo[i]){
				case Tutor_Msg:{
					tutorMake(i, TUTOR_GREEN, 10.0, g_SoundName);
				}
				case Chat_Msg:{
					ColorChat(i, TEAM_COLOR, "[%s]^x04 %s", g_Prefix, g_SoundName);
				}
			}
		}
	}
	return PLUGIN_CONTINUE;
}

public ShowAds(){
	for(new i = 1; i <= g_MaxPlayers; i++){
		if(is_user_connected(i) && g_ShowAds[i]){
			switch(random(4)){
				case 0:{
					ColorChat(i, TEAM_COLOR, "[%s]^x04 Chcesz %s roundsound? Napisz^x03 /roundsound ^x04lub^x03 /rs", g_Prefix, g_RoundSound[i] ? "wylaczyc" : "wlaczyc");
				}
				case 1:{
					ColorChat(i, TEAM_COLOR, "[%s]^x04 Podobala Ci sie ostatnia piosenka, a nie pamietasz jej nazwy? Napisz^x03 /last", g_Prefix);
				}
				case 2:{
					ColorChat(i, TEAM_COLOR, "[%s]^x04 Chcesz posluchac utworow CT / TT? Napisz^x03 /roundsound ^x04lub^x03 /rs", g_Prefix);
				}
				case 3:{
					ColorChat(i, TEAM_COLOR, "[%s]^x04 Chcesz wylaczyc reklamy? Napisz^x03 /roundsound ^x04lub^x03 /rs", g_Prefix);
				}
			}
		}
	}
}

public plugin_end(){
	ArrayDestroy(g_PathCT);
	ArrayDestroy(g_PathTT);
	ArrayDestroy(g_SoundNameCT);
	ArrayDestroy(g_SoundNameTT);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/

a w amxx.cfg dopisałem:

//RoundSound

Roundsound_ads_time 120    /* Czas wyświetlania wiadomości w sekundach [ domyślnie 120 ]   */
Roundsound_prefix RoundSound      /* Prefix wiadomości dotyczących roundsounda [ domyślnie RoundSound ]   */
Roundsound_show_type 2   /* Wyświetlanie informacji o obecnym utworze [ domyślnie 1 ]  | 1 - Tutor | 2 - Chat |   */
Roundsound_random_music 1 /* Czy muzyka ma się odtwarzać losowo [ domyślnie 0 ] | 1 - Losowo | 0 - Po kolei   */

I jeszcze daje wam RoundSound.ini:

"misc/RSFFA2015/1.mp3" "Eripe & Quebonafide - Breaking Bad (prod. Foux)" "TT"
"misc/RSFFA2015/2.mp3" "Alice Deejay - Better Off Alone (M@rio & Pitey Remix)" "TT"
"misc/RSFFA2015/3.mp3" "Disclosure - You & Me ft. Eliza Doolittle (Flume Remix)" "TT"
"misc/RSFFA2015/4.mp3" "DJ Hixxy - Angel Eyes" "TT"
"misc/RSFFA2015/5.mp3" "Cash Cash feat. Bebe Rexha - Take Me Home (Slayback Remix)" "TT"
"misc/RSFFA2015/6.mp3" "DJ Kelvin feat. Duet Niebanalny - Hera, Koka, Hasz, LSD (Oski '4Fun' Remix)" "TT"
"misc/RSFFA2015/7.mp3" "MakJ vs. Lil Jon vs. Henry Fong - Let's Get Encore (Timo$ Mashup)" "TT"
"misc/RSFFA2015/8.mp3" "Najlepszy Przekaz W Miescie - Zawsze do celu" "TT"
"misc/RSFFA2015/9.mp3" "DJ Next - Summer Hit 2010" "TT"
"misc/RSFFA2015/10.mp3" "Quebonafide - Voodoo (prod. Matheo)" "TT"
"misc/RSFFA2015/11.mp3" "Ryan Hemsworth - BasedWorld" "TT"
"misc/RSFFA2015/12.mp3" "Wice Wersa Feat. Natural Dread Killaz - Bakacje" "TT"

"misc/RSFFA2015/1.mp3" "Eripe & Quebonafide - Breaking Bad (prod. Foux)" "CT"
"misc/RSFFA2015/2.mp3" "Alice Deejay - Better Off Alone (M@rio & Pitey Remix)" "CT"
"misc/RSFFA2015/3.mp3" "Disclosure - You & Me ft. Eliza Doolittle (Flume Remix)" "CT"
"misc/RSFFA2015/4.mp3" "DJ Hixxy - Angel Eyes" "CT"
"misc/RSFFA2015/5.mp3" "Cash Cash feat. Bebe Rexha - Take Me Home (Slayback Remix)" "CT"
"misc/RSFFA2015/6.mp3" "DJ Kelvin feat. Duet Niebanalny - Hera, Koka, Hasz, LSD (Oski '4Fun' Remix)" "CT"
"misc/RSFFA2015/7.mp3" "MakJ vs. Lil Jon vs. Henry Fong - Let's Get Encore (Timo$ Mashup)" "CT"
"misc/RSFFA2015/8.mp3" "Najlepszy Przekaz W Miescie - Zawsze do celu" "CT"
"misc/RSFFA2015/9.mp3" "DJ Next - Summer Hit 2010" "CT"
"misc/RSFFA2015/10.mp3" "Quebonafide - Voodoo (prod. Matheo)" "CT"
"misc/RSFFA2015/11.mp3" "Ryan Hemsworth - BasedWorld" "CT"
"misc/RSFFA2015/12.mp3" "Wice Wersa Feat. Natural Dread Killaz - Bakacje" "CT"





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych