[AJUDA] Bug tenso na login box D:
#1

Tipo. se vai errando a senha. ele vaai falando que a senha tб errada.
mas chega uma hora que a login box some.
e pode jogar normalmente D:

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(!Info[playerid][Login])
    {
        GetPlayerName(playerid, str, MAX_PLAYER_NAME);
        format(str, 64, "/Contas/%s.txt", str);
        if(!fexist(str)) { ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Caixa de Registro", "{FFFFFF}Esta conta {FF0000}NГO estб registrada.{FFFFFF}\nPara efetuar o registro, insira sua senha abaixo:", "Enviar", "Fechar"); }
        else { ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Caixa de Login", "{FFFFFF}Conta {8080FF}REGISTRADA.{FFFFFF}\nPara efetuar o login desta conta, insira sua senha abaixo:", "Enviar", "Fechar"); }
        return 0;
    }
    SpawnPlayer(playerid);
    return 1;
}
pawn Код:
else if(dialogid == REGISTRO)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                if(GetPVarInt(playerid, "Camera") >= 6) { SetPVarInt(playerid, "Camera", 0); }
                SetPVarInt(playerid, "Camera", GetPVarInt(playerid, "Camera")+1);
                new cam = GetPVarInt(playerid, "Camera");
                SetPlayerCameraPos(playerid, Camera[cam][0], Camera[cam][1], Camera[cam][2]);
                SetPlayerCameraLookAt(playerid, Camera[cam][3], Camera[cam][4], Camera[cam][5]);
                return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Caixa de Registro", "{FFFFFF}Esta conta {FF0000}NГO ESTБ REGISTRADA.{FFFFFF}\nPara efetuar o registro, insira sua senha abaixo:", "Enviar", "Fechar");
            }
            if(strlen(inputtext) > 20)
            {
                if(GetPVarInt(playerid, "Camera") >= 6) { SetPVarInt(playerid, "Camera", 0); }
                SetPVarInt(playerid, "Camera", GetPVarInt(playerid, "Camera")+1);
                new cam = GetPVarInt(playerid, "Camera");
                SetPlayerCameraPos(playerid, Camera[cam][0], Camera[cam][1], Camera[cam][2]);
                SetPlayerCameraLookAt(playerid, Camera[cam][3], Camera[cam][4], Camera[cam][5]);
                return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Caixa de Registro", "{FFFFFF}Sua senha pode conter, no mбximo, 20 caracteres.\nDigite-a novamente abaixo:", "Enviar", "Fechar");
            }
            GetPlayerName(playerid, str, MAX_PLAYER_NAME);
            format(str, 64, "/Contas/%s.txt", str);
            Encrypt(inputtext);
            dini_Set(str, "Senha", inputtext);
            Info[playerid][Dinheiro] = 1000;
            SendClientMessage(playerid, LARANJA, "Parabйns, conta registrada com sucesso. Agora, faзa o login.");
            ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Caixa de Login", "{FFFFFF}Conta {8080FF}REGISTRADA.{FFFFFF}\nPara efetuar o login desta conta, insira sua senha abaixo:", "Enviar", "Fechar");
        }
        else return Kick(playerid);
    }  
    else if(dialogid == LOGIN)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                if(GetPVarInt(playerid, "Camera") >= 6) { SetPVarInt(playerid, "Camera", 0); }
                SetPVarInt(playerid, "Camera", GetPVarInt(playerid, "Camera")+1);
                new cam = GetPVarInt(playerid, "Camera");
                SetPlayerCameraPos(playerid, Camera[cam][0], Camera[cam][1], Camera[cam][2]);
                SetPlayerCameraLookAt(playerid, Camera[cam][3], Camera[cam][4], Camera[cam][5]);
                return ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Caixa de Registro", "{FFFFFF}Vocк nгo digitou sua senha !{FFFFFF}\nPara efetuar login, insira sua senha abaixo:", "Enviar", "Fechar");
            }
            GetPlayerName(playerid, str, MAX_PLAYER_NAME);
            format(str, 64, "/Contas/%s.txt", str);
            Encrypt(inputtext);
            if(strcmp(inputtext, dini_Get(str, "Senha"), false) == 0)
            {
                GetPlayerName(playerid, str, MAX_PLAYER_NAME);
                format(str, 128, "Olб, %s. O VaGaPlaY DM te deseja um Bom Jogo !", str);
                SendClientMessage(playerid, 0xBB77FFFF, str);          
                GetPlayerName(playerid, str, MAX_PLAYER_NAME);
                format(str, 128, "Caso precise de ajuda, digite /relatorio [texto].", str);
                SendClientMessage(playerid, 0xBB77FFFF, str);
                TextDrawHideForPlayer(playerid, Slogan);
                TextDrawHideForPlayer(playerid, BarraDown);
                TextDrawHideForPlayer(playerid, BarraUp);
                Info[playerid][Login] = true;
                SetupPlayerForClassSelection(playerid);
                if(Info[playerid][Socio])
                {
                    GetPlayerName(playerid, str, MAX_PLAYER_NAME);
                    format(str, 64, "~w~Socio %s ~r~Online", str);
                    GameTextForAll(str, 5000, 1);
                }
                if(Info[playerid][MorarJunto])
                {
                    new house = Info[playerid][MorarJunto];
                    if(strcmp(Casas[house][Dono], Info[playerid][MorarJuntoDono], false) != 0)
                    {
                        format(Info[playerid][MorarJuntoDono], MAX_PLAYER_NAME, "Ninguem");
                        Info[playerid][MorarJunto] = 0;
                        SendClientMessage(playerid, VERMELHO, "« A casa que vocк estava morando foi vendida !");
                    }
                }
                if(Info[playerid][Gang])
                {
                    new gangid = Info[playerid][Gang];
                    format(str, 64, "/Gangs/Gang%d.txt", Info[playerid][Gang]);
                    if((!fexist(str)) || (strcmp(Gangs[gangid][Lider], Info[playerid][GLider], false) != 0))
                    {
                        Info[playerid][Gang] = 0;
                        Info[playerid][GangLevel] = 0;
                        SendClientMessage(playerid, VERMELHO, "« Sua gang foi excluida !");
                        format(Info[playerid][GLider], MAX_PLAYER_NAME, "Ninguem");
                    }
                }
            }
            else
            {
                if(GetPVarInt(playerid, "Camera") >= 6) { SetPVarInt(playerid, "Camera", 0); }
                SetPVarInt(playerid, "Camera", GetPVarInt(playerid, "Camera")+1);
                new cam = GetPVarInt(playerid, "Camera");
                SetPlayerCameraPos(playerid, Camera[cam][0], Camera[cam][1], Camera[cam][2]);
                SetPlayerCameraLookAt(playerid, Camera[cam][3], Camera[cam][4], Camera[cam][5]);
                return ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Caixa de Login", "{FFFFFF}A senha estб {FF0000}incorreta{FFFFFF} !\nPara efetuar o login desta conta, insira sua senha abaixo:", "Enviar", "Fechar");
            }
        }
        else return Kick(playerid);
    }
