SA-MP Forums Archive
[Ajuda] Ajuda em um comando - 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] Ajuda em um comando (/showthread.php?tid=663301)



Ajuda em um comando - BrunoSayden177 - 27.01.2019

Boa tarde pessoal, eu montei um comando(/avisar) e deu 3 erros, passei um bom tempo tentando achar o problema e nгo consegui, se alguem puder me ajudar, ficarei muito grato

PHP код:
 CMD:avisar(playeridparams)
{
    if (
Player[playerid][pAdmin] >= 2)
    {
        new 
idmotivo[128];
        if (
sscanf(params"us"idmotivo))
        return 
SendClientMessage(playeridCOR_AZUL"|INFO| Use: /avisar [ID][Motivo]");
        if (!
IsPlayerConnected(id))
        return 
SendClientMessage(playeridCOR_VERMELHA"|ERRO| O Jogador informado nгo estб conectado!");
        
Player[id][pAvisos] = ++;
        new 
nameid[MAX_PLAYER_NAME];
        new 
nameadm[MAX_PLAYER_NAME];
        
GetPlayerName(playeridnameadmMAX_PLAYER_NAME);
        
GetPlayerName(idnameidMAX_PLAYER_NAME);
        
IdPlayer[id] = id;
        
IdPlayer[playerid] = playerid;
        new 
str[128];
        new 
str2[128];
        new 
str3[128];
        
format(strsizeof(str), "|BPD ADM| O Administrador(a) %s[%d] avisou o Jogador(a) %s[%d] pelo motivo de: %s"nameadmIdPlayer[playerid], nameidIdPlayer[id], motivo);
        
SendClientMessageToAll(COR_VERMELHAstr);
        
format(str2sizeof(str2), "|INFO| Vocк foi avisado pelo Administrador(a) %s[%d] pelo motivo: %s"nameadmIdPlayer[playerid], motivo);
        
SendClientMessage(idCOR_VERMELHAstr2);
        
format(str3sizeof(str3), "|AVISO| Vocк possui %d/3 avisos, contabilizando 3 avisos vocк serб preso no carandiru!"Player[playerid][pAvisos]);
        
SendClientMessage(idCOR_VERMELHAstr3);
        return 
1;
    }
    else
    {
        
SendClientMessage(playeridCOR_VERMELHA"|ERRO| Vocк nгo tem permiзгo!");
    }
    return 
1;

Erros:

PHP код:
C:\Users\Sayden177\Desktop\Brasil Play Drip\gamemodes\BPD.pwn(1052) : error035argument type mismatch (argument 1)
C:\Users\Sayden177\Desktop\Brasil Play Drip\gamemodes\BPD.pwn(1056) : error029invalid expressionassumed zero
C
:\Users\Sayden177\Desktop\Brasil Play Drip\gamemodes\BPD.pwn(1056 -- 1057) : error022must be lvalue (non-constant



Re: Ajuda em um comando - zF3lKy3 - 27.01.2019

PHP код:
 CMD:avisar(playeridparams

    if (
Player[playerid][pAdmin] >= 2
    { 
        new 
idmotivo[128]; 
        if (
sscanf(params"us[128]"idmotivo)) 
        return 
SendClientMessage(playeridCOR_AZUL"|INFO| Use: /avisar [ID][Motivo]"); 
        if (!
IsPlayerConnected(id)) 
        return 
SendClientMessage(playeridCOR_VERMELHA"|ERRO| O Jogador informado nгo estб conectado!"); 
        
Player[id][pAvisos] = ++; 
        new 
nameid[MAX_PLAYER_NAME]; 
        new 
nameadm[MAX_PLAYER_NAME]; 
        
GetPlayerName(playeridnameadmMAX_PLAYER_NAME); 
        
GetPlayerName(idnameidMAX_PLAYER_NAME); 
        
IdPlayer[id] = id
        
IdPlayer[playerid] = playerid
        new 
str[128]; 
        new 
str2[128]; 
        new 
str3[128]; 
        
format(strsizeof(str), "|BPD ADM| O Administrador(a) %s[%d] avisou o Jogador(a) %s[%d] pelo motivo de: %s"nameadmIdPlayer[playerid], nameidIdPlayer[id], motivo); 
        
SendClientMessageToAll(COR_VERMELHAstr); 
        
format(str2sizeof(str2), "|INFO| Vocк foi avisado pelo Administrador(a) %s[%d] pelo motivo: %s"nameadmIdPlayer[playerid], motivo); 
        
SendClientMessage(idCOR_VERMELHAstr2); 
        
format(str3sizeof(str3), "|AVISO| Vocк possui %d/3 avisos, contabilizando 3 avisos vocк serб preso no carandiru!"Player[playerid][pAvisos]); 
        
SendClientMessage(idCOR_VERMELHAstr3); 
        return 
1
    } 
    else 
    { 
        
SendClientMessage(playeridCOR_VERMELHA"|ERRO| Vocк nгo tem permiзгo!"); 
    } 
    return 
1




Re: Ajuda em um comando - BrunoSayden177 - 27.01.2019

Quote:
Originally Posted by zF3lKy3
Посмотреть сообщение
PHP код:
 CMD:avisar(playeridparams

    if (
Player[playerid][pAdmin] >= 2
    { 
        new 
idmotivo[128]; 
        if (
sscanf(params"us[128]"idmotivo)) 
        return 
SendClientMessage(playeridCOR_AZUL"|INFO| Use: /avisar [ID][Motivo]"); 
        if (!
IsPlayerConnected(id)) 
        return 
SendClientMessage(playeridCOR_VERMELHA"|ERRO| O Jogador informado nгo estб conectado!"); 
        
Player[id][pAvisos] = ++; 
        new 
nameid[MAX_PLAYER_NAME]; 
        new 
nameadm[MAX_PLAYER_NAME]; 
        
GetPlayerName(playeridnameadmMAX_PLAYER_NAME); 
        
GetPlayerName(idnameidMAX_PLAYER_NAME); 
        
IdPlayer[id] = id
        
IdPlayer[playerid] = playerid
        new 
str[128]; 
        new 
str2[128]; 
        new 
str3[128]; 
        
format(strsizeof(str), "|BPD ADM| O Administrador(a) %s[%d] avisou o Jogador(a) %s[%d] pelo motivo de: %s"nameadmIdPlayer[playerid], nameidIdPlayer[id], motivo); 
        
SendClientMessageToAll(COR_VERMELHAstr); 
        
format(str2sizeof(str2), "|INFO| Vocк foi avisado pelo Administrador(a) %s[%d] pelo motivo: %s"nameadmIdPlayer[playerid], motivo); 
        
SendClientMessage(idCOR_VERMELHAstr2); 
        
format(str3sizeof(str3), "|AVISO| Vocк possui %d/3 avisos, contabilizando 3 avisos vocк serб preso no carandiru!"Player[playerid][pAvisos]); 
        
SendClientMessage(idCOR_VERMELHAstr3); 
        return 
1
    } 
    else 
    { 
        
SendClientMessage(playeridCOR_VERMELHA"|ERRO| Vocк nгo tem permiзгo!"); 
    } 
    return 
1

Continuou os mesmos erros...


Re: Ajuda em um comando - PedroH - 27.01.2019

PHP код:
Player[id][pAvisos] = ++; 
Coloque

PHP код:
Player[id][pAvisos]++; 



Re: Ajuda em um comando - BrunoSayden177 - 27.01.2019

Quote:
Originally Posted by PedroH
Посмотреть сообщение
PHP код:
Player[id][pAvisos] = ++; 
Coloque

PHP код:
Player[id][pAvisos]++; 
Arrumou 2 erros, porйm continua o erro na linha 1052


Re: Ajuda em um comando - PedroH - 27.01.2019

Faltou declara params como um array

PHP код:
CMD:avisar(playeridparams[]) 



Re: Ajuda em um comando - BrunoSayden177 - 27.01.2019

Quote:
Originally Posted by PedroH
Посмотреть сообщение
Faltou declara params como um array

PHP код:
CMD:avisar(playeridparams[]) 
Vlw, dei muito mole kkk


Re: Ajuda em um comando - elTioFrame - 27.01.2019

Cara uma coisa que eu lhe recomendo muito a fazer, й tentar sempre otimizar o cуdigo no mбximo que conseguir.

Vou lhe dar um exemplo:

PHP код:
CMD:avisar(playeridparams

    if (
Player[playerid][pAdmin] >= 2
    { 
        new 
idmotivo[128]; 
        if (
sscanf(params"us"idmotivo)) return SendClientMessage(playeridCOR_AZUL"|INFO| Use: /avisar [ID][Motivo]"); //nгo й necessбrio retorna o erro em outra linha 
        
if (!IsPlayerConnected(id)) return SendClientMessage(playeridCOR_VERMELHA"|ERRO| O Jogador informado nгo estб conectado!"); //mesmo caso acima 
        
Player[id][pAvisos]++; //aqui й outra coisa, por exemplo: vocк quer adicionar + 1 a uma tal variavel ent se usa ++ isso se chama incremento й bem mais simplificado 
        
new nameid[MAX_PLAYER_NAME], nameadm[MAX_PLAYER_NAME]; //use vнrgulas para criar varнav assim economiza mais linhas e assim otimiza o cуdigo 
        
GetPlayerName(playeridnameadmMAX_PLAYER_NAME); 
        
GetPlayerName(idnameidMAX_PLAYER_NAME); 
        
IdPlayer[id] = id//nгo entendi muito bem o porquк disso, mas se oque vocк queria era o id do player jб possui a var "id" que foi usada no parвmetro do comando entгo podemos utilizar ela em qualquer outro momento...
        
IdPlayer[playerid] = playerid//mesma coisa, jб possui o "playerid" definido lб encima em CMD:avisar(playerid) 
        
new str[128], str2[128], str3[128]; // mesmo caso acima. 
        
format(strsizeof(str), "|BPD ADM| O Administrador(a) %s[%d] avisou o Jogador(a) %s[%d] pelo motivo de: %s"nameadmIdPlayer[playerid], nameidIdPlayer[id], motivo); 
        
SendClientMessageToAll(COR_VERMELHAstr); 
        
format(str2sizeof(str2), "|INFO| Vocк foi avisado pelo Administrador(a) %s[%d] pelo motivo: %s"nameadmIdPlayer[playerid], motivo); 
        
SendClientMessage(idCOR_VERMELHAstr2); 
        
format(str3sizeof(str3), "|AVISO| Vocк possui %d/3 avisos, contabilizando 3 avisos vocк serб preso no carandiru!"Player[playerid][pAvisos]); 
        
SendClientMessage(idCOR_VERMELHAstr3); 
        return 
1
    } 
    else 
    { 
        
SendClientMessage(playeridCOR_VERMELHA"|ERRO| Vocк nгo tem permiзгo!"); 
    } 
    return 
1