Using an array in a function
#1

Basically this is the code:
pawn Код:
new songURLS[] =
{
"http://mp3rehab.com/user_uploads_11313/Lana%20Del%20Rey%20-%20Summertime%20Sadness.mp3",
"http://mp3rehab.com/user_uploads_11313/Eminem%20-%20Berzerk.mp3",
"http://mp3rehab.com/user_uploads_11313/Avicii%20-%20Wake%20Me%20Up.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20Check%20Yo%20Self.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20We%20Be%20Clubbin.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20cube%28remix%29%20-%20Just%20bounce.mp3",
"http://mp3rehab.com/user_uploads_11313/three%206%20mafia--3%206%20Mafia%20-%20Poppin%20My%20Collar.mp3",
"http://mp3rehab.com/user_uploads_11313/Junior%20MAFIA%20-%20Get%20Money.mp3",
"http://mp3rehab.com/user_uploads_11313/Fabolous%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/04%20-%20AKON%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/Snoop%20Dog%20Feat.%20David%20Guetta%20-%20Sweat%20%28Original%20Radio%20Edit%29.mp3",
"http://mp3rehab.com/user_uploads_11313/metallica%20-%20the%20unforgiven.mp3",
"http://mp3rehab.com/user_uploads_11313/Metallica%20-%20Enter%20Sandman.mp3",
"http://mp3rehab.com/user_uploads_11313/B2K%20-%20Bada%20boom%28drop%20mix%29.mp3"
};