Reply
#2

pawn Код:
#include a_samp
#include DOF2


#if defined MAX_PLAYERS
    #undef MAX_PLAYERS
#endif

#define MAX_PLAYERS 45

#define contas "%s.ini"

#define login "Bem vindo ao servidor %s digite sua senha para logar-se."
#define registro "Bem vindo ao servidor %s registre-se."


enum pInfo
{
    pGrana,
    pLevel,
};

new playerinfo[MAX_PLAYERS][pInfo];

new
    arquivo[50],
    nome[24],
    paramount[90]
;

public OnFilterScriptExit()
{
    DOF2_Exit();
    return 1;
}
   
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid,nome,24);
    format(arquivo,50,contas,nome);
    if(fexist(arquivo))
    {
        GetPlayerName(playerid,nome,24);
        format(paramount,90,login,nome);
        ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Servidor",paramount,"entrar","sair");
    }
    else
    {
        GetPlayerName(playerid,nome,24);
        format(paramount,90,registro,nome);
        ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"Servidor",paramount,"registrar","sair");
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 9999)
    {
        if(!response) return Kick(playerid);
        if(response)
        {
            GetPlayerName(playerid,nome,24);
            format(arquivo,50,contas,nome);
            DOF2_CreateFile(arquivo);
            DOF2_SetString(arquivo,"senha",inputtext);
            playerinfo[playerid][pLevel] = DOF2_SetInt(arquivo,"level",5);
            playerinfo[playerid][pGrana] = DOF2_SetInt(arquivo,"dinheiro",5000);
            format(paramount,90,login,nome);
            new len = strlen(inputtext);
            if(len < 5 || len > 20) return ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"Servidor","Senha deve conter no minimo 5 caracteres.","Ok","kick");
            return ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Servidor",login,"ok","fechar");
        }
    }
    if(dialogid == 9998)
    {
        if(!response) return Kick(playerid);
        if(response)
        {
            new senha[20];
            GetPlayerName(playerid,nome,24);
            format(arquivo,50,contas,nome);
            format(senha,20,"%s",strval(inputtext));
            if(strcmp(inputtext,DOF2_GetString(arquivo,"senha"),true) == 0)
            {
                if(!strlen(inputtext))
                {
                    ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Servidor","senha errada, digite a senha correta para logar-se.","ok","sair");
                    return SendClientMessage(playerid,-1,"senha errada.");
                }
                GetPlayerName(playerid,nome,24);
                format(arquivo,28,contas,nome);
                SetPlayerScore(playerid,DOF2_GetInt(arquivo,"level"));
                GivePlayerMoney(playerid,DOF2_GetInt(arquivo,"dinheiro"));
            }
            else
            {
                ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Servidor","senha errada, insira a senha correta.","ok","sair");
                SendClientMessage(playerid,-1,"senha errada.");
            }
        }
    }
    return 1;
}
Reply
#3

LOL. eu reiniciei o server agora nгo tem esse BUG. OMG !
Obrigado mesmo assim Paramount.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)