Ninjonik 11 Odesláno: 9. Duben, 2017 Share Odesláno: 9. Duben, 2017 (upraveno) Ahoj, urobil som teda moj ďalší script. Dlho som rozmýšľal čo by som mohol urobiť rádio systém je jedna z najľahších vecí čo som mohol urobiť tak teda ho tu máte. IDialógov: 1000 Aké rádiá obsahuje script? - Evropa 2 - Európa 2 - Impuls - Fajn Rádio - Fun Rádio - Rádio Expres - Frekvence 1 + Tláčitko na stopnutie rádia Čo plánujem do ďalšej verzie? - Určite pridať aspoň 6 rádii kedže týchto 7 si myslím že je dosť málo. - Prípadne opraviť bugy (ak sa nájdu) Downloady: Pastebin: https://pastebin.com/ezGBzQAX Pawno: https://pawno.cz/files/file/64-r%C3%A1dio-syst%C3%A9m/ (Čakám na schválenie) Ak chcete pridať neaké rádio ktoré není moc populárne tak to zašlite na [email protected] a uvidíte ho v ďalšej verzii (ak bude) Edited 10. Duben, 2017 by Ninjonik 1 Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 9. Duben, 2017 Share Odesláno: 9. Duben, 2017 Nevím, jestli si začátečník. Pokud ano, tak to jde, ale pokud už se pawnu věnuješ nějakou dobu, tak je tohle hodně podprůměrná práce upřímně. Tohle by neudělal fakt maximálně tak jen nováček, kromě toho tu je xxx takových scriptů a né-li lepších, než ta tvoje. Mám k tomu i tak pár věcí: #pragma tabsize 0 ???? if(listitem == 0) PlayAudioStreamForPlayer(playerid, "http://icecast3.play.cz/evropa2-128.mp3.m3u"); Zkus místo listitem case, takže dáš switch(listitem) a potom už jen case 0:, case 1: atd.. else if(listitem == 1) Potom tam máš všude "else", je to zbytečný, může tam být normálně if, ale jak sem ti psal výš, místo toho tam je lepší dát case... Nic jiného mě teď nenapadá, Link to comment Share on other sites More sharing options...
Quiter 99 Odesláno: 9. Duben, 2017 Share Odesláno: 9. Duben, 2017 (upraveno) Príde mi to vážne moc jednoduché, dialog + stream Pridaj aspoň dynamické pridávanie rádií + bych povedal že to moc nesúhlasí s novými pravidlami script nesmie byť typu /heal - vylieči hráča, ak chápeš čo tým chcem naznačiť Edited 9. Duben, 2017 by Quiter Link to comment Share on other sites More sharing options...
Ninjonik 11 Odesláno: 10. Duben, 2017 Author Share Odesláno: 10. Duben, 2017 Nevím, jestli si začátečník. Pokud ano, tak to jde, ale pokud už se pawnu věnuješ nějakou dobu, tak je tohle hodně podprůměrná práce upřímně. Tohle by neudělal fakt maximálně tak jen nováček, kromě toho tu je xxx takových scriptů a né-li lepších, než ta tvoje. Mám k tomu i tak pár věcí: #pragma tabsize 0 ???? if(listitem == 0) PlayAudioStreamForPlayer(playerid, "http://icecast3.play.cz/evropa2-128.mp3.m3u"); Zkus místo listitem case, takže dáš switch(listitem) a potom už jen case 0:, case 1: atd.. else if(listitem == 1) Potom tam máš všude "else", je to zbytečný, může tam být normálně if, ale jak sem ti psal výš, místo toho tam je lepší dát case... Nic jiného mě teď nenapadá, no som začiatočník a toto som ešte nevidel takže dík za radu Príde mi to vážne moc jednoduché, dialog + stream Pridaj aspoň dynamické pridávanie rádií + bych povedal že to moc nesúhlasí s novými pravidlami script nesmie byť typu /heal - vylieči hráča, ak chápeš čo tým chcem naznačiť jasné rád by som to urobil dynamicky len neviem ako vieš Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 10. Duben, 2017 Administrátor Share Odesláno: 10. Duben, 2017 Smím se zeptat co je na tom systém ? Link to comment Share on other sites More sharing options...
Quiter 99 Odesláno: 10. Duben, 2017 Share Odesláno: 10. Duben, 2017 jasné rád by som to urobil dynamicky len neviem ako vieš spravíš príkaz na pridanie a editáciu rádií + budeš rádia ukladať do texťáku/databázy Link to comment Share on other sites More sharing options...
OceT 60 Odesláno: 10. Duben, 2017 Share Odesláno: 10. Duben, 2017 To že si nováček neznamená, že musíš všechny scripty, který si napawnil a mají pár řádků dávat sem na forum.. Kdyby tam alespoň bylo něco originální, tak neřeknu, ale takových Radio Systému je už plno.. 1 Link to comment Share on other sites More sharing options...
Hlavní moderátor vEnd 279 Odesláno: 10. Duben, 2017 Hlavní moderátor Share Odesláno: 10. Duben, 2017 Potom tam máš všude "else", je to zbytečný, může tam být normálně if, ale jak sem ti psal výš, místo toho tam je lepší dát case... Má to správně. Ačkoliv by skutečně mohl použít switch, použití if - else if - else if - ... - else je univerzální náhrada switche (některé jazyky switch nemají, třeba Python). Kdyby to nahradil jen za if, zbytečně by se porovnávaly další podmínky po nálezu té správné. Sérii if by mělo smysl použít tehdy, když by každý blok ukončoval příkazem return či break/continue (v cyklech). Link to comment Share on other sites More sharing options...
Baseball 2 Odesláno: 10. Duben, 2017 Share Odesláno: 10. Duben, 2017 Ten dialog je až moc jednoduchý. Dobré jsou Radio systémy, které umožňují přepisování z souboru. Tohle není potřeba sem dávat, jelikož to dokáže skoro každý. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 10. Duben, 2017 Share Odesláno: 10. Duben, 2017 #include <a_samp> #define KOLKOS_RADIOS 2 new radios[] = {"http://icecast3.play.cz/evropa2-128.mp3.m3u", "http://ice2.europa2.sk/fm-europa2sk-128"}; new radios_names[] = {"Evropos 2", "Prej SK evropa XDD"}; public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/radio_xddd", cmdtext, true, 10) == 0) { new stros[256]; for(new i = 0; i < KOLKOS_RADIOS; i ++) { format(stros,sizeof(stros),"%s%s\n",stros,radios_names[i]); } ShowPlayerDialog(playerid,6969,DIALOG_STYLE_LIST,"Radios ty kokos",stros,"Jebej to radio","Stopnut radios"); return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 6969) { if(response) { PlayAudioStreamForPlayer(playerid, radios[listitem]); }else StopAudioStreamForPlayer(playerid); } return 1; } Ke scriptu, je to jednoduchý a furt jedna a ta samá písnička dokola... Tak jsem udělal malej rework, nejsem si jistej jestli funguje protože samp nemam asi tak 2-3 roky, po případě SKIBIGU ORPAV MI TO 1 Link to comment Share on other sites More sharing options...
Scydo 397 Odesláno: 10. Duben, 2017 Share Odesláno: 10. Duben, 2017 (upraveno) po případě SKIBIGU ORPAV MI TO Víceméně: #include <a_samp> #define KOLKOS_RADIOS 2 new radios[][] = { "http://icecast3.play.cz/evropa2-128.mp3.m3u", "http://ice2.europa2.sk/fm-europa2sk-128" }; new radios_names[][] = { "Evropos 2", "Prej SK evropa XDD" }; public OnPlayerCommandText(playerid, cmdtext[]) { if (!strcmp("/radio_xddd", cmdtext)) { new stros[256], i; while (i < KOLKOS_RADIOS) { format(stros,sizeof(stros),"%s\n%s", stros, radios_names[i]); i++; } return ShowPlayerDialog(playerid,6969,DIALOG_STYLE_LIST, "Radios ty kokos", stros, "Jebej to radio", "Stopnut radios"), true; } return false; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if (dialogid == 6969) { if (!response) return StopAudioStreamForPlayer(playerid); return PlayAudioStreamForPlayer(playerid, radios[listitem], true; } return false; } Ale mě spíše napadlo něco trochu jiného a jednoduššího, něco ve stylu: #include <a_samp> #define DIALOG_RADIO (6969) #define MAX_RADIOS (30) #define MAX_RADIO_URL_LEN (180) #define MAX_RADIO_NAME_LEN (60) enum enume { bool: eIsExists, eRadioUrl[MAX_RADIO_URL_LEN], eRadioName[MAX_RADIO_NAME_LEN], } new RadioInfo[MAX_RADIOS][enume]; stock InsertRadio(id, name[], url[]) { format(RadioInfo[id][eRadioUrl], MAX_RADIO_URL_LEN, url), format(RadioInfo[id][eRadioName], MAX_RADIO_NAME_LEN, name); return (RadioInfo[id][eIsExists] = true), true); } /* --------------------------------------------------------------------------------------- */ public OnFilterScriptInit() { InsertRadio(0, "Evropa 2 CZ", "http://icecast3.play.cz/evropa2-128.mp3.m3u"); InsertRadio(1, "Evropa 2 SK", "http://ice2.europa2.sk/fm-europa2sk-128"); return true; } /* --------------------------------------------------------------------------------------- */ public OnPlayerCommandText(...) { if (...) { new String[...], i; while (...) { if (RadioInfo[i][eIsExists]) format(String, sizeof String, "%s\n%s", String, RadioInfo[i][eRadioName]); i++; } return ShowPlayerDialog(playerid, DIALOG_RADIO, DIALOG_STYLE_LIST, "RádioSystém", String, "Vybrat", "Vypnout radio"), true; } return false; } public OnDialogResponse(...) { if (dialogid == DIALOG_RADIO) { if (!response) return StopAudioStreamForPlayer(playerid); return PlayAudioStreamForPlayer(playerid, RadioInfo[listitem][eRadioUrl]), true; } return false; } Edited 10. Duben, 2017 by Ernst Remer Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Duben, 2017 Share Odesláno: 11. Duben, 2017 Víceméně: #include <a_samp> #define KOLKOS_RADIOS 2 new radios[][] = { "http://icecast3.play.cz/evropa2-128.mp3.m3u", "http://ice2.europa2.sk/fm-europa2sk-128" }; new radios_names[][] = { "Evropos 2", "Prej SK evropa XDD" }; public OnPlayerCommandText(playerid, cmdtext[]) { if (!strcmp("/radio_xddd", cmdtext)) { new stros[256], i; while (i < KOLKOS_RADIOS) { format(stros,sizeof(stros),"%s\n%s", stros, radios_names[i]); i++; } return ShowPlayerDialog(playerid,6969,DIALOG_STYLE_LIST, "Radios ty kokos", stros, "Jebej to radio", "Stopnut radios"), true; } return false; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if (dialogid == 6969) { if (!response) return StopAudioStreamForPlayer(playerid); return PlayAudioStreamForPlayer(playerid, radios[listitem], true; } return false; } Ale mě spíše napadlo něco trochu jiného a jednoduššího, něco ve stylu: #include <a_samp> #define DIALOG_RADIO (6969) #define MAX_RADIOS (30) #define MAX_RADIO_URL_LEN (180) #define MAX_RADIO_NAME_LEN (60) enum enume { bool: eIsExists, eRadioUrl[MAX_RADIO_URL_LEN], eRadioName[MAX_RADIO_NAME_LEN], } new RadioInfo[MAX_RADIOS][enume]; stock InsertRadio(id, name[], url[]) { format(RadioInfo[id][eRadioUrl], MAX_RADIO_URL_LEN, url), format(RadioInfo[id][eRadioName], MAX_RADIO_NAME_LEN, name); return (RadioInfo[id][eIsExists] = true), true); } /* --------------------------------------------------------------------------------------- */ public OnFilterScriptInit() { InsertRadio(0, "Evropa 2 CZ", "http://icecast3.play.cz/evropa2-128.mp3.m3u"); InsertRadio(1, "Evropa 2 SK", "http://ice2.europa2.sk/fm-europa2sk-128"); return true; } /* --------------------------------------------------------------------------------------- */ public OnPlayerCommandText(...) { if (...) { new String[...], i; while (...) { if (RadioInfo[i][eIsExists]) format(String, sizeof String, "%s\n%s", String, RadioInfo[i][eRadioName]); i++; } return ShowPlayerDialog(playerid, DIALOG_RADIO, DIALOG_STYLE_LIST, "RádioSystém", String, "Vybrat", "Vypnout radio"), true; } return false; } public OnDialogResponse(...) { if (dialogid == DIALOG_RADIO) { if (!response) return StopAudioStreamForPlayer(playerid); return PlayAudioStreamForPlayer(playerid, RadioInfo[listitem][eRadioUrl]), true; } return false; } sry za blbou otázku pawno už dlouho nedělám, ale proč tam máš ty [][].. když nic nebereš nic z druhe bunky, to jsi rovnou mohl udělat jen jednu proměnu a dělat to takto new neco[2][2] = { {"link na radio","Jmeno radia"} , {"Dalsi link", "dalsi radio."}} Link to comment Share on other sites More sharing options...
Scydo 397 Odesláno: 11. Duben, 2017 Share Odesláno: 11. Duben, 2017 (upraveno) sry za blbou otázku pawno už dlouho nedělám, ale proč tam máš ty [][].. První je počet a druhý délka řetězce. to jsi rovnou mohl udělat jen jednu proměnu a dělat to takto new neco[2][2] = { {"link na radio","Jmeno radia"} , {"Dalsi link", "dalsi radio."}} Mohl, ale já jsem ti "opravil" to, co jsi napsal. Edited 11. Duben, 2017 by Ernst Remer 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