[DUV]Sistema de registro em dialog nгo funfa!
#1

vlw Cynic
==========
Blz gente bonita!
Й o seguinte, estou criando um GM (ou tentando) e comecei pelo sistema de registro em dialog (the famous login box) com o Dini, porйm nгo saiu conforme o planejado!
Na hora de registrar ele registra normalmente, na hora de logar tambйm, mais sу que quando fui testa-lo quanto a sua seguranзa, mesmo se eu logar com a senha errada ele entra do mesmo jeito! (sendo que o fiz para kikar o jogador caso tenha errado a senha!)

Vou mandar o cod!
Obs: Sou novato em pawn, qualquer erro idiota pode ser reportado pois sгo erros que nos fazem crescer, e quando crescer quero ser adulto!
Obs2: O codigo nгo faz parte de nenhum tipo de GM (Roubado ou nгo!), criei-os com os meus prуpios pйs!


pawn Код:
#include <Dini>

new AutenticPlayer[MAX_PLAYERS];

public OnPlayerSpawn(playerid)// uso no spawn pois jб botei ele pra spawnar automaticamente no request (tambйm porque odeio aquele << Spawn >>)!
{
    ClearChatbox(playerid, 100);
    new string[256];
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string,sizeof(string),"/Contas/%s.dll",playername);
    if(AutenticPlayer[playerid] == 0)
    {
       SetPlayerCameraPos(playerid,1348.1423,-1730.3269,75.5998);
       SetPlayerCameraLookAt(playerid,1348.1423,-1730.3269,75.5998);
       SetPlayerPos(playerid,1276.2075,-1131.3752,23.8281);
       if(!fexist(string))
       {
          ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registrar", "{FFFFFF}Seja bem vindo ao {00FF00}Brasil On!\n{FFFFFF}Vocк {FF0000}nгo possui {FFFFFF}uma conta no servidor!\nЙ necessбrio a {00FF00}criaзгo {FFFFFF}de uma para {00FF00}total acesso {FFFFFF}do servidor.\nDigite uma senha para efetuar o cadastramento.", "Confirmar", "Cancelar");
       }
       if(fexist(string))
       {
          ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Logar", "{FFFFFF}Seja bem vindo ao {00FF00}Brasil On!\n{FFFFFF}Vocк {00FF00}jб possui {FFFFFF}uma conta no servidor!\nAgora й sу se {00FF00}logar {FFFFFF}e pronto.\nDigite sua senha!", "Confirmar", "Cancelar");
       }
    }
    return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
    {
       if(response == 1)
       {
          new string[256];
          new playername[MAX_PLAYER_NAME];
          GetPlayerName(playerid, playername, sizeof(playername));
          format(string,sizeof(string),"Contas/%s.dll",playername);
          if(!fexist(string))
          {
             dini_Create(string);
             dini_Set(string, "Senha", inputtext);
             SendClientMessage(playerid,0xFFFFFFAA, "Obrigado por se {00FF00}registrar{FFFFFF}, estamos muito feliz em ter vocк aqui!");
             SendClientMessage(playerid,0xFFFFFFAA, "Agora vocк poderб andar livremente nas ruas de {00FF00}Los Santos.");
             SendClientMessage(playerid,0xFFFFFFAA, "Dica: Para ver todos os comandos do jogo use {00FF00}/Comandos.");
             AutenticPlayer[playerid] = 1;
             SetCameraBehindPlayer(playerid);
             TextDrawHideForPlayer(playerid, WidecimaTD);
             TextDrawHideForPlayer(playerid, WidebaixoTD);
          }
       }
       else
       {
          SendClientMessage(playerid, 0xFFFFFFAA, "Vocк optou a nгo se {00FF00}registrar {FFFFFF}em nosso servidor e foi {FF0000}kikado!");
          SendClientMessage(playerid, 0xFFFFFFAA, "Й necessбrio o {00FF00}cadastramento {FFFFFF}para poder jogar aqui.");
          SendClientMessage(playerid, 0xFFFFFFAA, "Entre novamente e {00FF00}repita {FFFFFF}o processo!");
          Kick(playerid);
       }
    }
    if(dialogid == 2)
    {
       if(response == 1)
       {
          new playername[MAX_PLAYER_NAME];
          new string[256];
          GetPlayerName(playerid, playername, sizeof(playername));
          format(string, sizeof(string), "/Contas/%s.dll", playername);
          format(string, sizeof(string), "Bem vindo de volta {00FF00}%s.", playername);
          if(strcmp(string, inputtext))
          {
             SendClientMessage(playerid, 0xFFFFFFAA, string);
             SendClientMessage(playerid, 0xFFFFFFAA, "Todos os seu dados foram {00FF00}carregados com sucesso!");
             SendClientMessage(playerid, 0xFFFFFFAA, "Tenha um {00FF00}bom jogo ;)");
             AutenticPlayer[playerid] = 1;
             SetCameraBehindPlayer(playerid);
             TextDrawHideForPlayer(playerid, WidecimaTD);
             TextDrawHideForPlayer(playerid, WidebaixoTD);
          }
          else
          {
             SendClientMessage(playerid, 0xFFFFFFAA, "Opa! que feio, parece que vocк {FF0000}errou sua senha!");
             SendClientMessage(playerid, 0xFFFFFFAA, "Pela seguranзa desta conta vocк foi {00FF00}kikado");
             SendClientMessage(playerid, 0xFFFFFFAA, "Caso vocк esqueceu sua senha, reporte {00FF00}no forum!");
             SendClientMessage(playerid, 0xFFFFFFAA, FORUM_SERVER);
             Kick(playerid);
          }
       }
       else
       {
          SendClientMessage(playerid, 0xFFFFFFAA, "Opa! que feio, vocк optou a {FF0000}nгo se logar!");
          SendClientMessage(playerid, 0xFFFFFFAA, "Pela seguranзa desta conta vocк foi {00FF00}kikado");
          SendClientMessage(playerid, 0xFFFFFFAA, "Caso vocк esqueceu sua senha, reporte {00FF00}no forum!");
          SendClientMessage(playerid, 0xFFFFFFAA, FORUM_SERVER);
          Kick(playerid);
       }
    }
    return 1;
}
Espero de cabeзa pra baixo a humilde ajuda de vocкs! (Bjundas a todos!)
Reply
#2

