[Tutorial] jCon - Como fazer sistema de administraзгo por senha!
#1

jCon

Olб galera, venho ensinar a como fazer um sistema de Administraзгo por senha,nгo й um sistema inovador, mais й um sistema elaborado para uma melhor seguranзa!
Me perguntam: coloco /jcon senha?
Eu respondo: Sim, com a senha definida pelo gamemode.
Me perguntam: Mais й quase igual por rcon.
Eu respondo: Sim й, mais й melhor por questхes de seguranзa, pois alguns hackers conseguem invadir sua rcon facilmente.

Intгo vamos ao tutorial!


Coloque nossas includes usadas, tambйm a define que define a senha,coloquei 098,modifique com numeros:
pawn Код:
#include a_samp
#include zcmd
#include sscanf
#define jcon 098 //SENHA
#define amarelo 0xFFF200AA //CORES
#define vermelho 0xD8000AAA
Variavel que define se o player й admin ou nгo e tambйm a variavel do arquivo que vai ser criado. Como ela tem o valor de 0, ela sem modificaзхes vai dizer que o player nгo й admin.
pawn Код:
new admin[MAX_PLAYERS];
new File:logou;
Agora o comando /jcon [senha], feito em sscanf e zcmd, que salva quem logou como admin:
pawn Код:
CMD:jcon(playerid,params[])
{
    new senha;
    if(sscanf(params, "d",senha)) return SendClientMessage(playerid,vermelho,"Use: /jcon [senha]");
    if(senha == jcon)
    {
        admin[playerid] = 1;
        SendClientMessage(playerid,amarelo,"Vocк logou como admin com sucesso, se vocк nгo possui o acesso vocк serб banido!");
        new msg[64],nome[54];
        GetPlayerName(playerid, nome, sizeof(nome));
        format(msg, sizeof msg, "|%s| logou como admin no servidor.", nome); //PARA UMA MELHOR SEGURANЗA,ASSIM O ADMIN VAI SABER QUEM ESTБ LOGANDO, SERA SALVO EM SCRIPTFILES AdminLogou.txt
        logou = fopen("AdminLogou.txt",io_write);
        fwrite (logou,msg);
        fclose(logou);
       
    }
    else SendClientMessage(playerid,vermelho,"Senha errada!");
    return 1;
}
Agora um simples exemplo de comando:
pawn Код:
CMD:kick(playerid,params[])
{
    if(admin[playerid] == 1) //VE SE O PLAYER Й ADMINISTRADOR SE FOR EXECUTA O COMANDO
    {
        new id,motivo,nome[54],Str[128];
        if(sscanf(params, "us",id,motivo)) return SendClientMessage(playerid,vermelho,"Use: /kick [playerid] [motivo]");
        if(IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador nгo estб conectado!");
        GetPlayerName(playerid,nome,sizeof(nome));
        format(Str, sizeof(Str), "|%s| foi kickado [Motivo: %s]",nome,motivo);
        SendClientMessageToAll(amarelo,Str);
        Kick(id);
    }
    else  //SE NAO FOR NAO EXECUTA-O E APARECE ESSA MENSSAGEM
    {
        SendClientMessage(playerid,vermelho,"Vocк nгo й administrador");
    }
    return 1;
}
Й um simples sistema, mais se for atualizado e melhorado pode transformar-se em um grande sistema!
Й possivel facilmente arrumar leveis, exemplo:
Jб possui o jcon orginal, й possivel arrumar jcon2,etc.
Sempre mudando o:
pawn Код:
admin[playerid] = 1;
if(admin[playerid] == 1)
Para 2,3,4,etc..

Espero que gostem, deem criticas construtivas, com intenssгo de melhorar o tutorial/sistema.
Download com leveis: pastebin
Reply
#2

Cara. Esse seu tutorial tem erro jб na variбvel.

pawn Код:
new admin[MAX_PLAYERS];
Isso porque nem olhei o resto.

Por favor, estuda, e depois vem postar coisas.
Reply
#3

Se eu quiser usar uma senha do tipo string, isto vai acabar com toda a lуgica do seu sistema. E por ter utilizado uma variбvel simples, se um jogador logar na Jcon, todos os outros online pegam acesso a ela.

Mesmo tendo Rcon, nгo vejo a lуgica de criar sistema de administraзгo por senha, atй porque pode-se fazer algo por variбveis mesmo.
Reply
#4

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Se eu quiser usar uma senha do tipo string, isto vai acabar com toda a lуgica do seu sistema. E por ter utilizado uma variбvel simples, se um jogador logar na Jcon, todos os outros online pegam acesso a ela.

Mesmo tendo Rcon, nгo vejo a lуgica de criar sistema de administraзгo por senha, atй porque pode-se fazer algo por variбveis mesmo.
Arrumei,vlw.
Como eu disse й para melhor seguranзa.
Reply
#5

cara, sua iniciativa й boa, porйm seu codigo estб com alguns erros.
Reply
#6

Prefiro fazer do meu jeito.
Vou na CallBack que o Rcon faz o login que eu nгo lembro o nome agora...
Se o jogador acertar, abre um dialog, para colocar a segunda senha definida no comeзo de meu script.
Caso ele errar, й banido por IP.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)