[Ajuda] logar de admin
#1

Olб, quero saber como faзo pra colocar esse cmd assim,

/LogarAdmin [Senha de Administrador] ae o jogador q usou o cmd loga de admin.

A senha seria definida no GM mesmo.

Comando atual:

PHP код:
CMD:logaradmin(playeridparams[])
{
    
Admin[playerid] = 1// Vai tornar o Jogador admin
    
if(Admin[playerid] = 1) return SendClientMessage(playeridERRO"| ERRO | Vocк jб estб logado de admin"); // Se o jogador ja estiver logado de admin vai retornar a mensagem
    
return 1;

Reply
#2

Tem de separar o parвmetros para identificar oque foi que o jogador digitou apуs o comando, use sscanf para isso.

e vocк precisarб comparar a string com a string definida no GM, usando strcmp.

pawn Код:
CMD:logar(playerid, params[]) {

new senha[24];
sscanf(params, "s[24]", senha);

if (!strcmp(senha, "banana")) // comparando a senha digitada com "banana"
//se for verdadeiro vocк seta o nнvel de admin.

}
Exemplo simples.


Abraзos.
Reply
#3

ta eu sei que precisa de sscanf, mas eu nem coloquei ainda pq eu queria saber a forma de colocar a senha no gm ae tipo quando ele usar o cmd vai pegar a senha q eu colocar no GM e tentar se for correta ele loga se nao for retorna uma mensagem falando q esta errada
Reply
#4

Coloquei assim, mas qualquer senha que coloco ele loga msm assim.

pawn Код:
CMD:logaradmin(playerid, params[])
{
    new str[256];
    new senha[30];
    new aName[MAX_PLAYER_NAME];
    if(sscanf(params, "s",senha)) return SendClientMessage(playerid, Vermelho, "| ERRO | {FFFFFF}Digite: /LogarAdmin [senha de administrador]");
    if (!strcmp(senha, "6IPsj1RN")) return SendClientMessage(playerid, ERRO, "| ERRO | Senha errada");
    Admin[playerid] = 1;
    GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
    format(str,sizeof(str),"Olб %s, vocк agora й um administrador, para estar disponнvel use: /cver",aName);
    SendClientMessage(playerid, closed, str);
    return 1;
}
Reply
#5

pawn Код:
CMD:logaradmin(playerid, params[])
{
    new str[256];
    new senha[30];
    new aName[MAX_PLAYER_NAME];
    if(sscanf(params, "s[30]",senha)) return SendClientMessage(playerid, Vermelho, "| ERRO | {FFFFFF}Digite: /LogarAdmin [senha de administrador]");
    if (!strcmp(senha, "6IPsj1RN")) return SendClientMessage(playerid, ERRO, "| ERRO | Senha errada");
    Admin[playerid] = 1;
    GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
    format(str,sizeof(str),"Olб %s, vocк agora й um administrador, para estar disponнvel use: /cver",aName);
    SendClientMessage(playerid, closed, str);
    return 1;
}
Reply
#6

Nгo й aconselhбvel que vocк faзa isso, sу terб uma senha para interagir com todos os players, logo que alguйm descobrir pode logar como admin no seu gm.

Quote:
Originally Posted by HeyAlcapone
Посмотреть сообщение
pawn Код:
CMD:logaradmin(playerid, params[])
{
    new str[256];
    new senha[30];
    new aName[MAX_PLAYER_NAME];
    if(sscanf(params, "s[30]",senha)) return SendClientMessage(playerid, Vermelho, "| ERRO | {FFFFFF}Digite: /LogarAdmin [senha de administrador]");
    if (!strcmp(senha, "6IPsj1RN")) return SendClientMessage(playerid, ERRO, "| ERRO | Senha errada");
    Admin[playerid] = 1;
    GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
    format(str,sizeof(str),"Olб %s, vocк agora й um administrador, para estar disponнvel use: /cver",aName);
    SendClientMessage(playerid, closed, str);
    return 1;
}
De que adianta dar ctrl+c ctrl+v nos comandos alheios ? Se for pra corrigir alguйm, explique oque estava errado, e como foi possнvel solucionar o erro.
Reply
#7

Cara eu quero isso porque por exemplo, vгo ter 2 tipos de staff no meu GM, Admin e Moderador, Admin й uma senha e Moderador outra simples, quero que me ajudem pra eu tirar base do /LogarAdmin e criar o /LogarModerador
Reply
#8

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Nгo й aconselhбvel que vocк faзa isso, sу terб uma senha para interagir com todos os players, logo que alguйm descobrir pode logar como admin no seu gm.



De que adianta dar ctrl+c ctrl+v nos comandos alheios ? Se for pra corrigir alguйm, explique oque estava errado, e como foi possнvel solucionar o erro.
Essa nгo foi a intenзгo, foi sim corrigir pensando que ele ja tinha entendido.
Reply
#9

Quote:
Originally Posted by ArthurxD
Посмотреть сообщение
Cara eu quero isso porque por exemplo, vгo ter 2 tipos de staff no meu GM, Admin e Moderador, Admin й uma senha e Moderador outra simples, quero que me ajudem pra eu tirar base do /LogarAdmin e criar o /LogarModerador
Jб ajudei, nгo posso й fazer por vocк.

Sу recomendo que analise melhor essa questгo das senhas, como te falei, ou pense entгo em outra ideia para efetuar o login de admins de forma segura.

Abraзos.

Quote:
Originally Posted by HeyAlcapone
Посмотреть сообщение
Essa nгo foi a intenзгo, foi sim corrigir pensando que ele ja tinha entendido.
Tudo bem, sу falei porque algumas vezes o cуdigo й grande, e a pessoa nгo tem conhecimento, ai se vocк nгo explicar, muito provavelmente ela nгo vai entender.
Reply
#10

Quote:
Originally Posted by ArthurxD
Посмотреть сообщение
Coloquei assim, mas qualquer senha que coloco ele loga msm assim.

pawn Код:
CMD:logaradmin(playerid, params[])
{
    new str[256];
    new senha[30];
    new aName[MAX_PLAYER_NAME];
    if(sscanf(params, "s",senha)) return SendClientMessage(playerid, Vermelho, "| ERRO | {FFFFFF}Digite: /LogarAdmin [senha de administrador]");
    if (!strcmp(senha, "6IPsj1RN")) return SendClientMessage(playerid, ERRO, "| ERRO | Senha errada");
    Admin[playerid] = 1;
    GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
    format(str,sizeof(str),"Olб %s, vocк agora й um administrador, para estar disponнvel use: /cver",aName);
    SendClientMessage(playerid, closed, str);
    return 1;
}
tire o ponto de exclamaзгo desta funзгo "strcmp".
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)