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
Modyfikacja

Prośba o optymalizcje kodu

Modyfikacja

  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 17.11.2009 20:47

Witam, prosił bym o optymalizacje kodu :)

#include <amxmodx>
#include <amxmisc>

new gFiles[300][128]
new gCount=0
new cSoundsDir[] = "sound/roundsound/tt/"
new gFiles2[300][128]
new gCount2=0
new cSoundsDir2[] = "sound/roundsound/ct/"


public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("SendAudio", "TT_win" , "a", "2&%!MRAD_terwin" );
	register_event("SendAudio", "CT_win", "a", "2&%!MRAD_ctwin"  );
}

public TT_win()
{
	if(gCount>0)
	{
		new rand = random_num(0,gCount-1)
		client_cmd(0,"stopsound")
		new cleanFile[128]
		format(cleanFile, 128, "%s", gFiles[rand])
		replace_all(cleanFile, 128, "_", " ")
		replace_all(cleanFile, 128, ".mp3", "")
		set_hudmessage(255, 0, 0, 0.11, 0.11, 0, 6.0, 12.0)
		show_hudmessage(0, "%s",cleanFile)
		play_any_sound(gFiles[rand])
	}
	return PLUGIN_HANDLED
}

public CT_win()
{
	if(gCount2>0)
	{
		new rand2 = random_num(0,gCount2-1)
		client_cmd(0,"stopsound")
		new cleanFile2[128]
		format(cleanFile2, 128, "%s", gFiles2[rand2])
		replace_all(cleanFile2, 128, "_", " ")
		replace_all(cleanFile2, 128, ".mp3", "")
		set_hudmessage(255, 0, 0, 0.11, 0.11, 0, 6.0, 12.0)
		show_hudmessage(0, "%s",cleanFile2)
		play_any_sound(gFiles2[rand2])
	}
	return PLUGIN_HANDLED
}

public play_any_sound(sound[])
{
	new is_mpeg = ( containi(sound, ".mp3") != -1 )
	if ( is_mpeg )
	client_cmd(0, "mp3 play ^"%s%s^"", cSoundsDir, sound)
	else
	client_cmd(0, "spk ^"%s%s^"", cSoundsDir, sound)
	if ( is_mpeg )
	client_cmd(0, "mp3 play ^"%s%s^"", cSoundsDir2, sound)
	else
	client_cmd(0, "spk ^"%s%s^"", cSoundsDir2, sound)
}

public plugin_precache()
{
	new rsFile[128],s[128],i
	get_configsdir(rsFile, 128)
	format(rsFile, 128 ,"%s/roundsound/tt.ini", rsFile)
	i=fopen(rsFile,"rt")
	gCount=0
	if(i==0)
	{
		log_amx("Blad ladowania pliku konfiguracyjnego! [%s]", rsFile)
	}
	else
	{
		while (!feof(i))
		{
			fgets(i,s,128)
			trim(s)
			if(s[0]!=0)
			{
				log_amx("Laduje [%s]", s);
				copy(gFiles[gCount], 128, s)
				gCount++
			}
		}
		fclose(i)
	}
	for(i=0;i<gCount;i++)
	{
		format(s, 200, "%s%s", cSoundsDir, gFiles[i])
		precache_generic(s)
	}
	log_amx("Zaladowane Pliki: %d", gCount)
	
	new rsFile2[128],a[128],b
	get_configsdir(rsFile2, 128)
	format(rsFile2, 128 ,"%s/roundsound/ct.ini", rsFile2)
	b=fopen(rsFile2,"rt")
	gCount2=0
	if(b==0)
	{
		log_amx("Blad ladowania pliku konfiguracyjnego! [%s]", rsFile2)
	} 
	else
	{
		while (!feof(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />)
		{
			fgets(b,a,128)
			trim(a)
			if(s[0]!=0)
			{
				log_amx("Laduje [%s]", a);
				copy(gFiles2[gCount2], 128, a)
				gCount2++
			}
		}
		fclose(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
	}
	for(b=0;b<gCount2;b++)
	{
		format(a, 200, "%s%s", cSoundsDir2, gFiles2[b])
		precache_generic(a)
	}
	log_amx("Zaladowane Pliki: %d", gCount2)
	return PLUGIN_CONTINUE
}

  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 17.11.2009 21:11

new is_mpeg = ( containi(sound, ".mp3") != -1 ) 
    if ( is_mpeg ) 
    client_cmd(0, "mp3 play ^"%s%s^"", cSoundsDir, sound) 
    else 
    client_cmd(0, "spk ^"%s%s^"", cSoundsDir, sound) 
    if ( is_mpeg ) 
    client_cmd(0, "mp3 play ^"%s%s^"", cSoundsDir2, sound) 
    else 
    client_cmd(0, "spk ^"%s%s^"", cSoundsDir2, sound)

Nie beda ci sie przypadkiem nakladac 2 piosenki na raz? Poza tym pod 1 if'em mozesz dac wiecej kodu, a nie dawac 2x zapytania o to samo...
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

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

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