pawn Код:
if(dialogid == 2)
    {
       if(response == 1)
       {
          new playername[MAX_PLAYER_NAME];
          new string[256];
          GetPlayerName(playerid, playername, sizeof(playername));          
          format(string, sizeof(string), "Bem vindo de volta {00FF00}%s.", playername); //Alterado
          SendClientMessage(playerid, 0xFFFFFFAA, string); //Alterado
          format(string, sizeof(string), "/Contas/%s.dll", playername); //Alterado
          if(strcmp(dini_Get(string, "Senha"), inputtext)) //Alterado
          {            
             SendClientMessage(playerid, 0xFFFFFFAA, "Todos os seu dados foram {00FF00}carregados com sucesso!");
             SendClientMessage(playerid, 0xFFFFFFAA, "Tenha um {00FF00}bom jogo ;)");
             AutenticPlayer[playerid] = 1;
             SetCameraBehindPlayer(playerid);
             TextDrawHideForPlayer(playerid, WidecimaTD);
             TextDrawHideForPlayer(playerid, WidebaixoTD);
          }
          else
          {
             SendClientMessage(playerid, 0xFFFFFFAA, "Opa! que feio, parece que vocк {FF0000}errou sua senha!");
             SendClientMessage(playerid, 0xFFFFFFAA, "Pela seguranзa desta conta vocк foi {00FF00}kikado");
             SendClientMessage(playerid, 0xFFFFFFAA, "Caso vocк esqueceu sua senha, reporte {00FF00}no forum!");
             SendClientMessage(playerid, 0xFFFFFFAA, FORUM_SERVER);
             Kick(playerid);
          }
       }
       else
       {
          SendClientMessage(playerid, 0xFFFFFFAA, "Opa! que feio, vocк optou a {FF0000}nгo se logar!");
          SendClientMessage(playerid, 0xFFFFFFAA, "Pela seguranзa desta conta vocк foi {00FF00}kikado");
          SendClientMessage(playerid, 0xFFFFFFAA, "Caso vocк esqueceu sua senha, reporte {00FF00}no forum!");
          SendClientMessage(playerid, 0xFFFFFFAA, FORUM_SERVER);
          Kick(playerid);
       }
    }
Reply
#3

nгo intendir!
Reply
#4

WTF .dll? Que eu saiba SAMP nгo lк .dll se nгo for um plugin. Use .txt .cfg ou .ini.
Reply
#5

Mais eu ja acho que sim,exemplo o gamemode do Higor,O Play Adventure...
Reply
#6

Eu nгo devo estar sabendo, raramente baixo algo da Releases.. Enfim, prefiro .ini.
Reply
#7

lк sim, uso ele pra enganar noob! (um sujeito ver aqui e fala "Caralho, fudeo tudo!", sem ao menos abri-lo em Boco de notas XD)
Reply
#8

alguem me ajuda? jб tentei de tudo!!!
Reply
#9

Altere a parte do dialog 2 pra o que eu postei.
Reply
#10

foi mau cynic, mais nб hora que vocк postou o codigo nгo apareceu, por isso postei "nгo intendir", deve ter dado erro na pбgina!
Vou testar aqui, qualquer coisa eu aviso!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)