[Ajuda] Som em uma determinada area
#1

Bom galera, andei procurando por ai, e achei 2 tуpicos com o mesmo assunto, porem os 2 sem sucesso...

Os cуdigos que tentei foi o seguinte:
PHP код:
PlayAudioStreamForPlayer(playerid,"STREAMER AQUI",X,Y,Z,8.0,1); 
PHP код:
public OnPlayerUpdate(playerid)
{
    if(
IsPlayerInRangeOfPoint(playeridFloat:distance 50.0Float:posX 0.0Float:posY 0.0Float:posZ 0.0)) 
    {
        
PlayAudioStreamForPlayer(playeridurl[], Float:posX 0.0Float:posY 0.0Float:posZ 0.0Float:distance 50.0usepos 0)
    }
    return 
1;

Alguem sabe de outro que faz tocar a mъsica em uma determinada regiгo ?! Estou criando um sistema de festas para o servidor, e a cada 2 dias vai ser um tipo de mъsica diferente, eu ja tenho os ID's das webrбdios, so falta um cуdigo que funcione... Obs: O server jб tem sistema de rбdio e tals...

------ Acressimo ------

Usando este cуdigo, atй que vai:
PHP код:
public OnPlayerUpdate(playerid)
{
    if(
IsPlayerInRangeOfPoint(playerid,50.0,53.4001,-1530.7544,5.2698))
    {
        
PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",53.4001,-1530.7544,5.2698,8.0,1);
    }
    return 
1;

Mais como fica: ( Parece atй flood de spam hacker )
Reply
#2

Pra quк outro tуpico? Vocк parece um bebкzinho que nгo consegue o que quer e fica chorando.

PHP код:
if(IsPlayerInRangeOfPoint(playerid,50.0,53.4001,-1530.7544,5.2698)) return PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",53.4001,-1530.7544,5.2698,8.0,1); 
Isto deve resolver o seu problema.

Abraзos,
Reply
#3

Olha eu nao recomendaria usar o PlayerUpdate, vocк poderia usar um time em uma public, mas usando esse modo VC deveria por alguma variavel tipo assim:
PHP код:
new bool:SomPlayer[MAX_PLAYERS];//topo do Gm
public OnPlayerUpdate(playerid

    if(
IsPlayerInRangeOfPoint(playerid,50.0,53.4001,-1530.7544,5.2698 && SomPlayer[playerid] = true)) 
    { 
        
PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",53.4001,-1530.7544,5.2698,8.0,1); 
SomPlayer[playerid] = true;
    } 
    else
    {
          
SomPlayer[playerid] = false;
    }
    return 
1

Nгo testei, e essa logica nгo estб muito boa pois estou pelo celular, mas essa й uma base, mas como te disse , crie uma public , e use settimer й muito melhor.
Reply
#4

Estarei tentando, os cуdigos de vocкs, ja ja voltarei aqui para dar notнcia, Valeus...

E Luan, o outro й som automotivo, e este aqui й som em uma certa бreas, os assuntos sгo diferentes '-'
Reply
#5

Ou se nгo, faзa uma callback e execute um SetTimerEx.
Reply
#6

@Luan, este cуdigo nгo funcionou, quando cheguei no lugar nгo comeзou a tocar mъsica nгo...
@Diego, seu cуdigo faz sentido, eu tentei dar uma mudada aqui tambйm, mais tambйm nгo funcionou nгo...
PHP код:
public OnPlayerUpdate(playerid)
{
    if(
IsPlayerInRangeOfPoint(playerid,50.0,53.4001,-1530.7544,5.2698 && SomPlayer[playerid] = true))
    {
        
PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",53.4001,-1530.7544,5.2698,8.0,1);
        
SomPlayer(playeridtrue);
    }
    else
    {
           
SomPlayer(playeridfalse);
    }
    return 
1;

Reply
#7

Quote:
Originally Posted by MarlboroBr
Посмотреть сообщение
@Luan, este cуdigo nгo funcionou, quando cheguei no lugar nгo comeзou a tocar mъsica nгo...
@Diego, seu cуdigo faz sentido, eu tentei dar uma mudada aqui tambйm, mais tambйm nгo funcionou nгo...
PHP код:
public OnPlayerUpdate(playerid)
{
    if(
IsPlayerInRangeOfPoint(playerid,50.0,53.4001,-1530.7544,5.2698 && SomPlayer[playerid] = true))
    {
        
PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",53.4001,-1530.7544,5.2698,8.0,1);
        
SomPlayer(playeridtrue);
    }
    else
    {
           
SomPlayer(playeridfalse);
    }
    return 
1;

Vocк estб bкbado? Isso nгo vai funcionar nunca.
Reply
#8

Quote:
Originally Posted by DiegoLeo
Посмотреть сообщение
Olha eu nao recomendaria usar o PlayerUpdate, vocк poderia usar um time em uma public, mas usando esse modo VC deveria por alguma variavel tipo assim:
PHP код:
new bool:SomPlayer[MAX_PLAYERS];//topo do Gm
public OnPlayerUpdate(playerid

    if(
IsPlayerInRangeOfPoint(playerid,50.0,53.4001,-1530.7544,5.2698 && SomPlayer[playerid] = true)) 
    { 
        
PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",53.4001,-1530.7544,5.2698,8.0,1); 
SomPlayer[playerid] = true;
    } 
    else
    {
          
SomPlayer[playerid] = false;
    }
    return 
1

Nгo testei, e essa logica nгo estб muito boa pois estou pelo celular, mas essa й uma base, mas como te disse , crie uma public , e use settimer й muito melhor.
Acho que essa logica ja mais funcionara.

Vocк primeiro esta vendo se a variбvel SomPlayer[playerid] й verdadeira, e caso for vocк seta ela verdadeira?
Reply
#9

Essa lуgica nгo estб certa, pois em uma condiзгo deve se usar duas igualdades. E tambйm nunca vai executar, pois a booleana recebe o valor de False logo quando й criada.

Fiz esse, porйm nгo testei.
PHP код:
#include <a_samp>
new bool:TocandoSom[MAX_PLAYERS];
forward AtualizarSom(playerid);
public 
AtualizarSom(playerid) {
    if(
IsPlayerInRangeOfPoint(playerid50.053.4001, -1530.75445.269 && TocandoSom[playerid] == false) {
        
PlayAudioStreamForPlayer(playerid"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?"53.4001, -1530.75445.269810.01);
        
TocandoSom[playerid] = true;
    }
    else {
        
TocandoSom[playerid] = false;
        
StopAudioStreamForPlayer(playerid);
        
SendClientMessage(playerid, -1"Vocк saiu das coordenadas e o som parou!");
    }
    return 
1;
}
SetTimerEx("AtualizarSom"1000true"i"playerid); 
Reply
#10

Luan sу tive um erro aqui: No "SetTimer"
PHP код:
error 021symbol already defined"SetTimerEx" 
O outro era so fechar um colchete no "false))"
Reply
#11

Quote:
Originally Posted by MarlboroBr
View Post
Luan sу tive um erro aqui: No "SetTimer"
PHP Code:
error 021symbol already defined"SetTimerEx" 
O outro era so fechar um colchete no "false))"
Coloque o SetTimerEx dentro do OnPlayerConnect.
Reply
#12

Ai que danou a da erro Los, eu acho que й tem que criar um #define
Reply
#13

Quote:
Originally Posted by MarlboroBr
View Post
Ai que danou a da erro Los, eu acho que й tem que criar um #define
E vocк vai definir o que, jб que SetTimerEx й uma funзгo nativa?

Mostre como esta o cуdigo atualmente.
Reply
#14

Obs: Coloquei no fim do GM para ficar mais organizado...
Assim:
PHP Code:
        // Musica show
        
new bool:TocandoSom[MAX_PLAYERS];
        
forward AtualizarSom(playerid);
        public 
AtualizarSom(playerid)
        {
        if(
IsPlayerInRangeOfPoint(playerid50.053.4001, -1530.75445.269 && TocandoSom[playerid] == false))
    {
        
PlayAudioStreamForPlayer(playerid"http://195.154.34.36:8200"53.4001, -1530.75445.269810.01);
        
TocandoSom[playerid] = true;
    }
    else
    {
        
TocandoSom[playerid] = false;
        
StopAudioStreamForPlayer(playerid);
        
SendClientMessage(playerid, -1"Vocк saiu das coordenadas e o som parou!");
    }
    return 
1;

Reply
#15

Quote:
Originally Posted by MarlboroBr
View Post
Obs: Coloquei no fim do GM para ficar mais organizado...
Assim:
PHP Code:
        // Musica show
        
new bool:TocandoSom[MAX_PLAYERS];
        
forward AtualizarSom(playerid);
        public 
AtualizarSom(playerid)
        {
        if(
IsPlayerInRangeOfPoint(playerid50.053.4001, -1530.75445.269 && TocandoSom[playerid] == false))
    {
        
PlayAudioStreamForPlayer(playerid"http://195.154.34.36:8200"53.4001, -1530.75445.269810.01);
        
TocandoSom[playerid] = true;
    }
    else
    {
        
TocandoSom[playerid] = false;
        
StopAudioStreamForPlayer(playerid);
        
SendClientMessage(playerid, -1"Vocк saiu das coordenadas e o som parou!");
    }
    return 
1;

Primeiramente, idente este cуdigo.

Segundo, a variбvel booleana TocandoSom vai em baixo das includes.
Reply
#16

Bom, agora removeu o erro Los, porem quando cheguei no local, a mъsica nгo tocou, creio eu que nгo seja erro de coordenadas...

Mais na dъvida aqui estб a coordenada caso alguem pense que seja:
PHP Code:
AddStaticVehicle(522,49.3584,-1527.7935,4.6786,82.4998,3,3); // PEDAGIO 
OBS: E na ponte da saida de LS para SF... Perto da praia... Coloquei no cуdigo assim:
PHP Code:
if(IsPlayerInRangeOfPoint(playerid50.049.3584, -1527.7934.6786 && TocandoSom[playerid] == false)) 
Reply
#17

PHP Code:
public OnPlayerConnect(playerid)
{
    
PlayAudioStreamForPlayer(playerid,"http://1k6.sscdn.co/9/3/2/c/Rulez-10-luxuaria-eu-vou-luxar-no-ar-a1bd29.mp3?",49.3584, -1527.79354.67868.01); 
    return 
1;

Reply
#18

Aaaaaaaaaaaaaaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeee BOA PT DLC kkk'

Obrigado a todos... Mais tipo PT, aqui jб tem uma intro, e depois que faz o login a mъsica para, acho que depois que para a mъsica nгo estб tocando la no local tambem... Vou ver direitinho...
Reply
#19

Й muito mais eficiente um SetTimer, do que colocar um SetTimerEx no OnPlayerConnect.
Reply
#20

Entгo Jonathan, Eu tive que fazer o seguinte para este cуdigo funcionar... Coloquei a Intro no onplayerconect, e a mъsica no onplayerrepawn...Dae toca a intro de boa, e depois б mъsica no local escolhido...

Sу que, a intro tem que ser pequena, porque se for mъsica grande, ou 1 rбdio, vai ter que usar o "stopaudio" e nгo irб tocar a mъsica lб no local.

Ъnico problema, й se a pessoa der /radios, mudar para outra radio, ou desligar a rбdio, quando chega na бrea que й para soltar o som ela nгo escultar... Nгo sei se tem como arrumar, mais por enquanto estou fazendo o seguinte... Irei colocar o "baile" no servidor, somente fins de semana, dae desativo a rбdio de intro, e as rбdios, para o pessoal poder se divertir na bala...
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)