Salutare , am revenit cu un nou tutorial , dupa cum spune si titlul , astazi am sa va arat(pe intelesul tuturor cu sa iti pui radio pe server sau cum sa iti pui o melodie pe care iti place sa o asculti pe server.Ne vom folosi de functia:
PlayAudioStreamForPlayer(playerid,"link");
Intai incepem cu radioul.Sunt 2 metode de a defini un dialog:
#define DIALOG 1
sau o metoda mult mai optima:
enum
(
DIALOG
);
Eu prefer metoda mai ooptima , cea cu enum. Voi crea dialogul RADIO deoarece nu vrem sa fie nici un BUG pe server(de obicei daca nu il definesti , te va pune sa te loghezi de fiecare data cand apelezi la el , cea ce va fi considerat BUG).
enum
(
RADIO
);
Acum ca am creat dialogul, voi face comanda, pe care va avea de selectat 3 optiuni:
1)Radio Greu De difuzat(este radio-ul pe care il ascult in fiecare zi si care imi place la nebunie)
2)Radio Diz(un radio de muzica comerciala)
3)STOP(pentru a opri muzica.
Voi face comanda pentru 2 procesoare diferite de comenzi si anume ZCMD si STRCMP.
Incepem cu procesorul de comenzi a majoritatealor GM-uri de pe internet si anume STRCMP:
if (strcmp("/radio", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, RADIO, DIALOG_STYLE_LIST, "Ce radio doresti sa asculti?", "Radio GreuDeDifuzat nRadio DiZ nOpreste muzica", "Asculta", "Cancel");
return 1;
}
si ZCMD:
CMD:radio(playerid,params[])
{
ShowPlayerDialog(playerid, RADIO, DIALOG_STYLE_LIST, "Ce radio doresti sa asculti?", "Radio GreuDeDifuzat nRadio DiZ nOpreste muzica", "Asculta", "Cancel");
return 1;
}
Acum sa va explic:
Funcita ShowPlayerDialog- pentru a apela la dialog
playerid- este playerul care foloseste comanda
DIALOG_STYLE_LIST- este stilul dialogului , in cazul nostru va pune numele radiourilor unele sub altele ca la GPS
"Ce radio doresti sa asculti?"- este mesajul care apare in partea de sus a dialogului , si care nu poate fi selectat
"Radio GreuDeDifuzat nRadio DiZ nOpreste muzica"- sunt mesajele cu radiouri care se pot selecta, prin "n" facem ca urmatorul mesaj sa fie sub cel precedent ceva de genu:
Radio GreuDeDifuzat
Radio Diz
STOP
iar "Asculta", "Cancel" sunt cele 2 butoane pe care selectam radio-ul dorit.
Acum ca am facut comanda, trebuie sa ne ducemla:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Acesta este publicul resoponsabil cu dialogurile.
Acum , ne trebuie cele 2 link-uri ale radio-urilor.Ne trebuie programul Winamp pe care il puteti descarca de aici:http://download.chip.eu/ro/Winamp-Full-5.623.3199_87999.html
Mergem la pagina de download al primului radio si descarcam "kitul" cu care ascultam radio direct din Winamp.
Odata ce e instalat, Winamp si am deschis radio-ul din PC ,parcurgem urmatori pasi:
Repectiva adresa este link-ul direct al radio-ului, pe care serverul o recepteaza ca fisier audio si porneste melodia.
Facem aceasta si cu urmatorul radio, si salvam undeva cele 2 link-uri.
Acum e timpul sa trecem la crearea dialogului care va suna cam asa:
if(dialogid == RADIO)
{
if(response)
{
if(listitem == 0)
{
StopAudioStreamForPlayer(playerid);
PlayAudioStreamForPlayer(playerid,"http://necenzurat.greudedifuzat.net:8012");
}
if(listitem == 1)
{
StopAudioStreamForPlayer(playerid);
PlayAudioStreamForPlayer(playerid,"http://asculta.radiodiz.com:7070");
}
if(listitem == 3)
{
StopAudioStreamForPlayer(playerid);
SendClientMessage(playerid,Rosu,"Ai inchis radioul!");
}
}
}
Sa va explic ce face fiecare functie in parte.
if(dialogid == RADIO) - este apelarea comenzi la dialog
if(response)- este butonul "Asculta" daca era "if(!response)" era butonul "Cancel"
if(listitem == 0)- este primul nume din dialog adica GreuDeDifuzat. Dialogurile pot fi considerate vectori , ce aceea am pus "listitem == 0". Daca nu era vector luam valoarea 1 pentru primul dialog.
StopAudioStreamForPlayer(playerid);- este functia care opreste radio-ul. In caz ca este deja un radio in ascultare, si nu oprim , cele 2 radio-uri se vor suprapune.
PlayAudioStreamForPlayer(playerid,"http://necenzurat.greudedifuzat.net:8012");-este functia ce apeleaza la difuzarea link-ului care poate fi ascultat.playerid- este persoana ce a folosit comanda iar "http://necenzurat.greudedifuzat.net:8012" este link-ul direct de ascultare.
La fel face si radioul, al 2-lea.
if(listitem == 3)- reprezinta textul "Stop", si contine functia StopAudioStreamForPlayer(playerid); care ii opreste muzica.
SendClientMessage(playerid,Rosu,"Ai inchis radioul!");- este mesajul pe care il va da playerul ce utilizeaza acesta selectare.
Asa puteti face pentru orice radio doriti.
Acum sa trecem la cum pui o melodie. Va fi exact la fel , dar de data aceasta, ne v-om folosi de un site special ce transforma o melodie din pc , in una ce se poate asculta. Acel site este : http://www.wikiupload.com/ Odata ce am uploadat melodia, ne va da un link , pe care il vom copia si il vom pune in functia PlayAudioStreamForPlayer. Nu cred ca mai e nevoie sa va explic . sper ca acest tutorial sa va fie de folos.
Pana data viitoare , PACE!