[Ajuda] Erro no Loop
#1

Fala ai galera.
Alguйm poderia me ajudar, e me informar, aonde eu errei?

PHP код:
if (strcmp("/testar"cmdtexttrue10) == 0)
    {
        for(new 
0GetMaxPlayers(); i++)
        {
             
PlayAudioStreamForPlayer(i,"Link Mъsica",X,Y,Z3800);
            return 
1;
        }
    } 
Bom, eu estava fazendo um desses sistemas basicos de Som, e eu queria, que ao Digitar o comando, todos em uma determinada area(Dentro de um Raio) Ouvissem a mъsica que o DJ Tocar, e quem entrasse nesse Raio, passasse a ouvir o link que o DJ Colocou pra rodar.

Claro, que esse nгo й o CMD do sistema, mas й uma forma pra facilitar.

Entгo, Alguйm poderia me dizer o por que Apenas o ID 0( Pelo o que eu testei) Estб ouvindo a mъsica?

Obrigado!
Reply
#2

pawn Код:
if (strcmp("/testar", cmdtext, true, 10) == 0)  {

    for(new i = 0; i < GetMaxPlayers(); i++)  {

        if ( IsPlayerConnected(i) )
            PlayAudioStreamForPlayer(i,"Link Mъsica",X,Y,Z, 380, 0);

    }
}
Digamos que ao retornar true vocк estaria usando "break".
Reply
#3

Continua a mesma coisa, apenas o id 0 recebe a Mъsica.
Se tiver um id 1, id 2, id 3... na area desejada, ele nгo vai ouvir, apenas o 0.
=s
Reply
#4

Pelo seu pedido nгo entendi a necessidade de usar um loop.

pawn Код:
if (strcmp("/testar", cmdtext, true, 10) == 0)  {

    new Float: Pos[3];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    PlayAudioStreamForPlayer(playerid,"Link Mъsica",Pos[0], Pos[1], Pos[2], 380.0, 1);

}
Reply
#5

Eu simplesmente quero que quando o DJ coloca a mъsica(PlayAudioStreamForPlayer)
TODOS que estiverem em um determinado Raio, passam a ouvir a mъsica que ele Setou, e quem nao estiver nesse raio, nгo apareзa o link pra ela, mas a partir do momento que ela entrar no Raio, o link aparece, e entгo a mъsica passar a ser executada.
Deu pra entender?

O que ta acontecendo, й que quando o DJ Coloca a mъsica, apenas o Menor ID do servidor recebe o link.
Fiz um teste com o seguinte comando:

Код:
if (strcmp("/testar", cmdtext, true, 10) == 0)
	{
    	    for(new i=0; i<MAX_PLAYERS; i++)
    	    {
 	        if(IsPlayerConnected(i))
		    {
   				SendClientMessage(i, -1, "Funcionando");
				return 1;
	  	}
		}
	}
E entгo, apenas o menor ID do servidor recebeu a mensagem "Funcionando".
Ninguйm sabe o que й isso? ou o que eu errei no CMD?
Reply
#6

OK.

Faзa o teste e veja vocк mesmo.

pawn Код:
public OnGameModeInit()
{

    for ( new i = 0; i < 20; i++ ) {
   
        printf("%i", i);


   
    }

    return 1;
}
E:

pawn Код:
public OnGameModeInit()
{

    for ( new i = 0; i < 20; i++ ) {
   
        printf("%i", i);
        return true;

   
    }

    return 1;
}
Quanto a funзгo:

https://sampwiki.blast.hk/wiki/PlayAudioStreamForPlayer

De uma lida na parte de parвmetros que possivelmente acharб seu erro.
Reply
#7

Nгo tem como, se o Player nгo estiver no raio e depois ele entrar nгo tem como iniciar a musica naquele ponto que ela estб e sim seria iniciado do 0.. entгo nгo ficaria legal..
Reply
#8

Aeeeeeeeeee, segui o que tu me disse iCasTiel, tinha que tirar o return 1;
Obrigado, Obrigado mesmo iCasTiel
@Resolvido
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)