Portal SAMP
[Ajuda] Ler Comandos - 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] Ler Comandos (/showthread.php?tid=2427)



Ler Comandos - MarginaL - 27/05/2022

Eu queria um comando que desse para ver outros comandos digitados por players.

Só acho formas de ver porém todos são Global.
Eu queria um que fosse penas de um player especifico. ( Ex: /VerCmd [id] )


RE: Ler Comandos - White_Blue - 27/05/2022

Você usa qual processador de comandos, EX: Pawn.CMD, zCmd.

E seu tópico está no fórum incorreto, isso não é um problema mobile.


RE: Ler Comandos - MarginaL - 27/05/2022

Uso o processador zcmd


RE: Ler Comandos - MarcosBrazz - 27/05/2022

Use esse exemplo:
Código:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    new string[256];
    format(string, sizeof(string), "[SPY CMDS] {FFFFFF}%s {FF6347}digitou o comando: ({FFFFFF}%s{FF6347})!", PlayerName(playerid), cmdtext);
    foreach(new i: Player)
    {
        if(VarSpy[i] == playerid)
        {
            SendClientMessage(i, COLOR_LIGHTRED, string);
        }
    }
}
Válido para o ZCMD, basta adaptar.


RE: Ler Comandos - MarginaL - 27/05/2022

Global assim fica dificil de investigar um certo player quando, se o servidor tiver com 100 players digitando cmds fica dificil.

Como faço pra ver apenas de um único player digitando comando?


RE: Ler Comandos - xbruno1000x - 27/05/2022

Seu problema não é mobile, por isso te dei 1 aviso e movi o tópico para a área correta. Atente-se da próxima vez.

Solução usando o código do MarcosBrazz:
Para ver os comandos de 1 único player, crie um variável booleana para cada playerid. Dessa forma, você verifica se a bool está como verdadeira, e caso esteja, executa a leitura do código.


RE: Ler Comandos - White_Blue - 27/05/2022

Teste assim:
Código PHP:
new Espiando[MAX_PLAYERS] = 0Espiou[MAX_PLAYERS] = 0;

public 
OnPlayerCommandPerformed(playeridcmdtext[], success) {
    new string[256], pName[MAX_PLAYER_NAME];
    GetPlayerName(playeridpnameMAX_PLAYER_NAME);
    for(new 0MAX_PLAYERSi++) {
    if(Espiando[playerid])
    {
      if(IsPlayerAdmin(i)) { // Troque pelo seu sistema de admin
      format(stringsizeof(string), "CMD: %s[%d] digitou o comando: %s"pnameplayeridcmdtext);
      SendClientMessage(i, -1string);
    }
      }
        }
         }
    return 1;
}

CMD:vercmds(playeridparams[]) {
 new 
plid;
 if(!
IsPlayerAdmin(playerid)) return 1;
  if(
sscanf(params"u"plid)) return SendClientMessage(playerid, -1"/vercmds [id]");
 if(
Espiou[playerid] == 0) {
 
Espiou[playerid] = 1;
 
Espiando[plid] = 1
 
SendClientMessage(playerid, -1"Agora você está vendo os comandos!");
 } else {
 
Espiou[playerid] = 0;
 
Espiando[playerid] = 0;
 
SendClientMessage(playerid, -1"Agora você não está mais vendo os comandos!");
 }
 return 
1;