[Ajuda] Bloquear um CMD
#1

alguem ae me ensina a bloquear um cmd porque tipo tem ums hackers que entrгrгo no meu servidor й estгo usando um hacker que digita mesmo estando na dialog de login, exemplo eu sou admin ai ele loga com meu nick й kicka geral ai tipo queria um bloquador de comandos, ai quando ele digitasse aparecia assim "Vocк nгo esta logado para digitar este comando."

Sistema de registro que uso
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_OPCOES:
        {
            if(!response) return ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opзгo","Logar\nEsqueci minha senha\nSair","Selecionar","");
            if(listitem == 0)
            {
                new string[170];
                format(string, sizeof(string),"{FFFFFF}Olб {7CFC00}%s{FFFFFF}, seja bem vindo ao servidor.\n{FFFFFF}Sua conta jб estб registrada.\n{FFFFFF}Digite sua senha para logar.", NomePlayer(playerid));
                ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"[NomeSv] - Login",string,"Logar","Cancelar");
            }
            else if(listitem == 1)
            {
                new text[] = "Para recuperar sua conta responda a pergunta  a seguir:\nQual й o nome completo da sua mгe?";
                ShowPlayerDialog(playerid, DIALOG_RECUPERAR_CONTA, DIALOG_STYLE_INPUT,"[NomeSv] - Recuperar conta",text,"Pronto","Voltar");
            }
            else if(listitem == 2)
            {
                SendClientMessage(playerid,-1,"Vocк escolheu a opзгo Sair e foi kickado.");
                Kick(playerid);
            }
            return 1;
        }
        case DIALOG_RECUPERAR_CONTA:
        {
            if(!response) return ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opзгo","Logar\nEsqueci minha senha\nSair","Selecionar","");
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_RECUPERAR_CONTA, DIALOG_STYLE_INPUT,"[NomeSv] - Recuperar conta","Responda a pergunta:\n\nQual o nome completo da sua mгe?","Pronto","Voltar");
            if(strcmp(DOF2_GetString(ContaPlayer(playerid),"Pergunta de Seguranзa"),inputtext, true) == 0)
            {
                ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA, DIALOG_STYLE_INPUT,"[NomeSv] - Trocar senha","Digite sua nova senha.","Trocar","Cancelar");
            }
            else return ShowPlayerDialog(playerid, DIALOG_RECUPERAR_CONTA,DIALOG_STYLE_INPUT,"[NomeSv] - Recuperar conta","Resposta errada, tente novamente.","Pronto","Cancelar");
            return 1;
        }
        case DIALOG_MUDAR_SENHA:
        {
            if(!response) return ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opзгo","Logar\nEsqueci minha senha\nSair","Selecionar","");
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA, DIALOG_STYLE_INPUT,"[NomeSv] - Trocar senha","Digite sua nova senha.","Trocar","Cancelar");
            DOF2_SetString(ContaPlayer(playerid),"Senha", inputtext);
            DOF2_SaveFile();
            new string[80];
            format(string, sizeof(string),"Senha alterada com sucesso!Nova senha: {7CFC00}%s", inputtext);
            SendClientMessage(playerid,-1,string);
            CarregarPlayer(playerid);
            SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
            return 1;
        }
        case DIALOG_REGISTRO:
        {
            if(!response) return SendClientMessage(playerid,-1,"Vocк foi kickado por nгo se registrar."), Kick(playerid);
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NomeSv] - Registro","Digite uma senha para se registrar.","Registrar","Cancelar");
            DOF2_CreateFile(ContaPlayer(playerid));
            DOF2_SetString(ContaPlayer(playerid),"Senha", inputtext);
            DOF2_SaveFile();
            new string[90];
            format(string, sizeof(string),"Sua conta foi registrada. Senha: {7CFC00}%s", inputtext);
            SendClientMessage(playerid,-1, string);
            SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
            SetPlayerScore(playerid, 1);
            GivePlayerMoney(playerid, 300);
            new text[] = "Responda a pergunta a seguir para que vocк possa recuperar sua conta caso um dia esqueзa a senha.\nPergunta: Qual o nome completo da sua mгe?";
            ShowPlayerDialog(playerid, DIALOG_PERGUNTA_SEGURANCA, DIALOG_STYLE_INPUT,"[NomeSv] - Pergunta de Seguranзa", text, "Pronto","");
        }
        case DIALOG_PERGUNTA_SEGURANCA:
        {
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_PERGUNTA_SEGURANCA, DIALOG_STYLE_INPUT,"[NomeSv] - Pergunta de Seguranзa","Por favor responda a pergunta:\nQual o nome completo da sua mгe?","Pronto","");
                DOF2_SetString(ContaPlayer(playerid),"Pergunta de Seguranзa", inputtext);
                DOF2_SaveFile();
                new string[90];
                format(string, sizeof(string),"Vocк respondeu: %s.", inputtext);
                SendClientMessage(playerid,-1, string);
                ShowPlayerDialog(playerid, DIALOG_SEXO, DIALOG_STYLE_MSGBOX,"[NomeSv] - Sexo","Qual й seu sexo?","Masculino","Feminino");
                return 1;
            }
            else if(!response)
            {
                new text[] = "Responda a pergunta a seguir para que vocк possa recuperar sua conta caso um dia esqueзa a senha.\nPergunta: Qual o nome completo da sua mгe?";
                ShowPlayerDialog(playerid, DIALOG_PERGUNTA_SEGURANCA, DIALOG_STYLE_INPUT,"[NomeSv] - Pergunta de Seguranзa", text, "Pronto","");
                return 1;
            }
            return 1;
        }
        case DIALOG_SEXO:
        {
            if(response)
            {
                SendClientMessage(playerid,-1,"Vocк й homem.");
                Jogador[playerid][Sexo] = HOMEM;
            }
            else if(!response)
            {
                SendClientMessage(playerid,-1,"Vocк й mulher.");
                Jogador[playerid][Sexo] = MULHER;
            }
            ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Quantos anos vocк tem?","Pronto","");
            return 1;
        }
        case DIALOG_IDADE:
        {
            if(!response) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Quantos anos vocк tem?","Pronto","");
            if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Quantos anos vocк tem? (Use somente nъmeros)","Pronto","");
            if(strval(inputtext) < 15 || strval(inputtext) > 80) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Sua idade tem que ser de 15 a 80 anos","Pronto","");
            Jogador[playerid][Idade] = strval(inputtext);
            new string[40];
            format(string, sizeof(string),"Ok, vocк tem  %d anos.", strval(inputtext));
            SendClientMessage(playerid,-1,string);
            ShowPlayerDialog(playerid, DIALOG_CIDADE, DIALOG_STYLE_LIST,"[NomeSv] - Cidade","LS\nLV\nSF\nOutra","Pronto","");
            return 1;
        }
        case DIALOG_CIDADE:
        {
            if(!response) return ShowPlayerDialog(playerid, DIALOG_CIDADE, DIALOG_STYLE_LIST,"[NomeSv] - Cidade","Los Santos\nLas Venturas\nSan Fierro\nOutra","Pronto","");
            if(listitem == 0)
            {
                Jogador[playerid][Cidade] = LS;
                SendClientMessage(playerid,-1,"Ok, sua cidade й Los Santos.");
            }
            else if(listitem == 1)
            {
                Jogador[playerid][Cidade] = LV;
                SendClientMessage(playerid,-1,"Ok, sua cidade й Las Venturas.");
            }
            else if(listitem == 2)
            {
                Jogador[playerid][Cidade] = SF;
                SendClientMessage(playerid,-1,"Ok, sua cidade й San Fierro.");
            }
            else if(listitem == 3)
            {
                Jogador[playerid][Cidade] = OUTRA;
                SendClientMessage(playerid,-1,"Ok, sua cidade й outra.");
            }
            SalvarPlayer(playerid);
            return 1;
        }
        case DIALOG_LOGIN:
        {
            if(!response) return SendClientMessage(playerid,-1,"Vocк escolheu cancelou o login e foi kickado."), Kick(playerid);
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"[NomeSv] - Login","Digite sua senha para logar","Logar","Cancelar");
            if(strcmp(DOF2_GetString(ContaPlayer(playerid),"Senha"), inputtext, false) == 0)
            {
                SendClientMessage(playerid,-1,"Logado com sucesso!");
                CarregarPlayer(playerid);
                SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
            }
            else
            {
                Jogador[playerid][SenhaErrada] ++;
                if(Jogador[playerid][SenhaErrada] >= 5)
                {
                    SendClientMessage(playerid,-1,"Vocк foi banido por errar a senha 5 vezes.");
                    BanEx(playerid,"Errou a senha 5 vezes.");
                }
                else if(Jogador[playerid][SenhaErrada] < 5)  return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"[NomeSv] - Login","Senha errada.Tente novamente\n\nSe errar a senha 5 vezes serб banido.","Logar","Cancelar");
            }
            return 1;
        }
    }
    return 1;
}

