Som em uma determinada area -
MarlboroBr - 17.03.2015
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(playerid, Float:distance = 50.0, Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0))
{
PlayAudioStreamForPlayer(playerid, url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 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 )
Re: Som em uma determinada area -
ipsLuan - 17.03.2015
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,
Re: Som em uma determinada area -
DiegoLeo - 17.03.2015
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.
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
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 '-'
Re: Som em uma determinada area -
ipsLuan - 17.03.2015
Ou se nгo, faзa uma callback e execute um SetTimerEx.
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
@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(playerid, true);
}
else
{
SomPlayer(playerid, false);
}
return 1;
}
Re: Som em uma determinada area -
ipsLuan - 17.03.2015
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(playerid, true);
}
else
{
SomPlayer(playerid, false);
}
return 1;
}
|
Vocк estб bкbado? Isso nгo vai funcionar nunca.
Re: Som em uma determinada area -
Ever_SH - 17.03.2015
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?
Re: Som em uma determinada area -
ipsLuan - 17.03.2015
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(playerid, 50.0, 53.4001, -1530.7544, 5.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.7544, 5.2698, 10.0, 1);
TocandoSom[playerid] = true;
}
else {
TocandoSom[playerid] = false;
StopAudioStreamForPlayer(playerid);
SendClientMessage(playerid, -1, "Vocк saiu das coordenadas e o som parou!");
}
return 1;
}
SetTimerEx("AtualizarSom", 1000, true, "i", playerid);
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
Luan sу tive um erro aqui: No "SetTimer"
PHP код:
error 021: symbol already defined: "SetTimerEx"
O outro era so fechar um colchete no "false))"
Re: Som em uma determinada area -
Lуs - 17.03.2015
Quote:
Originally Posted by MarlboroBr
Luan sу tive um erro aqui: No "SetTimer"
PHP Code:
error 021: symbol already defined: "SetTimerEx"
O outro era so fechar um colchete no "false))"
|
Coloque o SetTimerEx dentro do OnPlayerConnect.
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
Ai que danou a da erro Los, eu acho que й tem que criar um #define
Re: Som em uma determinada area -
Lуs - 17.03.2015
Quote:
Originally Posted by MarlboroBr
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.
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
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(playerid, 50.0, 53.4001, -1530.7544, 5.269 && TocandoSom[playerid] == false))
{
PlayAudioStreamForPlayer(playerid, "http://195.154.34.36:8200", 53.4001, -1530.7544, 5.2698, 10.0, 1);
TocandoSom[playerid] = true;
}
else
{
TocandoSom[playerid] = false;
StopAudioStreamForPlayer(playerid);
SendClientMessage(playerid, -1, "Vocк saiu das coordenadas e o som parou!");
}
return 1;
}
Re: Som em uma determinada area -
Lуs - 17.03.2015
Quote:
Originally Posted by MarlboroBr
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(playerid, 50.0, 53.4001, -1530.7544, 5.269 && TocandoSom[playerid] == false))
{
PlayAudioStreamForPlayer(playerid, "http://195.154.34.36:8200", 53.4001, -1530.7544, 5.2698, 10.0, 1);
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.
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
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(playerid, 50.0, 49.3584, -1527.793, 4.6786 && TocandoSom[playerid] == false))
Re: Som em uma determinada area -
PT - 17.03.2015
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.7935, 4.6786, 8.0, 1);
return 1;
}
Re: Som em uma determinada area -
MarlboroBr - 17.03.2015
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...
Re: Som em uma determinada area -
JonathanFeitosa - 17.03.2015
Й muito mais eficiente um SetTimer, do que colocar um SetTimerEx no OnPlayerConnect.
Re: Som em uma determinada area -
MarlboroBr - 18.03.2015
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...