Jump to content

script Rádio Systém 1.0


Ninjonik

Recommended Posts

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 by Ninjonik
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

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

Príde mi to vážne moc jednoduché, dialog + stream icon_e_biggrin.gif Pridaj aspoň dynamické pridávanie rádií icon_e_wink.gif

 

+ 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 by Quiter
Link to comment
Share on other sites

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 icon_e_biggrin.gif Pridaj aspoň dynamické pridávanie rádií icon_e_wink.gif

 

+ bych povedal že to moc nesúhlasí s novými pravidlami icon_e_wink.gif 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

jasné rád by som to urobil dynamicky len neviem ako vieš

 

spravíš príkaz na pridanie a editáciu rádií :d

+ budeš rádia ukladať do texťáku/databázy

Link to comment
Share on other sites

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.. :d

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • Hlavní moderátor

 

 

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

#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 :d

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

po případě SKIBIGU ORPAV MI TO icon_e_biggrin.gif

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 by Ernst Remer
Link to comment
Share on other sites

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

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 by Ernst Remer
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...