Portal SAMP
[Ajuda] Verificação em strval(inputtext) - 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] Verificação em strval(inputtext) (/showthread.php?tid=1024)



Verificação em strval(inputtext) - KruCz - 02/04/2021

Boa tarde/noite users,
Estou fazendo uma pequena função em Dialig, porém, não consigo verificar se o nome preenchido no inputtext é igual ao do jogador que está executando a função.

O preenchimento nesse campo é por nick, e não por ID.

Código:
if(dialogid == 608)
{
    if(response)
   {
        if(strval(inputtext) == playerid) return SCM(playerid, -1, "Você não pode fazer isso você mesmo.");
        // função
    }
}



Dessa forma, se eu executar o comando, eu consigo realizar a função em mim.
Alguém poderia me ajudar?


RE: Verificação em strval(inputtext) - Vel - 02/04/2021

Você precisa pegar o nome do jogador e compará-lo com o input.
Código:
new nome[MAX_PLAYER_NAME];

GetPlayerName(playerid, nome);

if (!strcmp(inputtext, nome)) {
    return SCM(playerid, -1, "Você não pode fazer isso você mesmo.");
}

https://sampwiki.blast.hk/wiki/Strcmp_PT


RE: Verificação em strval(inputtext) - SvCross. - 02/04/2021

strval é usada para converter uma string para número inteiro, na ocasião se usa strcmp, que possuí a função de comparar, como foi feito pelo Vel.


RE: Verificação em strval(inputtext) - KruCz - 02/04/2021

(02/04/2021 14:12)Vel Escreveu: Você precisa pegar o nome do jogador e compará-lo com o input.
Código:
new nome[MAX_PLAYER_NAME];

GetPlayerName(playerid, nome);

if (!strcmp(inputtext, nome)) {
    return SCM(playerid, -1, "Você não pode fazer isso você mesmo.");
}

https://sampwiki.blast.hk/wiki/Strcmp_PT
Nesse caso, é apresentando um warning com a condição citada.
Código:
warning 202: number of arguments does not match definition

Linha:
Código:
if (!strcmp(inputtext, nome))



RE: Verificação em strval(inputtext) - k2bi_YT - 02/04/2021

Teste isso

Código PHP:
if(dialogid == 608)
{
    if(
response)
       {
           new 
name[25];
           
GetPlayerName(playeridnameMAX_PLAYER_NAME);
           if(
strcmp(inputtextnamefalse)) return SCM(playerid, -1"Você não pode fazer isso você mesmo.");
        }




RE: Verificação em strval(inputtext) - DMOURA - 03/04/2021

(02/04/2021 15:12)k2bi_YT Escreveu: Teste isso

Código PHP:
if(dialogid == 608)
{
    if(response)
       {
           new name[25];
           GetPlayerName(playeridnameMAX_PLAYER_NAME);
           if(strcmp(inputtextnamefalse)) return SCM(playerid, -1"Você não pode fazer isso você mesmo.");
        }

vai da bug strcmp tem q retornar 0 para ser igual



if(dialogid == 608)
{
    if(response)
       {
           new name[25];
           GetPlayerName(playeridnameMAX_PLAYER_NAME);
           if(!strcmp(inputtextnamefalse)) return SCM(playerid, -1"Você não pode fazer isso você mesmo.");
        }



RE: Verificação em strval(inputtext) - Dayvison - 03/04/2021

A resposta certa é a acima, porém eu te aconselho a usar sscanf para fazer isso, irá dar mais facilidade para o jogador digitar o nome ou parte do nome no campo.