Denonymous 2 Odesláno: 18. Březen, 2016 Share Odesláno: 18. Březen, 2016 (upraveno) 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. Obtížnost: (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. 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 18. Březen, 2016 by Denonymous Link to comment Share on other sites More sharing options...
Hlavní moderátor vEnd 279 Odesláno: 18. Březen, 2016 Hlavní moderátor Share Odesláno: 18. Březen, 2016 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. 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 More sharing options...
Scydo 397 Odesláno: 18. Březen, 2016 Share Odesláno: 18. Březen, 2016 ~> 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 More sharing options...
Denonymous 2 Odesláno: 18. Březen, 2016 Author Share Odesláno: 18. Březen, 2016 (upraveno) Díky oboum moc za to že jste se vyjádřili Určitě to zlepším Edited 18. Březen, 2016 by Denonymous Link to comment Share on other sites More sharing options...
Paulee 16 Odesláno: 18. Březen, 2016 Share Odesláno: 18. Březen, 2016 Pro začátek dobrý, ale kod jsi mohl dat do kodu, né do odpovědi jak to tam máš ZDE Ty dvě šipečky vedle sebe... Tam pak stačí dát kod. Link to comment Share on other sites More sharing options...
Denonymous 2 Odesláno: 18. Březen, 2016 Author Share Odesláno: 18. Březen, 2016 PetrPaulik díky Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now