stock CarregarPlayer(playerid)
{
    if(DOF2_FileExists(ContaPlayer(playerid)))
    {
        Jogador[playerid][Idade] = DOF2_GetInt(ContaPlayer(playerid),"Idade");
        Jogador[playerid][Cidade] = DOF2_GetInt(ContaPlayer(playerid),"Cidade");
        Jogador[playerid][Sexo] = DOF2_GetInt(ContaPlayer(playerid),"Sexo");
        SetPlayerScore(playerid, DOF2_GetInt(ContaPlayer(playerid), "Score"));
        SetPlayerSkin(playerid, DOF2_GetInt(ContaPlayer(playerid),"Skin"));
    }
    return 1;
}

stock SalvarPlayer(playerid)
{
    if(DOF2_FileExists(ContaPlayer(playerid)))
    {
        DOF2_SetInt(ContaPlayer(playerid),"Idade", Jogador[playerid][Idade]);
        DOF2_SetInt(ContaPlayer(playerid),"Cidade", Jogador[playerid][Cidade]);
        DOF2_SetInt(ContaPlayer(playerid),"Sexo", Jogador[playerid][Sexo]);
        DOF2_SetInt(ContaPlayer(playerid),"Score", GetPlayerScore(playerid));
        DOF2_SetInt(ContaPlayer(playerid),"Skin", GetPlayerSkin(playerid));
        DOF2_SaveFile();
    }
    return 1;
}
Reply
#2

