Jump to content

návod Návod na LEHKÉ RÁDIO !


Denonymous

Recommended Posts

Návod na radio

Ahoj, úplně nechápu jak někdo "složitě" dělá rádio systém. Já upřednostňuju spíš lehčí se stejnými funkcemi. :)

 

Omluvte mě to, je to můj první návod, chci si to zkusit, díky :). Umím toho více, ale 1 návod. :d

 

Obtížnost:  :2: (Jak pro koho, pro úplné začátečníky takhle, pro trochu víc znalce nejlehčí)

 

Začneme že si uděláme příkaz, že se bude dialog zobrazovat.

 

Do publicu OnPlayerCommandText si dáme:

 

 

if (strcmp("/radio", cmdtext, true, 10) == 0)

{
ShowPlayerDialog(playerid, 999,  DIALOG_STYLE_LIST,  "Radio", "Radio 1\nRadio 2\nRadio 3", "Pustit", "Zavřít");
return 1;
}

 

 

Vysvětlení: 

 

playerid <-- Znamená to, že dialog se zobrazí tomu hráči, který příkaz napsal.

 

999 <-- ID DIALOGU, pokud by bylo více dialogů se stejným ID, bugovali by se ve hře. :)

 

DIALOG_STYLE_LIST <-- Znamená jakým stylem bude dialog vypadat.

 

\n <-- Další řádek v dialogu.

 

 

Teď si uděláme to, CO dialog bude vlastně dělat, co se stane když hráč klikne z výběru.

 

public OnDialogResponse

 

if(dialogid == 999) //<--- DIALOG ID 999 JAKO JSME SI DÁVALI PŘED CHVÍLÍ.
{                                 // <--- OTEVŘEME SI CELÉ TOTO
   if(response)             //<--- KDYŽ HRÁČ KLIKNE..
   {
    switch(listitem)  //<--- CO SE STANE (VÝBĚR Z DIALOGU)
            {
                case 1: PlayAudioStreamForPlayer(playerid, "URL (MUSÍ KONČIT PŘÍPONOU .MP3)");
                case 2: PlayAudioStreamForPlayer(playerid, "URL (MUSÍ KONČIT PŘÍPONOU .MP3)");
                case 3: PlayAudioStreamForPlayer(playerid, "URL (MUSÍ KONČIT PŘÍPONOU .MP3)");
                }                                                  // <--- ZAVŘEME SI TO
}
return 1;
}
return 0; // <--- ÚPLNÉ ZAVŘENÍ FUNKCE
}

 

Příklad URL:

 

               
                case 0: PlayAudioStreamForPlayer(playerid, "http://icecast3.play.cz/evropa2-128.mp3");
                case 1: PlayAudioStreamForPlayer(playerid, "http://icecast1.play.cz/kisshady256.mp3");
                case 2: PlayAudioStreamForPlayer(playerid, "http://icecast5.play.cz/impuls128.mp3");

 

 

1. Evropa 2 CZ

2. KissHády

3. Impuls

 

A u těch CASŮ se začíná vždycky od 0 :) 

 

Takhle máme RÁDIO úplně lehce, akorát teda tam nejsou posluchači, to si myslím, že je zbytečné   

Tímto končím .. Ahoj. :d

Beru i kritiku, jelikož teda je to můj první návod, a tak budu rád, když budu vědět co zlepšit   :) :) :)

Edited by Denonymous
Link to comment
Share on other sites

  • Hlavní moderátor

Co říct, příští návod bych, být na tvém místě, psal, až za sebou budeš mít nějaké zkušenosti. Je vidět snaha o vysvětlení jednotlivých úseků v kódu, ale také se tam ukazuje tvá neznalost.
 
Ze začátku jsi vysvětlil, co dělá funkce ShowPlayerDialog, ale pro tento návod klíčovou funkci PlayAudioStreamForPlayer jsi naproti tomu úplně zazdil. MP3 není jediná podporovaná přípona.

 

//

Toto je celkem zajímavá, vševypovídající věta. :d U tohoto a podobných výpovědí jsem narážel na tu neznalost. To u toho přepínače a returnu je to podobné.
 

A u těch CASŮ se začíná vždycky od 0 :)

Ne nezbytně. Mohou tam být různé hodnoty, 3, 77, -2, rozsah (2..5), rozsah ASCII znaků ('a'..'z')... Chtělo by to upřesnit, že u položek dialogů se začíná od nuly. Lze si to totiž interpretovat i tak, že to musí být vždycky, za každé okolnosti, od nuly.

 

Sám si nejprve pročti návody o základních strukturách v programování (proměnné, funkce, cykly, podmínky apod.), možná si zkus jeden dva scripty, pak se teprve pouštěj do návodů, i když jsou jen pro začátečníky (o to by totiž měly být přesnější). Hodně štěstí.

Link to comment
Share on other sites

~> Já tedy mám trochu jinou představu o lehkém rádio systému:

 

 

 

ZAPNUTÍ RÁDIA

new
	sRadio_URL[4][44] = {
	"http://icecast3.play.cz/evropa2-128.mp3.m3u", "http://ice.abradio.cz:8000/fajn128.mp3",
	"http://icecast5.play.cz/rockzone128.mp3", "http://ice.abradio.cz/blanikfm128.mp3"
},
	sRadio_Name[4][11] = {
		"evropa2", "fajnradio", "rockzone", "blanik"
};

public
	OnPlayerCommandText(playerid, cmdtext[]) {

	if (cmdtext[1]) {

		for(new iRadia; iRadia < 4; iRadia++) {

			if (!strcmp(cmdtext[1], sRadio_Name[iRadia], true)) {

				PlayAudioStreamForPlayer(playerid, sRadio_URL[iRadia]);
				SendClientMessage(playerid, -1, "Úspěšně jste si spustil rádio");
				return (true);
			}
		}
	}
	return (false);
}
SEZNAM RÁDIÍ

	if (!strcmp("/radia", cmdtext)) {

		new 
			sString[145];
		for(new iRadia; iRadia < 4; iRadia++) {

			format(sString, sizeof(sString), "%s", sRadio_Name[iRadia]);
			SendClientMessage(playerid, -1, sString);
		}
		return (true);
	}
VYPNUTÍ RÁDIA

	if (!strcmp("/stop", cmdtext)) {

		StopAudioStreamForPlayer(playerid);
		return (true);
	}
A hotovo...a stačí jenom přidávat a měnit čísla v polích.

 

 

 

~> Tohle je spíše tvorba už znalejšího programátora, jelikož nejsi jediný, kdo používá na to přepínače a case bez bloků :).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...