forward RadioSong(playerid, songURLS[]);
public RadioSong(playerid, songURLS[])
{
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    new PName[MAX_PLAYER_NAME];
    new string[40];

    PRinfo[playerid][radioDeployed]=1;
    SendClientMessage(playerid, 0xFFE2E817, "You have deployed your radio at your current position.");
    PRinfo[playerid][locX]=X+2;
    PRinfo[playerid][locY]=Y;
    PRinfo[playerid][locZ]=Z;
    GetPlayerName(playerid, PName, sizeof(PName));

    format(string, sizeof(string), "%s's radio is here", PName);
    radioDeployedLabel[playerid] = Create3DTextLabel(string, 0xFFF900FF, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 35.0, 0, 0);
    radioObject[playerid] = CreateObject(2103, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]-1, 0.0, 0.0, 0.0);

    /*This one*/PlayAudioStreamForPlayer(playerid, songURLS[], PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);//THIS ONE------------------
    playerListeningRadio[playerid]=1;
    for (new i = 0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerInRangeOfPoint(i, 10.0, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]) && i != playerid)
        {
            playerListeningRadio[i]=1;
            /*This one*/PlayAudioStreamForPlayer(i, songURLS[], PRinfo[playerid][locX], PRinfo[playerid][locY],PRinfo[playerid][locZ], 10.0, 1);
        }
    }
    return 1;
}
Ignore all the unneccesary lines in that function,i highlited the important ones,which are giving errors.
The idea is that i use that songURLS array in RadioSong function.
For example like this:
Код:
RadioSong(playerid, songURLS[0]
So that way it plays the first URL for the player.
But i get these errors at the highlited lines,and i really don't know how to fix them
Код:
error 029: invalid expression, assumed zero
error 029: invalid expression, assumed zero
Reply
#2

pawn Код:
new songURL [] [] =
Maybe?
Reply
#3

Quote:
Originally Posted by newbie scripter
Посмотреть сообщение
pawn Код:
new songURL [] [] =
Maybe?
No i tried that,still same errors.
Reply
#4

pawn Код:
new songURLS [] [] =
{
  // urls
};
// If random , || new rand = random(sizeof(songURLS));
/PlayAudioStreamForPlayer(playerid,  /* random or in order??  if random sondURLS[rand] [rand] */, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);
May or may not work , idk
Reply
#5

Quote:
Originally Posted by newbie scripter
Посмотреть сообщение
pawn Код:
new songURLS [] [] =
{
  // urls
};
// If random , || new rand = random(sizeof(songURLS));
/PlayAudioStreamForPlayer(playerid, songURLS[] // random or in order?? // if random sondURLS[rand] [rand], PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);
May or may not work , idk
I don't need it to be random,i told you how i want to use it.Read the post.
Reply
#6

pawn Код:
new songURLS[][] =  // It is essential to use "[][]", one of them holds the number of urls and the other the string length.
{
    "http://mp3rehab.com/user_uploads_11313/Lana%20Del%20Rey%20-%20Summertime%20Sadness.mp3",
    "http://mp3rehab.com/user_uploads_11313/Eminem%20-%20Berzerk.mp3",
    "http://mp3rehab.com/user_uploads_11313/Avicii%20-%20Wake%20Me%20Up.mp3",
    "http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20Check%20Yo%20Self.mp3",
    "http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20We%20Be%20Clubbin.mp3",
    "http://mp3rehab.com/user_uploads_11313/Ice%20cube%28remix%29%20-%20Just%20bounce.mp3",
    "http://mp3rehab.com/user_uploads_11313/three%206%20mafia--3%206%20Mafia%20-%20Poppin%20My%20Collar.mp3",
    "http://mp3rehab.com/user_uploads_11313/Junior%20MAFIA%20-%20Get%20Money.mp3",
    "http://mp3rehab.com/user_uploads_11313/Fabolous%20-%20Gangsta.mp3",
    "http://mp3rehab.com/user_uploads_11313/04%20-%20AKON%20-%20Gangsta.mp3",
    "http://mp3rehab.com/user_uploads_11313/Snoop%20Dog%20Feat.%20David%20Guetta%20-%20Sweat%20%28Original%20Radio%20Edit%29.mp3",
    "http://mp3rehab.com/user_uploads_11313/metallica%20-%20the%20unforgiven.mp3",
    "http://mp3rehab.com/user_uploads_11313/Metallica%20-%20Enter%20Sandman.mp3",
    "http://mp3rehab.com/user_uploads_11313/B2K%20-%20Bada%20boom%28drop%20mix%29.mp3"
};

forward RadioSong(playerid, url[]); // Do not change this to songURLS[], or may get a warning/error.
public RadioSong(playerid, url[])  // Same as above.
{
    new Float:X, Float:Y, Float:Z, string[40], PName[MAX_PLAYER_NAME];
    GetPlayerPos(playerid, X, Y, Z);
    PRinfo[playerid][radioDeployed]=1;
    SendClientMessage(playerid, 0xFFE2E817, "You have deployed your radio at your current position.");
    PRinfo[playerid][locX]=X+2;
    PRinfo[playerid][locY]=Y;
    PRinfo[playerid][locZ]=Z;
    GetPlayerName(playerid, PName, sizeof(PName));
    format(string, sizeof(string), "%s's radio is here", PName);
    radioDeployedLabel[playerid] = Create3DTextLabel(string, 0xFFF900FF, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 35.0, 0, 0);
    radioObject[playerid] = CreateObject(2103, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]-1, 0.0, 0.0, 0.0);
    PlayAudioStreamForPlayer(playerid, url, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);
    playerListeningRadio[playerid]=1;
    for (new i = 0;i<MAX_PLAYERS;i++) if(IsPlayerInRangeOfPoint(i, 10.0, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]) && i != playerid)
    {
        playerListeningRadio[i]=1;
        PlayAudioStreamForPlayer(i, url, PRinfo[playerid][locX], PRinfo[playerid][locY],PRinfo[playerid][locZ], 10.0, 1);
    }
    return 1;
}
Usage:
pawn Код:
RadioSong(playerid, songURLS[0]); // Any number lesser than the maximum amount of urls.
Reply
#7