Sу criar uma variбvel para definir que estб logado! '-'
Reply
#3

Quote:
Originally Posted by Baiano
Посмотреть сообщение
Sу criar uma variбvel para definir que estб logado! '-'
ja criei uma bool mas nгo deu certo, alguem ?
Reply
#4

pawn Код:
new
    bool:Logado[MAX_PLAYERS]
;

if(!Logado[playerid]) return SendClientMessage(playerid, -1, "Vocк nгo estб logado");

Logado[playerid] = true;
Tudo que vocк precisa.
Agora basta saber onde colocar. : )
Reply
#5

Cria um variбvel assim:
bool:Logado[MAX_PLAYERS]
Quando o player logar, vocк define ela como true
Ai na hora de digitar os comandos tu verifica assim:
if(logado[playerid] == true) EXECUTA COMANDO;
Reply
#6

pawn Код:
new bool: Logado[MAX_PLAYERS];
OnPlayerConnect
pawn Код:
Logado[playerid] = false;
Ai no dialog de login, depois de carregar as informaзхes coloque

pawn Код:
Logado[playerid] = true;
Se usa ZCMD, na CallBack OnPlayerCommandPerformed coloque:

pawn Код:
if(Logado[playerid] == false) return SendClientMessage(playerid, -1, "Voce nao esta logado");
Se usa STRCMP na CallBack OnPlayerCommandText, no comeзo coloque:

pawn Код:
if(Logado[playerid] == false) return SendClientMessage(playerid, -1, "Voce nao esta logado");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)