Portal SAMP
[Ajuda] voip por frequencia - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP Mobile (https://portalsamp.com/forumdisplay.php?fid=11)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=12)
+--- Tópico: [Ajuda] voip por frequencia (/showthread.php?tid=2049)



voip por frequencia - fear - 19/01/2022

boa noite. encontrei um código de voip por frequencia.. porém estou com um problema.. toda vez que eu digito a frequencia e clica a tecla que eu coloquei pra ser a do radinho por voip... o servidor desliga. tem algo errado nesse código??


Código PHP:
#define MAX_RADIOS 999

new SV_GSTREAM:StreamFreq[MAX_RADIOS] = SV_NULL;
new 
IDStream[MAX_PLAYERS]; 

Código PHP:
CMD:radio(playeridparams[])
{
    new 
id;
    if(
sscanf(params"d"id)) return SendClientMessage(playerid, -1"Uso: /radio [frequencia]");
    if(
id == 0)
    {
        
SendClientMessage(playerid, -1"Radio Desligado com sucesso!");
        
StreamFreq[IDStream[playerid]] = SV_NULL;
    }

    
IDStream[playerid] = id;

    if(
StreamFreq[IDStream[id]] == SV_NULL)
    {
        
StreamFreq[IDStream[id]] = SvCreateGStream(0xFF00FFFF"Radio");
        
SvAttachListenerToStream(StreamFreq[IDStream[id]], playerid);
     }
     else
     {
        
SvAttachListenerToStream(StreamFreq[IDStream[id]], playerid);
    }
    return 
1;


Código PHP:
OnPlayerActivationKeyPress
    
if(keyid == 0x50 && IDStream[playerid] >= 1)
    {
        
SvAttachSpeakerToStream(StreamFreq[IDStream[playerid]], playerid);
        
SendClientMessage(playerid, -1"Botao Ativado(Em Ligacao)");
    }

OnPlayerActivationKeyRelease
    
if(keyid == 0x50 && IDStream[playerid] >= 1)
    {
        
SvDetachSpeakerFromStream(StreamFreq[IDStream[playerid]], playerid);
    } 



RE: voip por frequencia - fear - 19/01/2022

Peguei outro codigo ele funciona porém.. pra quem usa samp launcher ou apk ele somente ouve como eu faço pra add o botão ou uma tecla do samp launcher que funcione o radinho...

Código PHP:
    if (keyid == 0x52 && rstream[RadioFrenquencia[playerid]])
    {
            if(
RadioFrenquencia[playerid] != 0)
            {
                
SetPlayerSpecialAction(playeridSPECIAL_ACTION_USECELLPHONE);
                
SvAttachSpeakerToStream(rstream[RadioFrenquencia[playerid]], playerid);
            }
    } 

obs: Computador funcionou mas mobile só consegue ouvir e não consegue falar.. falta a tecla pro mobile especifico.. como faço??


RE: voip por frequencia - fear - 20/01/2022

Alguém sabe resolver isso??


RE: voip por frequencia - xbruno1000x - 20/01/2022

Movi o tópico para a área mobile em função de ter se tornado um problema exclusivo da plataforma.

Se estou bem lembrado, as teclas são adicionadas no source do APK.
Então creio não ser possível adicionar teclas ao APK Sa-mp Launcher, visto que não é possível acessar o código fonte.

Não existe a possibilidade de utilizar uma tecla pré-existente no APK?


RE: voip por frequencia - fear - 20/01/2022

(20/01/2022 17:36)xbruno1000x Escreveu: Movi o tópico para a área mobile em função de ter se tornado um problema exclusivo da plataforma.

Se estou bem lembrado, as teclas são adicionadas no source do APK.
Então creio não ser possível adicionar teclas ao APK Sa-mp Launcher, visto que não é possível acessar o código fonte.

Não existe a possibilidade de utilizar uma tecla pré-existente no APK?

Coloquei assim no codigo do voip mas não adiantou..

usei a tecla N do SAMP LAUNCHER mas o player segura a tecla e não sai nada igual..
eu coloquei como newkeys KEY_NO dentro do OnPlayerActivationKeyRelease e dentro do OnPlayerActivationKeyPress e mesmo assim não resolveu.. tu não sabe uma forma? to atrás a dias sobre e n consigo fazer funcionar.. no PC pego 100%

oibs: desculpa pelo tópico na area errada.. não me liguei que e um problema especifico sobre mobiles.


RE: voip por frequencia - xbruno1000x - 20/01/2022

(20/01/2022 18:30)fear Escreveu:
(20/01/2022 17:36)xbruno1000x Escreveu: Movi o tópico para a área mobile em função de ter se tornado um problema exclusivo da plataforma.

Se estou bem lembrado, as teclas são adicionadas no source do APK.
Então creio não ser possível adicionar teclas ao APK Sa-mp Launcher, visto que não é possível acessar o código fonte.

Não existe a possibilidade de utilizar uma tecla pré-existente no APK?

Coloquei assim no codigo do voip mas não adiantou..

usei a tecla N do SAMP LAUNCHER mas o player segura a tecla e não sai nada igual..
eu coloquei como newkeys KEY_NO dentro do OnPlayerActivationKeyRelease e dentro do OnPlayerActivationKeyPress e mesmo assim não resolveu.. tu não sabe uma forma? to atrás a dias sobre e n consigo fazer funcionar.. no PC pego 100%

oibs: desculpa pelo tópico na area errada.. não me liguei que e um problema especifico sobre mobiles.

Creio que o problema seja você ter usado "KEY_NO". Para o VoiceSamp deve-se utilizar o ID da tecla no Windows. A tecla N, por exemplo, é o ID 78. Substitua 0x50 por 0x78 e teste novamente.

O tópico foi criado na área certa, inicialmente era um problema de ambas plataformas. Movi agora por ter virado um problema somente do mobile.


RE: voip por frequencia - fear - 20/01/2022

(20/01/2022 20:03)xbruno1000x Escreveu:
(20/01/2022 18:30)fear Escreveu:
(20/01/2022 17:36)xbruno1000x Escreveu: Movi o tópico para a área mobile em função de ter se tornado um problema exclusivo da plataforma.

Se estou bem lembrado, as teclas são adicionadas no source do APK.
Então creio não ser possível adicionar teclas ao APK Sa-mp Launcher, visto que não é possível acessar o código fonte.

Não existe a possibilidade de utilizar uma tecla pré-existente no APK?

Coloquei assim no codigo do voip mas não adiantou..

usei a tecla N do SAMP LAUNCHER mas o player segura a tecla e não sai nada igual..
eu coloquei como newkeys KEY_NO dentro do OnPlayerActivationKeyRelease e dentro do OnPlayerActivationKeyPress e mesmo assim não resolveu.. tu não sabe uma forma? to atrás a dias sobre e n consigo fazer funcionar.. no PC pego 100%

oibs: desculpa pelo tópico na area errada.. não me liguei que e um problema especifico sobre mobiles.

Creio que o problema seja você ter usado "KEY_NO". Para o VoiceSamp deve-se utilizar o ID da tecla no Windows. A tecla N, por exemplo, é o ID 78. Substitua 0x50 por 0x78 e teste novamente.

O tópico foi criado na área certa, inicialmente era um problema de ambas plataformas. Movi agora por ter virado um problema somente do mobile.

Não pegou.. mobile só consegue ouvir... segue o código abaixo..

Código PHP:
public SV_VOID:OnPlayerActivationKeyPress(SV_UINT:playeridSV_UINT:keyid)
{
    if(
keyid == 0x51 && lstream[playerid])
    {

        
SvAttachSpeakerToStream(lstream[playerid], playerid); //local
    
}
    if (
keyid == 0x52 && rstream[RadioFrenquencia[playerid]])
    {
            if(
RadioFrenquencia[playerid] != 0)
            {
                
SetPlayerSpecialAction(playeridSPECIAL_ACTION_USECELLPHONE);
                
SvAttachSpeakerToStream(rstream[RadioFrenquencia[playerid]], playerid);
            }
    }
    if (
keyid == 0x78 && rstream[RadioFrenquencia[playerid]])
    {
            if(
RadioFrenquencia[playerid] != 0)
            {
                
SetPlayerSpecialAction(playeridSPECIAL_ACTION_USECELLPHONE);
                
SvAttachSpeakerToStream(rstream[RadioFrenquencia[playerid]], playerid);
            }
    }
    if(
keyid == 0x45 && gstream)
    {

        if(
GetPlayerAdminLevel(playerid) > 0)
        {

            
SvAttachSpeakerToStream(gstreamplayerid); //global
        
}
    }


Código PHP:
public SV_VOID:OnPlayerActivationKeyRelease(SV_UINT:playerid,SV_UINT:keyid)
{
    if(
keyid == 0x51 && lstream[playerid])
    {
        
SvDetachSpeakerFromStream(lstream[playerid], playerid);
    }
     if (
keyid == 0x52 && rstream[RadioFrenquencia[playerid]])
     {
            if(
RadioFrenquencia[playerid] != 0)
            {
                
SvDetachSpeakerFromStream(rstream[RadioFrenquencia[playerid]], playerid);
            }
    }
    if (
keyid == 0x78 && rstream[RadioFrenquencia[playerid]])
     {
            if(
RadioFrenquencia[playerid] != 0)
            {
                
SvDetachSpeakerFromStream(rstream[RadioFrenquencia[playerid]], playerid);
            }
    }
    if(
keyid == 0x45 && gstream)
    {

        if(
GetPlayerAdminLevel(playerid) > 0)
        {

            
SvDetachSpeakerFromStream(gstreamplayerid);
        }
    }

Código PHP:
        lstream[playerid] = SvCreateDLStreamAtPlayer(30.0SV_INFINITYplayerid0xff0000ff"L");
        
Msg(playeridCOLOR_RED"<!> {90EE90}VOIP: {FFFFFF}Carregado com sucesso!");
        if (
gstreamSvAttachListenerToStream(gstreamplayerid);
        
SvAddKey(playerid0x51);//Q - pc local
        
SvAddKey(playerid0x45);//F - pc global
        
SvAddKey(playerid0x52);//radinho pc
        
SvAddKey(playerid0x78);//radinho mobile
    




RE: voip por frequencia - Dath - 21/04/2022

Nunca programei muito pro samp focando no mobile então não sei se seria algo viável, mas será que não daria pra criar mais teclas usando textdraw clicavél? Talvez não funcionaria melhor já que seria algo nativo e não virtual como as teclas do apk e samp launcher?