[Ajuda] Comando nгo funciona
#1

Galera, criei o comando /logaradm para o admin apenas ter acesso aos seus comandos administrativos caso logue na administraзгo atravйs do comando acima, com uma senha definida na GM. Porйm ao digitar /logaradm, colocar a senha e clicar em logar, nгo acontece nada.

Comando:
pawn Код:
if(strcmp("/logaradm", cmdtext, true, 6) == 0)
    {
        if(pAdmin[playerid] >= 1)
        {
            ShowPlayerDialog(playerid, 15151515, DIALOG_STYLE_PASSWORD, "Login Administrativo", "Insira a senha da administraзгo:", "Logar", "Sair");
        }
        return 0x01;
    }
Dialog:
pawn Код:
if(dialogid == 15151515)
{
  if(response)
  {
     new senhaadm[256];
     senhaadm = "bcvirtual2018";
     if(strcmp(inputtext, senhaadm, true) == 0) {
     logadoadm[playerid] = 1;
     SendClientMessage(playerid, 0x058AFFFF, "| BCV-Admin | Bem vindo(a) %s seus comandos de %s foram carregados com sucesso!", PlayerName(playerid), CargoAdmin(playerid));
     }
     return true;
  }
  return false;
}
Alguйm sabe resolver?
Reply
#2

Quote:
Originally Posted by LeonardoMD
Посмотреть сообщение
Galera, criei o comando /logaradm para o admin apenas ter acesso aos seus comandos administrativos caso logue na administraзгo atravйs do comando acima, com uma senha definida na GM. Porйm ao digitar /logaradm, colocar a senha e clicar em logar, nгo acontece nada.

Comando:
pawn Код:
if(strcmp("/logaradm", cmdtext, true, 6) == 0)
    {
        if(pAdmin[playerid] >= 1)
        {
            ShowPlayerDialog(playerid, 15151515, DIALOG_STYLE_PASSWORD, "Login Administrativo", "Insira a senha da administraзгo:", "Logar", "Sair");
        }
        return 0x01;
    }
Dialog:
pawn Код:
if(dialogid == 15151515)
{
  if(response)
  {
     new senhaadm[256];
     senhaadm = "bcvirtual2018";
     if(strcmp(inputtext, senhaadm, true) == 0) {
     logadoadm[playerid] = 1;
     SendClientMessage(playerid, 0x058AFFFF, "| BCV-Admin | Bem vindo(a) %s seus comandos de %s foram carregados com sucesso!", PlayerName(playerid), CargoAdmin(playerid));
     }
     return true;
  }
  return false;
}
Alguйm sabe resolver?
Troca esse return false por return 1; e tire return true if(response)
Reply
#3

Quote:
Originally Posted by Electrifying
Посмотреть сообщение
Troca esse return false por return 1; e tire return true if(response)
Nгo resolveu, continuou do mesmo jeito...
Reply
#4

UP..
Reply
#5

O mбximo valor de ID que a callback OnDialogResponse aceita й 32767, sendo que vocк estб usando 15151515. Reduza esse nъmero .



Espero ter ajudado .
Reply
#6

Quote:
Originally Posted by rjjj
Посмотреть сообщение
O mбximo valor de ID que a callback OnDialogResponse aceita й 32767, sendo que vocк estб usando 15151515. Reduza esse nъmero .



Espero ter ajudado .
Nгo resolveu...
Reply
#7

Leonardo Recomendo Usar switch que e tipo iF mas vai lhe ajudar a ter mais organizaзгo!

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
15151515:
        {
            
// resto da dialog!
            
return true;
        }
    }
    return 
1;

pelo o resto do comando nao reconheзo o erro, mas vou continuar tentando ate lhe ajudar!
Reply
#8

Quote:
Originally Posted by vitinhosamp
Посмотреть сообщение
Leonardo Recomendo Usar switch que e tipo iF mas vai lhe ajudar a ter mais organizaзгo!

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
15151515:
        {
            
// resto da dialog!
            
return true;
        }
    }
    return 
1;

pelo o resto do comando nao reconheзo o erro, mas vou continuar tentando ate lhe ajudar!
Vlw por tentar ajudar mano, tmj! Nгo sei porque, mas esse dialog nгo funciona de jeito nenhum! Quando coloca a senha da administraзгo e clica em logar, nгo acontece nada!
Reply
#9

Quote:
Originally Posted by LeonardoMD
Посмотреть сообщение
Nгo resolveu...
Nгo sei se ficou claro, mas vocк tem que mudar o ID no ShowPlayerDialog, alйm de no OnDialogResponse .



Verifique tambйm o SendClientMessage, que estб aplicando mбscaras %s aparentemente sem uma chamada anterior de format.



