[Pedido] Stream Audio no carro
#1

Gostaria de saber como posso aprimorar esse sistema e colocar pra tocar a mъsica no carro, semelhante ao MDPM, um sistema de tocar mъsicas no porta malas, com audio 3d, e a medida que vai afastando a mъsica vai parando, mas nгo de parar de uma vez, ir abaixando o som e tal..

Um sistema semelhante a esse: https://sampforum.blast.hk/showthread.php?tid=290595

"Play for a location"

Vнdeo dele: https://www.youtube.com/watch?v=6dly-iV62SM

Se possнvel, com esse dialog de escolher a distвncia e tocar a mъsica para todos.

Meu cуdigo:

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
pname[MAX_PLAYER_NAME];
    
    if(
dialogid == D_MUSICA)
    {
        if(!
response)
        {
        }
        else
        {
            if(
strlen(inputtext) < 1)
            {
                
SendClientMessage(playeridCOLOR_ERRO"[ x ] Insira alguma mъsica!");
                
ShowPlayerDialog(playeridD_MUSICADIALOG_STYLE_INPUT"Tocar mъsica para todos""Insira o nome da mъsica desejada!\n Coloque o nome da mъsica e o cantor! \n""Tocar""Cancelar");
            }
            else
            {
            static 
istr[128];
            
GetPlayerName(playeridpnameMAX_PLAYER_NAME);
            for( 
GetMaxPlayers() - 1> -1; --i)
            {
                if(
IsPlayerConnected(i))
                {
                
format(strsizeof(str), "https://6t.pe/?song=%s"inputtext);
                
PlayAudioStreamForPlayer(istr);
                }
                }
            }
        }
        return 
1;
    } 
Reply
#2

deixa eu entender direito... Vocк quer escolher a distancia sua atй os players para tocar uma mъsica?

cria um loop e verifica o rangeofpoint dos players assim vocк toca o som pra eles
Reply
#3

Creio que dentro do comando, vocк pode usar essa funзгo aqui, nгo me lembro muito bem.
PHP код:
for(new i=0<= MAX_PLAYERSi++)
if(
GetDistanceBetweenPlayers(playeridi) <= 100)
PlayAudioStreamForPlayer(playerid"url music"); 
Reply
#4

Quote:
Originally Posted by Relaxed
Посмотреть сообщение
Creio que dentro do comando, vocк pode usar essa funзгo aqui, nгo me lembro muito bem.
PHP код:
for(new i=0<= MAX_PLAYERSi++)
if(
GetDistanceBetweenPlayers(playeridi) <= 100)
PlayAudioStreamForPlayer(playerid"url music"); 
Sim, queria criar um comando pra tocar a mъsica pra todos que estivessem perto de onde eu dei o comando, e aн aparece o dialog pra eu escolher a distвncia da mъsica..

EDIT

Acho que achei o cуdigo, creio que seja esse:

