Audio Help.
#1

This is the code And I get no errors but it doesn't play the URL I put in. The URL is a .mp3 url

pawn Код:
CMD:music(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
    {
        SendClientMessage(playerid, COLOR_RED, "You cannot use this command");
        return 1;
    }
    else
    {
        new string[128];
        if(sscanf(params, "s[256]", params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /music [url]");
        if(!strcmp(params, "stop", true, 4))
        {
            StopAudioStreamForPlayer(playerid);
            SendClientMessage(playerid, COLOR_RED, " You have stopped listening to music.");
            return 1;
        }

        format(string, sizeof(string), "An Admin Has Started A Song. Use '/music stop' to stop the song");
        SendClientMessageToAll(COLOR_ORANGE, string);
        foreach(Player, i)
        {
            PlayAudioStreamForPlayer(i, params);
        }
    }
    return 1;
}
Reply
#2

pawn Код:
if(sscanf(params, "s[256]", params))
^ Is that even possible? Isn't it like this?:
if(sscanf(stringtolookin, placeholders, variables to use))?

So I created a variable named url, and used it in place of params.

Try this:
pawn Код:
CMD:music(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
    {
        SendClientMessage(playerid, COLOR_RED, "You cannot use this command");
        return 1;
    }
    else
    {
        new string[128], url[128];
        if(sscanf(params, "s[256]", url)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /music [url]");
        if(!strcmp(url, "stop", true, 4))
        {
            StopAudioStreamForPlayer(playerid);
            SendClientMessage(playerid, COLOR_RED, " You have stopped listening to music.");
            return 1;
        }

        format(string, sizeof(string), "An Admin Has Started A Song. Use '/music stop' to stop the song");
        SendClientMessageToAll(COLOR_ORANGE, string);
        foreach(Player, i)
        {
            PlayAudioStreamForPlayer(i, url);
        }
    }
    return 1;
}
Reply
#3

Quote:
Originally Posted by Kindred
Посмотреть сообщение
pawn Код:
if(sscanf(params, "s[256]", params))
^ Is that even possible? Isn't it like this?:
if(sscanf(stringtolookin, placeholders, variables to use))?

So I created a variable named url, and used it in place of params.

Try this:
pawn Код:
CMD:music(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
    {
        SendClientMessage(playerid, COLOR_RED, "You cannot use this command");
        return 1;
    }
    else
    {
        new string[128], url[128];
        if(sscanf(params, "s[256]", url)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /music [url]");
        if(!strcmp(url, "stop", true, 4))
        {
            StopAudioStreamForPlayer(playerid);
            SendClientMessage(playerid, COLOR_RED, " You have stopped listening to music.");
            return 1;
        }

        format(string, sizeof(string), "An Admin Has Started A Song. Use '/music stop' to stop the song");
        SendClientMessageToAll(COLOR_ORANGE, string);
        foreach(Player, i)
        {
            PlayAudioStreamForPlayer(i, url);
        }
    }
    return 1;
}
:\ That didn't work. I don't get errors but it doesn't work IG
Reply
#4

In my opinion, everything looks like it would work, your code & my code.

Mind showing the link, just so I can validate it? I could care less.
Reply
#5

Link of the song?


Reply
#6

Код:
http://www.fileden.com/files/2012/7/13/3325459/Sure%20thing%20Lil%20Wayne%20Lyrics.mp3
The reason is highlighted in red.

This is because you use them for placeholders and shit, such as %s for specific string variable, %i for an integer variable, and so forth.

Simply try to get a new link, or upload the song to a seperate website without the %'s.
Reply
#7

Ah ha! Thanks soo much!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)