06.12.2011, 19:56
(
Last edited by PlayHard; 06/12/2011 at 08:06 PM.
Reason: Removed text colors(Requested).
)
Making a Radio System
Introduction:
Today I am going to talk about making radios and show you how to make your very own radio system and enjoy the music and your favorite radio stations playing in your favorite game Grand Theft Auto: San Andreas. I believe that some of us still want to know how to make their own radio systems or Audio streaming system that allows them to hear, listen and enjoy their favorite radio station and music.
What is this?It is a tutorial that shows you how to use the new functions "PlayAudioStreamForPlayer" and "StopAudioStreamForPlayer" and make a radio system using them.
What are these functions?These functions allows you to play and stop an Audio stream for a specific player using a radios tation url.
What do I need to start learning from this tutorial?- SA-MP 0.3d Windows Server or Linux Server
- SA-MP 0.3d Client
- PAWNO
Getting urls is the first very important step in creating the radio system, because without the urls you will not be able to play or do anything. So, here is a list of websites you can get urls from,And here are some of the urls I took from my Radio on my Nokia 5800's radio,
Part II (Setting up our second step)
Open a new project on Pawn, remove everything but keep OnPlayerCommandText, OnDialogResponse, OnFilterScriptInit, OnFilterScriptExit and the
pawn Code:
#if defined FILTERSCRIPT
This is how your project supposed to look like:
pawn Code:
#include <a_samp>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
*Everything is explained in the next pawno quotes.
pawn Code:
#include <a_samp>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Radio System is starting ..");
print(" Radio system has started.");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
print("\n--------------------------------------");
print(" Radio System has been shut down due to a Filterscript unload/Exit.");
print("--------------------------------------\n");
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" Radio Tutorial by PlayHard. Powered by PlayHard's Tutorials :P");
print("----------------------------------\n");
}
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/myradio", cmdtext, true, 10) == 0) //Change this one to whatever you want.
{
ShowPlayerDialog(playerid,90,DIALOG_STYLE_LIST,"My Radio list","1. My first channel\r\n2. My second channel\r\n3. My third channel","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;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 90: //Remember the ID we changed in ShowPlayerDialog? (90) That's how the DialogResponse will get to know which Dialog it's going to use.
{
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.
}
case 1://Case 1 is the second line we put in ShowPlayerDialog (\r\n2.)
{
PlayAudioStreamForPlayer(playerid, "http://stream.radioactivity.fm:8002/");//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.
}
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.
}
//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..
}
}
}
return 1;
}
PlayHard's Tutorials
All rights are reserved to PlayHard
I hope that you got something new today and found this useful.
All rights are reserved to PlayHard
I hope that you got something new today and found this useful.