Com isso, jб deverб haver uma resposta em mensagem quando a senha for correta. Й interessante tambйm colocar uma mensagem em else para senhas erradas, sу para fins de depuraзгo do cуdigo.



Espero ter ajudado .
Reply
#10

PHP код:
if(strcmp(cmdtext"/logaradm"true) == 0)
{
    if(
pAdmin[playerid] >= 1)
     {
          
ShowPlayerDialog(playerid1533DIALOG_STYLE_PASSWORD"Login Administrativo""Insira a senha da administraзгo:""Logar""Sair");
    }
    return 
0x01;
}
switch(
dialogid)
{
    case 
1533:
     {
        if(
response)
        {
              new 
senhaadm[256], string[128];
             
senhaadm "bcvirtual2018";
            if(
strcmp(inputtextsenhaadmtrue) == 0)
             {
                   
logadoadm[playerid] = 1;
                   
                
format(stringsizeof(string), "| BCV-Admin | Bem vindo(a) %s seus comandos de %s foram carregados com sucesso!"PlayerName(playerid), CargoAdmin(playerid));
                
SendClientMessage(playerid0x058AFFFF, , string);
            }
             else
            {
                
SendClientMessage(playerid0xFF0000FF"Vocк errou a senha para logar como administrador!");
            }
        }
    }
      return 
1;

Nгo cheguei a testar. Teste!
Reply
#11

Coloque uns prints para ver se o cуdigo estб a ser executado ou nгo.
Reply
#12

Quote:
Originally Posted by zF3lKy3
Посмотреть сообщение
PHP код:
if(strcmp(cmdtext"/logaradm"true) == 0)
{
    if(
pAdmin[playerid] >= 1)
     {
          
ShowPlayerDialog(playerid1533DIALOG_STYLE_PASSWORD"Login Administrativo""Insira a senha da administraзгo:""Logar""Sair");
    }
    return 
0x01;
}
switch(
dialogid)
{
    case 
1533:
     {
        if(
response)
        {
              new 
senhaadm[256], string[128];
             
senhaadm "bcvirtual2018";
            if(
strcmp(inputtextsenhaadmtrue) == 0)
             {
                   
logadoadm[playerid] = 1;
                   
                
format(stringsizeof(string), "| BCV-Admin | Bem vindo(a) %s seus comandos de %s foram carregados com sucesso!"PlayerName(playerid), CargoAdmin(playerid));
                
SendClientMessage(playerid0x058AFFFF, , string);
            }
             else
            {
                
SendClientMessage(playerid0xFF0000FF"Vocк errou a senha para logar como administrador!");
            }
        }
    }
      return 
1;

Nгo cheguei a testar. Teste!
Deu certo manoo!! Vlw, tmj!
Reply
#13

Quote:
Originally Posted by LeonardoMD
Посмотреть сообщение
Deu certo manoo!! Vlw, tmj!
Й nуs
Reply
#14

Encontrei um problema, ao dar /logaradm e clicar em logar mesmo sem colocar a senha, a pessoa loga como adm. Se colocar a senha errada, nгo loga, e aparece a mensagem de senha incorreta, mas se clicar em logar sem digitar nenhuma senha, loga normalmente...
Reply
#15

Quote:
Originally Posted by LeonardoMD
Посмотреть сообщение
Encontrei um problema, ao dar /logaradm e clicar em logar mesmo sem colocar a senha, a pessoa loga como adm. Se colocar a senha errada, nгo loga, e aparece a mensagem de senha incorreta, mas se clicar em logar sem digitar nenhuma senha, loga normalmente...
Adicione isso no bloco da dialog

PHP код:
if(strlen(inputtext) == 0) return SendClientMessage(playerid, -1"Senha em branco."); 
Ou simplesmente vocк pode retornar a dialog trocando SendClientMessage por

PHP код:
ShowPlayerDialog(playerid955DIALOG_STYLE_PASSWORD"Login Administrativo""Insira a senha da administraзгo:\n","Logar""Sair"); 
https://sampwiki.blast.hk/wiki/Strlen
Reply
#16

Quote:
Originally Posted by Electrifying
Посмотреть сообщение
Adicione isso no bloco da dialog

PHP код:
if(strlen(inputtext) == 0) return SendClientMessage(playerid, -1"Senha em branco."); 
Ou simplesmente vocк pode retornar a dialog trocando SendClientMessage por

PHP код:
ShowPlayerDialog(playerid955DIALOG_STYLE_PASSWORD"Login Administrativo""Insira a senha da administraзгo:\n","Logar""Sair"); 
https://sampwiki.blast.hk/wiki/Strlen
Sim, eu tinha tentado isso, mas nгo tinha resolvido. Agora resolveu, valeu!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)