WiDuAlK Posted February 23, 2015 Posted February 23, 2015 (edited) 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! Edited February 23, 2015 by WiDuAlK.SaMp 5 @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
WiDuAlK Posted February 23, 2015 Author Posted February 23, 2015 Cu multa placere! @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
Джо Posted February 23, 2015 Posted February 23, 2015 Hmm,nice,si eu care cautam site-uri pe care sa hostez melodii tule mama lor de melodii:))
WiDuAlK Posted February 23, 2015 Author Posted February 23, 2015 Ai gasit unul @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
Neooooo Posted August 16, 2015 Posted August 16, 2015 ON: Stie cineva de ce acum nu merge PlayAudiStreamForPlayer .. , ma poate ajuta cineva , va rog!
WiDuAlK Posted August 17, 2015 Author Posted August 17, 2015 ON: Stie cineva de ce acum nu merge PlayAudiStreamForPlayer .. , ma poate ajuta cineva , va rog!PlayAudiStreamForPlayer ? AUDI ?http://wiki.sa-mp.com/wiki/PlayAudioStreamForPlayer @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
Neooooo Posted August 20, 2015 Posted August 20, 2015 PlayAudiStreamForPlayer ? AUDI ?http://wiki.sa-mp.com/wiki/PlayAudioStreamForPlayer Stiu ca am scris gresit aici dar eroare in sine asta e : error 017: undefined symbol "PlayAudioStreamForPlayer"
WiDuAlK Posted August 20, 2015 Author Posted August 20, 2015 (edited) schimba pawn,ia-l pe ala de la 0.3.7 si adauga-i include-urileuite aici ceva asemanator: http://forum.sa-mp.com/showthread.php?t=422786 Edited August 20, 2015 by WiDuAlK.SaMp @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
Ph0eniX Posted August 23, 2015 Posted August 23, 2015 (edited) Ai putea să-l faci puţin mai ... cum să spun ... " economic " adică , de exemplu la dialog:în loc de ...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!"); } } }Să faci aşa ... if(dialogid == RADIO) { if(!response) return 1; StopAudioStreamForPlayer(playerid); switch (listitem) { case 0: PlayAudioStreamForPlayer(playerid,"http://necenzurat.greudedifuzat.net:8012"); case 1: PlayAudioStreamForPlayer(playerid,"http://asculta.radiodiz.com:7070"); case 2: SendClientMessage(playerid,Rosu,"Ai inchis radioul!"); } }Apropo , vezi că ai facut listitem == 3 nu listitem == 2 ... dacă tot e să îi învăţăm scripting , atunci este bine să-i învăţăm direct să lucreze " economic " .. părerea mea , oricum bun tutorial dar puţin cam simplu , încearcă ceva avansat de exemplu , minigun pentru maşini . PS: Pentru cei ce nu ştiu să foloseasca switch: http://wiki.sa-mp.com/wiki/Control_Structures#switch_2 Edited August 23, 2015 by Ph0eniX public OnPlayerConnect(playerid) { print("[ERROR] - Unable to establish a connection with the world..."); SendRconCommand("exit"); return 1; }
WiDuAlK Posted September 7, 2015 Author Posted September 7, 2015 Ai putea să-l faci puţin mai ... cum să spun ... " economic " adică , de exemplu la dialog:în loc de ...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!"); } } }Să faci aşa ... if(dialogid == RADIO) { if(!response) return 1; StopAudioStreamForPlayer(playerid); switch (listitem) { case 0: PlayAudioStreamForPlayer(playerid,"http://necenzurat.greudedifuzat.net:8012"); case 1: PlayAudioStreamForPlayer(playerid,"http://asculta.radiodiz.com:7070"); case 2: SendClientMessage(playerid,Rosu,"Ai inchis radioul!"); } }Apropo , vezi că ai facut listitem == 3 nu listitem == 2 ... dacă tot e să îi învăţăm scripting , atunci este bine să-i învăţăm direct să lucreze " economic " .. părerea mea , oricum bun tutorial dar puţin cam simplu , încearcă ceva avansat de exemplu , minigun pentru maşini . PS: Pentru cei ce nu ştiu să foloseasca switch: http://wiki.sa-mp.com/wiki/Control_Structures#switch_2Da, intr-adevar e mai rapida metoda ta, dar nu mi-a venit in cap in momentul ala. Ceva de genu folosesc si eu acum. Cat despre listen 3, eu fac in notepad++ si cate odata nu mai testez, e din neatentie pentru ca fac tutoriale numai seara(atunci le scriu) si nu pot fi 100% atent la ce scriu. @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
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