Portal SAMP
[Ajuda] Transforma em um comando - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Transforma em um comando (/showthread.php?tid=609)



Transforma em um comando - LeleziiN - 05/01/2021

Como posso transforma isso para um comando só, tipo em vez de dois comandos - /RadioOn e /RadioOff seria só /Radio para as duas funções.
Como posso fazer?

Código:
        if(strcmp(cmd, "/RadioOn", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR ligada com sucesso");
            PlayAudioStreamForPlayer(playerid, "http://stream.zeno.fm/y458xxmyhm0uv.mp3");
              return 1;
        }
        if(strcmp(cmd, "/RadioOff", true) == 0)
        {
            SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR desligada");
            StopAudioStreamForPlayer(playerid);
            return 1;
        }
     return 1;
    }



RE: Transforma em um comando - Burunu - 05/01/2021

(05/01/2021 14:28)LeleziiN Escreveu: Como posso transforma isso para um comando só, tipo em vez de dois comandos - /RadioOn e /RadioOff seria só /Radio para as duas funções.
Como posso fazer?

Código:
        if(strcmp(cmd, "/RadioOn", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR ligada com sucesso");
            PlayAudioStreamForPlayer(playerid, "http://stream.zeno.fm/y458xxmyhm0uv.mp3");
              return 1;
        }
        if(strcmp(cmd, "/RadioOff", true) == 0)
        {
            SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR desligada");
            StopAudioStreamForPlayer(playerid);
            return 1;
        }
     return 1;
    }

Opa... Veja se deu certo, fiz rapidão aqui:
Código PHP:
new StatusRadio;
 if(
strcmp(cmd"/Radio"true) == 0){
        if(IsPlayerConnected(playerid)){
    
   if(StatusRadio == 0){
               SendClientMessage(playerid0xEEDC2DFF"Rádio TSVR ligada com sucesso");
                PlayAudioStreamForPlayer(playerid"http://stream.zeno.fm/y458xxmyhm0uv.mp3");
        
StatusRadio 1;
                return 1;
            
    
   }else if(StatusRadio == 1){
                 SendClientMessage(playerid0xEEDC2DFF"Rádio TSVR desligada");
                 StopAudioStreamForPlayer(playerid);
                 
StatusRadio 0;
                 return 1;
           }
    }
         return 1;
    



RE: Transforma em um comando - Hazard - 05/01/2021

eu recomendo usar uma variável somente para um id de player para evitar conflitos.

Código PHP:
new StatusRadio[MAX_PLAYERS];

StatusRadio[playerid] = 0;

StatusRadio[playerid] = 1



RE: Transforma em um comando - LeleziiN - 05/01/2021

(05/01/2021 14:43)Burunu Escreveu:
(05/01/2021 14:28)LeleziiN Escreveu: Como posso transforma isso para um comando só, tipo em vez de dois comandos - /RadioOn e /RadioOff seria só /Radio para as duas funções.
Como posso fazer?

Código:
        if(strcmp(cmd, "/RadioOn", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR ligada com sucesso");
            PlayAudioStreamForPlayer(playerid, "http://stream.zeno.fm/y458xxmyhm0uv.mp3");
              return 1;
        }
        if(strcmp(cmd, "/RadioOff", true) == 0)
        {
            SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR desligada");
            StopAudioStreamForPlayer(playerid);
            return 1;
        }
     return 1;
    }

Opa... Veja se deu certo, fiz rapidão aqui:
Código PHP:
new StatusRadio;
 if(
strcmp(cmd"/Radio"true) == 0){
        if(IsPlayerConnected(playerid)){
    
   if(StatusRadio == 0){
               SendClientMessage(playerid0xEEDC2DFF"Rádio TSVR ligada com sucesso");
                PlayAudioStreamForPlayer(playerid"http://stream.zeno.fm/y458xxmyhm0uv.mp3");
        
StatusRadio 1;
                return 1;
            
    
   }else if(StatusRadio == 1){
                 SendClientMessage(playerid0xEEDC2DFF"Rádio TSVR desligada");
                 StopAudioStreamForPlayer(playerid);
                 StatusRadio 0;
                 return 1;
           }
    }
         return 1;
    

Deu conflito. Não desliga a radio só liga


RE: Transforma em um comando - MarcosBrazz - 05/01/2021

Tente:
Código:
Topo GM:
new StatusRadio[MAX_PLAYERS];

Comando:

if(strcmp(cmd, "/Radio", true) == 0){
        if(IsPlayerConnected(playerid)){
        if(StatusRadio == 0){
        SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR ligada com sucesso");
                PlayAudioStreamForPlayer(playerid, "http://stream.zeno.fm/y458xxmyhm0uv.mp3");
        StatusRadio[playerid] = 1;
                return 1;
           
       }
    else
       {
                 SendClientMessage(playerid, 0xEEDC2DFF, "Rádio TSVR desligada");
                 StopAudioStreamForPlayer(playerid);
                 StatusRadio[playerid] = 0;
                 return 1;
           }
    }
         return 1;
    }



RE: Transforma em um comando - LeleziiN - 05/01/2021

Funcionou muito obrigado. Tive que só acrescenta o [playerid] na if(StatusRadio == 0;

e ficou assim if(StatusRadio[playerid] == 0)