[Ajuda] Attach som no veнculo
#1

Fiz esse comando /rбdio para carros, som automotivo, mas digito o comando e o som fica no lugar que eu digito(Obvio pois eu digito o comando e pego a coordenada no momento que digitei o comando), e quero saber como faзo para fazer esse som ir junto para onde o veнculo ir, eu jб procurei por todo o fуrum, e no ****** inclusive, espero que me ajudem.
Code:
CMD:radio(playerid)
{
 	if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em um veiculo.");
	{
	    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Vocк precisa ser o motorista do veнculo para usar esse comando.");
		{
			for(new Rad = 0; Rad < MAX_PLAYERS; Rad++)
			{
			new Float:X, Float:Y, Float:Z;
			GetPlayerPos(playerid, X, Y, Z);
			
			PlayAudioStreamForPlayer(playerid,"http://108.61.73.117:8016",X,Y,Z,8.0,1);
			return 1;
			}
		}
	}
	return true;
}
Reply
#2

Nгo tem como fazer isso.
Reply
#3

Quote:
Originally Posted by Kuddy
View Post
Nгo tem como fazer isso.
E com o player, tem como?
Reply
#4

Quote:
Originally Posted by qSmoke
View Post
E com o player, tem como?
Nгo tem como mover o audio.
Reply
#5

faz algo como:

pawn Code:
new vehicleSom[4000][255];

Colocar na OnPlayerEnterVehicle
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid, vehicleSom[vehicleid]);

Colocar na OnPlayerExitVehicle
    StopAudioStreamForPlayer(playerid);

Comando de desligar o som colocar:
    StopAudioStreamForPlayer(playerid);
    format(vehicleSom[GetPlayerVehicleID(playerid)], 128, " ");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
        {
            StopAudioStreamForPlayer(i);
            PlayAudioStreamForPlayer(i, vehicleSom[GetPlayerVehicleID(playerid)]);
        }
    }
   
Comando de ligar o som:

    strmid(vehicleSom[GetPlayerVehicleID(playerid)], "[URL]", 0, 255, 255);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
        {
            StopAudioStreamForPlayer(i);
            PlayAudioStreamForPlayer(i, vehicleSom[GetPlayerVehicleID(playerid)]);
        }
    }
Reply
#6

Quote:
Originally Posted by Felipe_Freeze
View Post
faz algo como:

pawn Code:
new vehicleSom[4000][255];

Colocar na OnPlayerEnterVehicle
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid, vehicleSom[vehicleid]);

Colocar na OnPlayerExitVehicle
    StopAudioStreamForPlayer(playerid);

Comando de desligar o som colocar:
    StopAudioStreamForPlayer(playerid);
    format(vehicleSom[GetPlayerVehicleID(playerid)], 128, " ");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
        {
            StopAudioStreamForPlayer(i);
            PlayAudioStreamForPlayer(i, vehicleSom[GetPlayerVehicleID(playerid)]);
        }
    }
   
Comando de ligar o som:

    strmid(vehicleSom[GetPlayerVehicleID(playerid)], "[URL]", 0, 255, 255);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
        {
            StopAudioStreamForPlayer(i);
            PlayAudioStreamForPlayer(i, vehicleSom[GetPlayerVehicleID(playerid)]);
        }
    }
Eu ia fazer dessa maneira, mas quero algo mais RP...
+REP por tentar ajudar ^^
Reply
#7

Й que desse modo sу toca pra quem estб dentro do carro, pra fazer tocar pra quem tб fora й mais osso, mas da pra tentar fazer algo com GetPlayerPos uma funзгo de jб estar ouvindo alguma rбdio para nгo dar bug e ir atualizando a posiзгo com um timer e checar se o carro em que o player escuta a musica ainda estб perto se estiver continua se nгo estiver para e se ele nгo estiver ouvindo mas um carro estiver perto ele comeзa a tocar kk

Sussu de fazer, sу da um trabalhinho pra nгo deixar ter bugs.
Reply
#8

Eu estou conseguindo fazer, falta sу uma coisa, observe.
Tб aqui o comando
Code:
CMD:radio(playerid)
{
 	if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em um veiculo.");
	{
	    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Vocк precisa ser o motorista do veнculo para usar esse comando.");
		{
			PlayAudioStreamForPlayer(playerid,"http://108.61.73.117:8016",Pos0,Pos1,Pos2,8.0,1);
    		SetTimer("Radio", 1000, true);
		}
	}
	return true;
}
Tб aqui a public
Code:
forward Radio(playerid);
public Radio(playerid)
{
	new Float:Pos0, Float:Pos1, Float:Pos2;
	new vehicleid = GetPlayerVehicleID(playerid);
	GetVehiclePos(vehicleid, Pos0, Pos1, Pos2);
}
Dб um erro, porque o comando nгo reconhece a new da public "new Float:Pos0, Float:Pos1, Float:Pos2;" se souber como me ajudar....
Reply
#9

й pq tu n crio a new Float:Pos0, Float:Pos1, Float:Pos2; no comando, apenas na funзгo.

E tipo desse geito vai fica paradando e comeзando a rбdio sem parar.
Reply
#10

Se for so pra uma pessoa ouvir... tira a posiзгo do PlayAudioStreamForPlayer, que ae toca em qualquer lugar '-'


@Edit
Fail... vi agora o codigo, tem um loop la, em todos os players .-.

@Edit2:
Mas ainda da pra usar assim .-.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)