[Ajuda] musica no carro
#1

tipo eu fiz um code aqui sу que ele ficou pegando a coordenada tipo eu dava /musicas ai quando escolhia a musica a musica tocava somente naquela coordenada gostaria que ele ficasse no carro quando o carro fosse andando ela ficasse tocando com o e nгo ficasse somente na coordenada que deu /musicas?

PHP код:
                 for(new 0MAX_PLAYERSi++)
    {
                    static 
Float:XFloat:YFloat:ZFloat:Distance 5.0;
                    
GetPlayerPos(iX,Y,Z);
                   
//    new Float:slx, Float:sly, Float:slz, Float:slDistance = 5.0;
                    
PlayAudioStreamForPlayer(i"https://dl.dropbox.com/s/ewoyr0ydsfcff4z/Lfao2.mp3"XYZDistance1);
                    } 
Reply
#2

Simples Use a funзгo sem os parametros Da posiзгo;
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
{
      PlayAudioStreamForPlayer( i, "dl.dropbox.com/s/ewoyr0ydsfcff4z/Lfao2.mp3" );
}
Reply
#3

sim, mais o som nгo vai ficar com a distancia :/
Reply
#4

Acho que se vocк fizer um settimer para atualizar a posiзгo do jogador, seria a melhor opзгo.
Reply
#5

poderia me explicar como ficaria pois estou comeзando agora seria muito grado
Reply
#6

pawn Код:
// No Topo do GM
new bool:AtivouMusica[MAX_PLAYERS];
new TimerAtuMusica[MAX_PLAYERS];

public OnPlayerDisconnect(playerid)
{
    // Resetamos a variavel para quando o jogador deslogar e logar outro com o mesmo ID nгo bulgar
    AtivouMusica[playerid] = false;
    KillTimer(TimerAtuMusica[playerid]);
    return 1;
}


// No cmd que ativa a musica

CMD:musicas(playerid)
{
    // Code aqui
    AtivouMusica[playerid] = true;
    TimerAtuMusica[playerid] = SetTimerEx("AtualizarMusica", 10000, true, "d", playerid);
    return 1;
}

// para atualizar

forward AtualizarMusica(playerid);
public AtualizarMusica(playerid)
{
    if(AtivouMusica[playerid] == true)
    {
        if(IsPlayerConnected(playerid))
        {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                static Float:X, Float:Y, Float:Z, Float:Distance = 5.0;
                GetPlayerPos(i, X,Y,Z);
                PlayAudioStreamForPlayer(i, "https://dl.dropbox.com/s/ewoyr0ydsfcff4z/Lfao2.mp3", X, Y, Z, Distance, 1);
            }
        }
    }
    return 1;
}

// Mude o tempo desejad para atualizar a posiзгo do jogador, no caso estб em 10 segundos,
Reply
#7

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
// No Topo do GM
new bool:AtivouMusica[MAX_PLAYERS];
new TimerAtuMusica[MAX_PLAYERS];

public OnPlayerDisconnect(playerid)
{
    // Resetamos a variavel para quando o jogador deslogar e logar outro com o mesmo ID nгo bulgar
    AtivouMusica[playerid] = false;
    KillTimer(TimerAtuMusica[playerid]);
    return 1;
}


// No cmd que ativa a musica

CMD:musicas(playerid)
{
    // Code aqui
    AtivouMusica[playerid] = true;
    TimerAtuMusica[playerid] = SetTimerEx("AtualizarMusica", 10000, true, "d", playerid);
    return 1;
}

// para atualizar

forward AtualizarMusica(playerid);
public AtualizarMusica(playerid)
{
    if(AtivouMusica[playerid] == true)
    {
        if(IsPlayerConnected(playerid))
        {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                static Float:X, Float:Y, Float:Z, Float:Distance = 5.0;
                GetPlayerPos(i, X,Y,Z);
                PlayAudioStreamForPlayer(i, "https://dl.dropbox.com/s/ewoyr0ydsfcff4z/Lfao2.mp3", X, Y, Z, Distance, 1);
            }
        }
    }
    return 1;
}

// Mude o tempo desejad para atualizar a posiзгo do jogador, no caso estб em 10 segundos,
Desse modo a funзгo "PlayAudioStreamForPlayer", nгo irб ser chamada varias vezes e irб bugar ?
Reply
#8

Nгo, pois apenas serб chamada ser a variavel

pawn Код:
AtivouMusica[playerid]
for igual a true

pois se a var for igual a false que dizer que ele nгo ligou a mъsica;
Reply
#9

mano a musica ta sendo chamada novamente a cada 10 segundos :/
Reply
#10

Aqui vai um exemplo, depois vocк adapta ao seu comando
pawn Код:
// Topo do gamemode
new Float:Pos[3];
new bool: Ouvindo[MAX_PLAYERS];
new Timer[MAX_PLAYERS];

// No comando /musicas
CMD:musicas(playerid, params[])
{
    Ouvindo[playerid] = true;
    PlayAudioStreamForPlayer(playerid, "link", Pos[0], Pos[1], Pos[2], 5.0);
    Timer[playerid] = SetTimerEx("Ouvir", 1000, true, "i", playerid);
    return 1;
}

// Na public OnPlayerDisconnect
public OnPlayerDisconnect(playerid)
{
       Ouvindo[playerid] = false;
       return 1;
}

// Final do gamemode
forward Ouvir(playerid);
public Ouvir(playerid)
{
    if(Ouvindo[playerid] == true)
    {
        GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    }
    else
        KillTimer(Timer[playerid]);
    return 1;
}
Onde possui a variavel "Ouvindo[playerid] = true;" vocк vai colocar dentro do seu comando de musicas, depois coloca "Ouvindo[playerid] = false", onde tem a opзгo para parar a radio , ao desligar, abaixo de "StopAudioStreamForPlayer"
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)