pawn Код:
new songURLS[][128] =
{
"http://mp3rehab.com/user_uploads_11313/Lana%20Del%20Rey%20-%20Summertime%20Sadness.mp3",
"http://mp3rehab.com/user_uploads_11313/Eminem%20-%20Berzerk.mp3",
"http://mp3rehab.com/user_uploads_11313/Avicii%20-%20Wake%20Me%20Up.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20Check%20Yo%20Self.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20We%20Be%20Clubbin.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20cube%28remix%29%20-%20Just%20bounce.mp3",
"http://mp3rehab.com/user_uploads_11313/three%206%20mafia--3%206%20Mafia%20-%20Poppin%20My%20Collar.mp3",
"http://mp3rehab.com/user_uploads_11313/Junior%20MAFIA%20-%20Get%20Money.mp3",
"http://mp3rehab.com/user_uploads_11313/Fabolous%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/04%20-%20AKON%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/Snoop%20Dog%20Feat.%20David%20Guetta%20-%20Sweat%20%28Original%20Radio%20Edit%29.mp3",
"http://mp3rehab.com/user_uploads_11313/metallica%20-%20the%20unforgiven.mp3",
"http://mp3rehab.com/user_uploads_11313/Metallica%20-%20Enter%20Sandman.mp3",
"http://mp3rehab.com/user_uploads_11313/B2K%20-%20Bada%20boom%28drop%20mix%29.mp3"
};

forward RadioSong(playerid, songURL[]);
public RadioSong(playerid, songURL[])
{
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    new PName[MAX_PLAYER_NAME];
    new string[40];

    PRinfo[playerid][radioDeployed]=1;
    SendClientMessage(playerid, 0xFFE2E817, "You have deployed your radio at your current position.");
    PRinfo[playerid][locX]=X+2;
    PRinfo[playerid][locY]=Y;
    PRinfo[playerid][locZ]=Z;
    GetPlayerName(playerid, PName, sizeof(PName));

    format(string, sizeof(string), "%s's radio is here", PName);
    radioDeployedLabel[playerid] = Create3DTextLabel(string, 0xFFF900FF, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 35.0, 0, 0);
    radioObject[playerid] = CreateObject(2103, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]-1, 0.0, 0.0, 0.0);

    /*This one*/PlayAudioStreamForPlayer(playerid, songURL, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);//THIS ONE------------------
    playerListeningRadio[playerid]=1;
    for (new i = 0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerInRangeOfPoint(i, 10.0, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]) && i != playerid)
        {
            playerListeningRadio[i]=1;
            /*This one*/PlayAudioStreamForPlayer(i, songURL, PRinfo[playerid][locX], PRinfo[playerid][locY],PRinfo[playerid][locZ], 10.0, 1);
        }
    }
    return 1;
}
backlite - you didn't specified the size of the array.
Reply
#8

You can do it either this way (you can only choose from the list in songURLS):

Syntax:
pawn Код:
Code
pawn Код:
new songURLS[] =
{
"http://mp3rehab.com/user_uploads_11313/Lana%20Del%20Rey%20-%20Summertime%20Sadness.mp3",
"http://mp3rehab.com/user_uploads_11313/Eminem%20-%20Berzerk.mp3",
"http://mp3rehab.com/user_uploads_11313/Avicii%20-%20Wake%20Me%20Up.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20Check%20Yo%20Self.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20We%20Be%20Clubbin.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20cube%28remix%29%20-%20Just%20bounce.mp3",
"http://mp3rehab.com/user_uploads_11313/three%206%20mafia--3%206%20Mafia%20-%20Poppin%20My%20Collar.mp3",
"http://mp3rehab.com/user_uploads_11313/Junior%20MAFIA%20-%20Get%20Money.mp3",
"http://mp3rehab.com/user_uploads_11313/Fabolous%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/04%20-%20AKON%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/Snoop%20Dog%20Feat.%20David%20Guetta%20-%20Sweat%20%28Original%20Radio%20Edit%29.mp3",
"http://mp3rehab.com/user_uploads_11313/metallica%20-%20the%20unforgiven.mp3",
"http://mp3rehab.com/user_uploads_11313/Metallica%20-%20Enter%20Sandman.mp3",
"http://mp3rehab.com/user_uploads_11313/B2K%20-%20Bada%20boom%28drop%20mix%29.mp3"
};

