12.12.2012, 17:15
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
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;
}