SA-MP Forums Archive
[AJUDA]SendClientMessage - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA]SendClientMessage (/showthread.php?tid=259401)



[AJUDA]SendClientMessage - Keiichi - 04.06.2011

pawn Код:
if(strcmp(cmdtext, "/trabalharpolicia", true) == 0){
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
if(strcmp(nome,"Tolkien, Mendigo., Tony",false) == 0) //SE O NOME FOR # VAI EXECUTAR
{
SendClientMessage(playerid, COLOR_YELLOW,"Vocк estб trabalhando como Policial.");
pTeam[playerid] = time_polic;
SetPlayerSkin(playerid, 280);
SetPlayerInterior(playerid,6);
SetPlayerPos(playerid, 246.7079,66.2239,1003.6406);
return 1;
}
return 1;
}
return 0;
}
Preciso fazer um SendClientMessage para o player que nгo tiver os nomes acima.
Como faзo?


Re: [AJUDA]SendClientMessage - Shadoww5 - 04.06.2011

Acho que o Luxurion apagou o seu ultimo topico. Mas continuando

Pronto. Consertei:

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/trabalharpolicia"true) == 0)
    {
        
SendClientMessage(playeridCOLOR_YELLOW,"Vocк estб trabalhando como Policial.");
        
pTeam[playerid] = time_polic;
        
SetPlayerSkin(player280);
        
SetPlayerPos(playerid,246.7079,66.2239,1003.6406);
        
SetPlayerInterior(playerid6);
        return 
1;
    }
    return 
0;

Mas este comando ai todo mundo pode usar, nгo hб restriзгo alguma.

Mesmo assim irei colocar como vocк quer:

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/trabalharpolicia"true) == 0)
    {
        new 
nome[MAX_PLAYER_NAME];
        
GetPlayerName(playerid,nome,sizeof(nome));
        if(
strcmp(nome"NOME1",false) == || strcmp(nome"NOME2"false) == 0)
        {
            
SendClientMessage(playeridCOLOR_YELLOW,"Vocк estб trabalhando como Policial.");
            
pTeam[playerid] = time_polic;
            
SetPlayerSkin(player280);
            
SetPlayerPos(playerid,246.7079,66.2239,1003.6406);
            
SetPlayerInterior(playerid6);
            return 
1;
        }
        return 
1;
    }    
    return 
0;

OBS: Substitua "NOME1" e "NOME2" pelos nomes do jogadores, mas eles devem estar perfeitamente igual, pois se tiver uma letra maiscula no nome e o "NOME1" nгo tiver tal letra o codigo nгo completa.

Entretanto, se vocк quiser "desprezar" o Caps Lock, basta substituir o false (que estб do lado do "NOME1" e "NOME2") por true


#EDIT

Vocк nгo pode juntar todos os nomes em um "strcmp" sу. O "strcmp" serve para comparar duas coisas. Ex:

PHP код:
new nome[MAX_PLAYER_NAME]; //CRIA A VARIAVEL QUE SERБ DEFINIDA COMO O NOME DO JOGADOR
GetPlayerName(playerid,nome,sizeof(nome)); // PEGA O NOME DE QUEM DIGITOU O COMANDO E DEFINE COMO nome
if(strcmp(nome"Shadoww5",false) == 0//VERIFICA SE O nome Й IGUAL А Shadoww5 
Caso vocк queira fazer duas comparaзхes de uma vez sу, faзa assim:

PHP код:
if(strcmp(nome"Shadoww5",false) == || strcmp(nome"Keiichi",false) == 0// O "||" significa OU 
#EDIT 2

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/trabalharpolicia"true) == 0)
    {
        new 
nome[MAX_PLAYER_NAME];
        
GetPlayerName(playerid,nome,sizeof(nome));
        if(
strcmp(nome"NOME1",false) == || strcmp(nome"NOME2"false) == 0)
        {
            
SendClientMessage(playeridCOLOR_YELLOW,"Vocк estб trabalhando como Policial.");
            
pTeam[playerid] = time_polic;
            
SetPlayerSkin(player280);
            
SetPlayerPos(playerid,246.7079,66.2239,1003.6406);
            
SetPlayerInterior(playerid6);
        }
        else
        {
            
SendClientMessage(playerid, -1"Vocк nгo pode digitar este comando.");
        }
        return 
1;
    }    
    return 
0;




Re: [AJUDA]SendClientMessage - Pedraum - 04.06.2011

Acredito ser assim:

pawn Код:
if(strcmp(cmdtext, "/trabalharpolicia", true) == 0){
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
if(strcmp(nome,"Tolkien, Mendigo., Tony",false) == 0) //SE O NOME FOR # VAI EXECUTAR
{
SendClientMessage(playerid, COLOR_YELLOW,"Vocк estб trabalhando como Policial.");
pTeam[playerid] = time_polic;
SetPlayerSkin(playerid, 280);
SetPlayerInterior(playerid,6);
SetPlayerPos(playerid, 246.7079,66.2239,1003.6406);
}
if(strcmp(!nome,"Tolkien, Mendigo., Tony",false) == 0)
return SendClientMessage(playerid, COLOR_YELLOW,"Vocк nгo pode ser policial");
}
return 1;
}
return 0;
}