forward RadioSong(playerid, songURL);
public RadioSong(playerid, songURL)
{
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    new PName[MAX_PLAYER_NAME];
    new string[40];

    PRinfo[playerid][radioDeployed]=1;
    SendClientMessage(playerid, 0xFFE2E817, "You have deployed your radio at your current position.");
    PRinfo[playerid][locX]=X+2;
    PRinfo[playerid][locY]=Y;
    PRinfo[playerid][locZ]=Z;
    GetPlayerName(playerid, PName, sizeof(PName));

    format(string, sizeof(string), "%s's radio is here", PName);
    radioDeployedLabel[playerid] = Create3DTextLabel(string, 0xFFF900FF, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 35.0, 0, 0);
    radioObject[playerid] = CreateObject(2103, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]-1, 0.0, 0.0, 0.0);

    PlayAudioStreamForPlayer(playerid, songURLS[songURL], PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);
    playerListeningRadio[playerid]=1;
    for (new i = 0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerInRangeOfPoint(i, 10.0, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]) && i != playerid)
        {
            playerListeningRadio[i]=1;
            PlayAudioStreamForPlayer(i, songURLS[songURL], PRinfo[playerid][locX], PRinfo[playerid][locY],PRinfo[playerid][locZ], 10.0, 1);
        }
    }
    return 1;
}
Or this way (you can pass in any URL string, more flexible):

Syntax:
pawn Код:
// Play http://mp3rehab.com/user_uploads_11313/A...e%20Up.mp3
RadioSong(playerid, songURLS[2]);

// Play http://mp3rehab.com/user_uploads_11313/J...0Money.mp3
RadioSong(playerid, "http://mp3rehab.com/user_uploads_11313/Junior%20MAFIA%20-%20Get%20Money.mp3");
Code
pawn Код:
new songURLS[] =
{
"http://mp3rehab.com/user_uploads_11313/Lana%20Del%20Rey%20-%20Summertime%20Sadness.mp3",
"http://mp3rehab.com/user_uploads_11313/Eminem%20-%20Berzerk.mp3",
"http://mp3rehab.com/user_uploads_11313/Avicii%20-%20Wake%20Me%20Up.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20Check%20Yo%20Self.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20Cube%20-%20We%20Be%20Clubbin.mp3",
"http://mp3rehab.com/user_uploads_11313/Ice%20cube%28remix%29%20-%20Just%20bounce.mp3",
"http://mp3rehab.com/user_uploads_11313/three%206%20mafia--3%206%20Mafia%20-%20Poppin%20My%20Collar.mp3",
"http://mp3rehab.com/user_uploads_11313/Junior%20MAFIA%20-%20Get%20Money.mp3",
"http://mp3rehab.com/user_uploads_11313/Fabolous%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/04%20-%20AKON%20-%20Gangsta.mp3",
"http://mp3rehab.com/user_uploads_11313/Snoop%20Dog%20Feat.%20David%20Guetta%20-%20Sweat%20%28Original%20Radio%20Edit%29.mp3",
"http://mp3rehab.com/user_uploads_11313/metallica%20-%20the%20unforgiven.mp3",
"http://mp3rehab.com/user_uploads_11313/Metallica%20-%20Enter%20Sandman.mp3",
"http://mp3rehab.com/user_uploads_11313/B2K%20-%20Bada%20boom%28drop%20mix%29.mp3"
};

forward RadioSong(playerid, songURL[]);
public RadioSong(playerid, songURL[])
{
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    new PName[MAX_PLAYER_NAME];
    new string[40];

    PRinfo[playerid][radioDeployed]=1;
    SendClientMessage(playerid, 0xFFE2E817, "You have deployed your radio at your current position.");
    PRinfo[playerid][locX]=X+2;
    PRinfo[playerid][locY]=Y;
    PRinfo[playerid][locZ]=Z;
    GetPlayerName(playerid, PName, sizeof(PName));

    format(string, sizeof(string), "%s's radio is here", PName);
    radioDeployedLabel[playerid] = Create3DTextLabel(string, 0xFFF900FF, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 35.0, 0, 0);
    radioObject[playerid] = CreateObject(2103, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]-1, 0.0, 0.0, 0.0);

    PlayAudioStreamForPlayer(playerid, songURL, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ], 20.0, 1);
    playerListeningRadio[playerid]=1;
    for (new i = 0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerInRangeOfPoint(i, 10.0, PRinfo[playerid][locX], PRinfo[playerid][locY], PRinfo[playerid][locZ]) && i != playerid)
        {
            playerListeningRadio[i]=1;
            PlayAudioStreamForPlayer(i, songURL, PRinfo[playerid][locX], PRinfo[playerid][locY],PRinfo[playerid][locZ], 10.0, 1);
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)