01.09.2012, 13:06
why does this not work
this in onplayercommand
this in onplayercommand
Код:
if (strcmp("/stream", cmdtext, true, 10) == 0) //Change this one to whatever you want. { ShowPlayerDialog(playerid,90100,DIALOG_STYLE_LIST,"Radio List","1. Custom\r\n2. Radio Station 1\r\n3. Radio Station 2","Select", "Cancel"); //We use the line above to make the Dialog show, and as you notice we want DIALOG_STYLE_LIST because it will be a list so we can choose from. //As you notice everytime you add \r\n it adds a new line to the list, which means in our tutorial adds a new radio station to the list. //Make sure you change the ID of the Dialog, we don't want it to mix with other dialogs in your server, I set it to 90. return 1; } if (strcmp("/stopradio", cmdtext, true, 10) == 0) { StopAudioStreamForPlayer(playerid);//This is the function we need to stop the audio from streaming the music. return 1; }
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0 && response == 1) { new pName[MAX_PLAYER_NAME],gName[MAX_PLAYER_NAME],string[128]; new giveplayerid = GetPVarInt(playerid,"ClickedPlayer"); GetPlayerName(playerid,pName,sizeof pName); GetPlayerName(giveplayerid,gName,sizeof gName); format(string,sizeof string,"{B0B0B0}[PM]{FF0000}From {B0B0B0}%s[%d]{FF0000}: {E3BB19}%s",pName,playerid,inputtext); SendClientMessage(giveplayerid,0xFFE615D4,string); format(string,sizeof string,"{B0B0B0}[PM]{FF0000}Sent to {B0B0B0}%s{FF0000}: {E3BB19}%s",gName,inputtext); SendClientMessage(playerid,0xFFE615D4,string); PMLog(string); return 1; } if(dialogid == 90100) { if(!response)// This one is used for option 2 which we changed to (Cancel). { SendClientMessage(playerid, 0x42F3F198, "You canceled the dialog.");//This one sends a message when you close the dialog using (Cancel). return 1; } switch(listitem)//This one will list the items. { case 0://Case 0 is basically the first line we made in ShowPlayerDialog (1.) { //PlayAudioStreamForPlayer(playerid, "http://radio02-cn3.akadostream.ru:8814/nrj192.mp3");//This function will play our desired radio. So we have to put the url between its brackets. //SendClientMessage(playerid, 0x42F3F198, "Type /stopradio to stop audio streaming."); //This line sends a message to the listener that he can stop it using /stopradio. ShowPlayerDialog(playerid, 10200, DIALOG_STYLE_INPUT, "Custom Radio","{FFFFFF}Write the {009BFF}URL{FFFFFF} from Radio Station:", "Okay", "Exit"); return 1; } case 1://Case 1 is the second line we put in ShowPlayerDialog (\r\n2.) { PlayAudioStreamForPlayer(playerid, "http://www.bbc.co.uk/radio/listen/live/r1_aaclca.pls");//This function will play our desired radio. So we have to put the url between its brackets. SendClientMessage(playerid, 0x42F3F198, "Type /stopradio to stop audio streaming.");//This line sends a message to the listener that he can stop it using /stopradio. return 1; } case 2://Case 2 is the third line we put in ShowPlayerDialog(\r\n3.) { PlayAudioStreamForPlayer(playerid, "http://sc.3wk.com:8300/");//This function will play our desired radio. So we have to put the url between its brackets. SendClientMessage(playerid, 0x42F3F198, "Type /stopradio to stop audio streaming.");//This line sends a message to the listener that he can stop it using /stopradio. return 1; } //You can continue cases here but make sure you make a new line in the ShowPlayerDialog on /myradio command \r\n4. 4th \r\n5. 5th channel etc.. } } if(dialogid == 10200) // { SendClientMessage(playerid,0x42F3F198,"woop"); if(response) { for(new i=0; i<250; i++) { if(IsPlayerConnected(i)) { PlayAudioStreamForPlayer(i, inputtext); SendClientMessage(playerid, 0x42F3F198, "Type /stopradio to stop audio streaming."); //This line sends a message to the listener that he can stop it using /stopradio. return 1; } } } } return 0; }