Re: [AJUDA]SendClientMessage - Shadoww5 - 04.06.2011

Isto esta redundante e muito errado, Pedraum:

PHP код:
if(strcmp(!nome,"Tolkien, Mendigo., Tony",false) == 0)
return 
SendClientMessage(playeridCOLOR_YELLOW,"Vocк nгo pode ser policial");
// DO JEITO QUE VOCК FEZ O NOME DO JOGADOR DEVERIA SER Tolkien, Mendigo., Tony 
Para comparar algo e ver se estб da forma como vocк quer, faзa assim:

PHP код:
if(strcmp(string1,string2,true/false) == 0
Ou desta:

PHP код:
if(!strcmp(string1,string2,true/false)) 
Mas se vocк quiser verificar se as duas string nгo forem iguais deve ser assim:

PHP код:
if(strcmp(string1,string2,true/false) == -1



Re: [AJUDA]SendClientMessage - Pedraum - 04.06.2011

Opa, obrigado pela correзгo!


Re: [AJUDA]SendClientMessage - Shadoww5 - 04.06.2011

De nada ..


Re: [AJUDA]SendClientMessage - Keiichi - 04.06.2011

AFF nao entendi tem como explicar melhor, e porque estб dando erro??
pawn Код:
if(strcmp(cmdtext, "/trabalharpolicia", true) == 0){
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
if(strcmp(nome, "Tony",true) == 0 || strcmp(nome, "Mendigo", true) == 0 || strcmp(nome, "Tolkien", true) == 0 || strcmp(nome, "D4RK_S0RC3R3R", false) == 0 || strcmp(nome, "Dominic_toretto", true) == 0
{
SendClientMessage(playerid, COLOR_YELLOW,"Vocк estб trabalhando como Policial.");
pTeam[playerid] = time_polic;
SetPlayerSkin(playerid, 280);
SetPlayerInterior(playerid,6);
SetPlayerPos(playerid, 246.7079,66.2239,1003.6406);
return 1;
}
return 1;
}
return 0;
}
O erro:
Код:
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(5161) : error 029: invalid expression, assumed zero
A linha
pawn Код:
{
<< й, й so isso mesmo na linha


Re: [AJUDA]SendClientMessage - Shadoww5 - 04.06.2011

Troca a linha 5160 por isto:

PHP код:
if(strcmp(nome"Tony",true) == || strcmp(nome"Mendigo"true) == || strcmp(nome"Tolkien"true) == || strcmp(nome"D4RK_S0RC3R3R"false) == || strcmp(nome"Dominic_toretto"true) == 0



Re: [AJUDA]SendClientMessage - Keiichi - 04.06.2011

Blz ja consegui vlw.


Re: [AJUDA]SendClientMessage - Keiichi - 04.06.2011

Tem como eu fazer pra quando os civis digitar /policiais aparece os policiais online, e se o player digitar /procurados aparecer os players que tem Wanted level, e junto com isso do wanted level. Tem como adicionar um comando de /prender com timer ex: /prender id minutos

EDIT: E outra coisa, pra nao poder prender policiais e admins. tem como?