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

funkcja random


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 berix

    Wszechwidzący

  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 20.10.2008 20:19

Mam problem ponieważ kod losuje mi mp3 po zmianie mapy zapisane w pliku kzpl_mp3.cfg
climber_finish(id)

a chciałbym aby było losowane właśnie przy uzyciu funkcji climber_finish(id)


Fragmenty kodu związany z muzyka mp3:
new soundfile[128]
new cached

public plugin_precache() 
{
	new txtlen
	new loop
	new line
	new config[64]
	get_configsdir(config, 63)
	format(config, 63, "%s/kzpl_mp3.cfg", config)
	new lines = file_size(config, 1)	

	if (file_exists(config))
	{
		while(cached != 1 && loop < 100)		
		{ 					
			line = random_num(0,lines)	
			
			read_file(config,line,soundfile,128,txtlen)
			
			if(containi(soundfile,".mp3") != -1)
			{
				if((file_exists(soundfile) == 1) && (equal(soundfile[0],";",1) != 1))
				{
					precache_generic(soundfile)
					server_print("[%s] Muzyka MP3: Caching ^"%s^".", PLUGIN_NAME, soundfile)
					cached = 1
				}
				else
				{
					server_print("[%s] Muzyka MP3: Skipping ^"%s^".", PLUGIN_NAME, soundfile)
				}
			}
			loop += 1
		}
	}
	else
	{
		write_file(config,"",-1)
	}
        return PLUGIN_CONTINUE
}

climber_finish(id) {
	if(cached == 1)
	{
		client_cmd(0, "mp3 play %s", soundfile)
		server_print("[%s] Muzyka: Playing ^"%s^".", PLUGIN_NAME, soundfile)
		if(get_cvar_num("kz_muzyka") == 1)
		{

		}
	}
	else
	{
		server_print("[%s] Muzyka: No Soundfile!!!", PLUGIN_NAME)
	}
}

  • +
  • -
  • 0

#2 wizu

    Godlike

  • Przyjaciel

Reputacja: 224
Profesjonalista

  • Postów:1 217
  • GG:
  • Lokalizacja:Sanok
Offline

Napisano 21.10.2008 11:45

Napisałeś to bardzo, ale to bardzo niezrozumiale. Nie wiem o co Ci chodzi. Przecinki naprawe pomogają w zrozumieniu tekstu.

Mam problem ponieważ kod losuje mi mp3 po zmianie mapy zapisane w pliku kzpl_mp3.cfg

Wcale nie losuj ci po zmianie mapy, tylko na początku mapy, a dokładniej w momencie sprawdzania i pobierania plików z serwera.
Ten kod:
public plugin_precache()
{
    new txtlen
    new loop
    new line
    new config[64]
    get_configsdir(config, 63)
    format(config, 63, "%s/kzpl_mp3.cfg", config)
    new lines = file_size(config, 1)   

    if (file_exists(config))
    {
        while(cached != 1 && loop < 100)       
        {                    
            line = random_num(0,lines)   
           
            read_file(config,line,soundfile,128,txtlen)
           
            if(containi(soundfile,".mp3") != -1)
            {
                if((file_exists(soundfile) == 1) && (equal(soundfile[0],";",1) != 1))
                {
                    precache_generic(soundfile)
                    server_print("[%s] Muzyka MP3: Caching ^"%s^".", PLUGIN_NAME, soundfile)
                    cached = 1
                }
                else
                {
                    server_print("[%s] Muzyka MP3: Skipping ^"%s^".", PLUGIN_NAME, soundfile)
                }
            }
            loop += 1
        }
    }
    else
    {
        write_file(config,"",-1)
    }
        return PLUGIN_CONTINUE
}
Losuje jakiś plik mp3, sprawdza czy klient ma go u siebie, jeśli nie, to go ściąga. Nie wiem w sumie po co Ci przy każdym finishu inna piosenka, skoro mapkę kończy się max kilka razy.
Jednak jeżeli Ci na tym zależy, to musisz najpierw w plugin_precache zadeklarować wszystkie mp3-ki. Nie wiem ile ich masz, ale zapewne będzie dużo ściągania. I potem sobie losujesz przy finishu, którą mp3-kę odtworzyć. Moim zdaniem nie ma to sensu. Tak jak to teraz jest rozwiązane, jest chyba najlepiej.
  • +
  • -
  • 0

#3 berix

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 22.10.2008 17:41

ok mój błąd ze na końcu, ale to nie ma większego znaczenia

Nie wiem w sumie po co Ci przy każdym finishu inna piosenka, skoro mapkę kończy się max kilka razy.


i właśnie o to chodzi by po każdej fukcji climber_finish(id) była losowana muzyka.
Teraz mam tak zdeiniowane że działa za pomocą opcji :
switch(random_num(0,1))
case 0:client_cmd( 0, "sciezka")
case 1:client_cmd( 0, "sciezka")

Tylko to jest bardzo nie wygodne dla potencjalnego klienta bawiac się w źródle a chce zrobić by wystarczyło dodać wpis do jakiegoś pliku *.cfg
  • +
  • -
  • 0




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

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