PHP код:
new Float:XFloat:YFloat:Z;
GetPlayerPos(playeridXYZ);
new 
radius strval(U2BRadius[playerid]);
for(new 
0MAX_PLAYERSi++)
{
if(
IsPlayerConnected(i))
{
if(
IsPlayerInRangeOfPoint(iradius XYZ))
{
PlayAudioStreamForPlayer(istreamedurlXYZradius1); 
Mas nгo sei como passar para o meu comando atual, em dialog..
Reply
#5

Consegui fazer isso aqui, nгo funcionou..

PHP код:
new Float:XFloat:YFloat:Z;
    new 
U2BRadius[MAX_PLAYERS][16];
    
    if(
dialogid == D_LOCAL)
    {
            if(
strlen(inputtext) < 1)
            {
                
SendClientMessage(playeridCOLOR_ERRO"[ x ] Insira alguma mъsica!");
                
ShowPlayerDialog(playeridD_LOCALDIALOG_STYLE_INPUT"Pedir uma Mъsica""Insira o nome da mъsica desejada!\n[AVISO]: Coloque o cantor e o nome da mъsica para melhores resultados!\n""Pedir""Cancelar");
            }
            else
            {
            
GetPlayerPos(playeridXYZ);
            new 
radius strval(U2BRadius[playerid]);
            static 
str[128];
            for(new 
0MAX_PLAYERSi++)
            {
            {
            if(
IsPlayerInRangeOfPoint(iradius XYZ))
            {
            
format(strsizeof(str), "https://6t.pe/?song=%s"inputtext);
            
PlayAudioStreamForPlayer(istrXYZradius1);
                }
                }
            }
        }
            return 
1;
    } 
Reply
#6

PHP код:
//Comeзo
#define DIALOG_MUSIC 1
//Comando
CMD:music(playeridparams[])
{
    
#pragma unused params
    
ShowPlayerDialog(playeridDIALOG_MUSICDIALOG_STYLE_INPUT,"musica","digite o link da musica","tocar","cancelar");
    return 
1;
}
//Dialog
if(dialogid == DIALOG_MUSIC)
{
    if(
response)
    {
        for(new 
i=0;i<MAX_PLAYERSi++)
        {
            new 
Float:X,Float:Y,Float:Z,Float:Distance 50.0;
            
GetPlayerPos(playerid,X,Y,Z);
            if(
strlen(inputtext) <= 1) return SCM(playerid0xFF0000FF"Erro: link invбlido!");
            
StopAudioStreamForPlayer(i);
            if(
GetDistanceBetweenPlayers(playeridi) <= 50.0)
            {
                  if(
IsPlayerConnected(i))
                {
                
PlayAudioStreamForPlayer(iinputtextXYZDistancetrue);
                }
            }
        }
    }

Reply
#7

Quote:
Originally Posted by ApocaSamp
Посмотреть сообщение
PHP код:
//Comeзo
#define DIALOG_MUSIC 1
//Comando
CMD:music(playeridparams[])
{
    
#pragma unused params
    
ShowPlayerDialog(playeridDIALOG_MUSICDIALOG_STYLE_INPUT,"musica","digite o link da musica","tocar","cancelar");
    return 
1;
}
//Dialog
if(dialogid == DIALOG_MUSIC)
{
    if(
response)
    {
        for(new 
i=0;i<MAX_PLAYERSi++)
        {
            new 
Float:X,Float:Y,Float:Z,Float:Distance 50.0;
            
GetPlayerPos(playerid,X,Y,Z);
            if(
strlen(inputtext) <= 1) return SCM(playerid0xFF0000FF"Erro: link invбlido!");
            
StopAudioStreamForPlayer(i);
            if(
GetDistanceBetweenPlayers(playeridi) <= 50.0)
            {
                  if(
IsPlayerConnected(i))
                {
                
PlayAudioStreamForPlayer(iinputtextXYZDistancetrue);
                }
            }
        }
    }

Deu esse erro: "error 017: undefined symbol "GetDistanceBetweenPlayers"

Pesquisando, vi que precisava da Stock


PHP код:
stock GetDistanceBetweenPlayers(player1player2)
{
new 
Float:p1xFloat:p2xFloat:p1yFloat:p2yFloat:p1zFloat:p2z;
GetPlayerPos(player1p1xp1yp1z);
GetPlayerPos(player2p2xp2yp2z);
new 
dist floatsqroot((floatpower((p2x p1x), 2) + floatpower((p2y p1y), 2) + floatpower((p2z p1z), 2)));
return 
dist;

Agora dб um Warning: "(907) : warning 213: tag mismatch"

Linha 907:
PHP код:
new dist floatsqroot((floatpower((p2x p1x), 2) + floatpower((p2y p1y), 2) + floatpower((p2z p1z), 2))); 
EDIT

Consegui, os ъnicos problemas que achei й que precisa do link direto do .mp3, queria adaptar no meu sistema atual, como mostra o tуpico.

E tambйm se possнvel, antes do dialog do nome da mъsica, um dialog com a distвncia desejada..
Reply
#8

Correto... Agora vocк cria um dialog onde o inputtext serб a distвncia!
Reply
#9

Quote:
Originally Posted by ApocaSamp
Посмотреть сообщение
Correto... Agora vocк cria um dialog onde o inputtext serб a distвncia!
Sou novato em Dialog ._.
Reply
#10

й simples, mais simples que sscanf. Onde vocк sу usa o parametro "inputtext"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)