[DUV] Problema com Dialog.
#1

Й o seguinte, eu esta com a dialog de login e registro do meu server funcionando perfeitamente, atй que a uns 2 dias, eu fiz um Aeroporto e algumas alteraзхes, compilei, testei, tudo perfeito, upei para o Host e foi fechar o pawno ai apareceu se eu queria salvar, eu coloquei cancelar e compilei de novo para confirmar, e fui fechar e deu a mesma coisa, ai salvei. Ai fui dormir, no dia seguinte, fiz algumas alteraзхes e compilei e testei, quando eu fui testar, eu entrei com uma conta que nгo existia, e apareceu a dialog de login, ai eu loguei a comecei a cair do cйu, pensei que fosse algum bug e sai e loguei com outra conta inexistente, e deu a mesma coisa, ai comparei as dialogs com as do Beckup antigo do GM que tinha as mesmas dialogs, e estavam todas certas. E procurei para saber o que era e nгo consegui atй hoje, alguem sabe dizer o que pode ser isso?

Aqui os codes das dialogs:

pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    new string[256];
    if(pap_JogadorRegistrado(playerid))
        {
        new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
    ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
        }
        else if(!pap_JogadorRegistrado(playerid))
        {
        new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
    ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");

        }
        return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[128];
    if(dialogid == REGISTRO)
    {
            if(!response)
        {
            SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o registro!");
            Kick(playerid);
            return 0;
        }
        if(!strlen(inputtext))
        {
        new name[MAX_PLAYER_NAME];

        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
            return 0;
        }
        if(strlen(inputtext) > 64)
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
            return 0;
        }
        new senha[MAX_PCOD_CHAR];
        psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
        if(pap_IniciarConta(playerid, senha)) // Certo, a funзгo pap_IniciarConta retornou a 1, sendo assim podemos salvar os dados que queremos, jб que a conta foi iniciada!
        {
            new
                ip[18];

            PLAYERLIST_authed[playerid] = 1;

            GetPlayerIp(playerid, ip, sizeof(ip));

            pap_SalvarInt(playerid, "Skin", 28);
            pap_SalvarInt(playerid, "Dinheiro_bolso", 0);
            pap_SalvarInt(playerid, "Dinheiro_banco", 10000);
            pap_SalvarInt(playerid, "Matou", 0);
            pap_SalvarInt(playerid, "Morreu", 0);
            pap_SalvarInt(playerid, "Preso", 0);
            pap_SalvarInt(playerid, "Luta", FIGHT_STYLE_NORMAL);
            pap_SalvarInt(playerid, "Procurado", 0);
            pap_SalvarInt(playerid, "Haerea", 0);
            pap_SalvarInt(playerid, "Hterrestre", 0);
            pap_SalvarInt(playerid, "Hnautica", 0);
            pap_SalvarInt(playerid, "Porte", 0);
            pap_SalvarFloat(playerid, "X", 1227.8335);
            pap_SalvarFloat(playerid, "Y", 302.1102);
            pap_SalvarFloat(playerid, "Z", 19.5812);
            pap_SalvarFloat(playerid, "Ang", 180.0000);
            pap_SalvarStr(playerid, "IP", ip);
            pap_SalvarFloat(playerid, "Vida", 100.0);

            Petrol[playerid] = 100;
            pap_SalvarInt(playerid, "Combustivel", Petrol[playerid]);
            Profissao[playerid] = 0;
            pap_SalvarInt(playerid, "Profissao", Profissao[playerid]);
            Level[playerid] = 0;
            pap_SalvarInt(playerid, "Level", Level[playerid]);
            Experiencia[playerid] = 0;
            pap_SalvarInt(playerid, "Experiencia", Experiencia[playerid]);


            SetSpawnInfo(playerid, 1, pap_CarregarInt(playerid, "Skin"), pap_CarregarFloat(playerid, "X"), pap_CarregarFloat(playerid, "Y"), pap_CarregarFloat(playerid, "Z"), pap_CarregarFloat(playerid, "Ang"), 0, 0, 0, 0, 0, 0);
            // carrega as informaзхes (skin, x, y, z, ang) salvas no arquivo, se quiser aumentar a eficiкncia, coloque a skin e as cordenadas diretamente.

            SpawnPlayer(playerid);
            SetPlayerColor(playerid, COLOR_DESEMPREGADO);
            SendClientMessage(playerid, COLOR_GREEN, "Registrado e logado.");
            SendClientMessage(playerid, COLOR_GREEN, "Vocк tкm $10000 no banco para comeзar a viver e 100 de combustнvel.");
            SendClientMessage(playerid, COLOR_GREEN, "Digite /ajuda para ver os comandos basicos.");
            SendClientMessage(playerid, COLOR_GREEN, "Digite /tutorial para aprender a jogar.");
            printf("O jogador %s (ID %d) acabou de se registrar",PlayerName(playerid),playerid);

        }
        return 1;
    }
    else if(dialogid == LOGIN)
    {
        if(!response)
        {
            SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o login!");
            Kick(playerid);
            return 0;
        }

        if(!strlen(inputtext))
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
            return 0;
        }
        if(strlen(inputtext) > 64)
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
            return 0;
        }
        new senha[MAX_PCOD_CHAR];
        psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
        if(pap_VerificarSenha(playerid, senha))
        {
            PLAYERLIST_authed[playerid] = 1;
            LogarPlayer(playerid);
            printf("O jogador %s (ID %d) acabou de se logar", PlayerName(playerid), playerid);
        }
        else
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
        }
    }

//Tem umas outras dialogs aqui, mais sгo do meu sistema de Luta. . .
Lembrando: Eu entro com uma conta nгo registrada e aparece para logar e buga o player quando loga, e eu entro com uma conta registrada e loga normalmente.
Reply
#2

pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    new string[256];
    if(pap_JogadorRegistrado(playerid))
        {
        new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
    ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
        }
    if(!pap_JogadorRegistrado(playerid))
        {
        new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
    ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");

        }
        return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[128];
    if(dialogid == REGISTRO)
    {
        if(!response)
        {
            SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o registro!");
            Kick(playerid);
            return 1;
        }
        if(!strlen(inputtext))
        {
        new name[MAX_PLAYER_NAME];

        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
            return 1;
        }
        if(strlen(inputtext) > 64)
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
            return 1;
        }
        new senha[MAX_PCOD_CHAR];
        psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
        if(pap_IniciarConta(playerid, senha)) // Certo, a funзгo pap_IniciarConta retornou a 1, sendo assim podemos salvar os dados que queremos, jб que a conta foi iniciada!
        {
            new
                ip[18];

            PLAYERLIST_authed[playerid] = 1;

            GetPlayerIp(playerid, ip, sizeof(ip));

            pap_SalvarInt(playerid, "Skin", 28);
            pap_SalvarInt(playerid, "Dinheiro_bolso", 0);
            pap_SalvarInt(playerid, "Dinheiro_banco", 10000);
            pap_SalvarInt(playerid, "Matou", 0);
            pap_SalvarInt(playerid, "Morreu", 0);
            pap_SalvarInt(playerid, "Preso", 0);
            pap_SalvarInt(playerid, "Luta", FIGHT_STYLE_NORMAL);
            pap_SalvarInt(playerid, "Procurado", 0);
            pap_SalvarInt(playerid, "Haerea", 0);
            pap_SalvarInt(playerid, "Hterrestre", 0);
            pap_SalvarInt(playerid, "Hnautica", 0);
            pap_SalvarInt(playerid, "Porte", 0);
            pap_SalvarFloat(playerid, "X", -1757.9701);
            pap_SalvarFloat(playerid, "Y", 960.9874);
            pap_SalvarFloat(playerid, "Z", 24.8828);
            pap_SalvarFloat(playerid, "Ang", 180.0000);
            pap_SalvarStr(playerid, "IP", ip);
            pap_SalvarFloat(playerid, "Vida", 100.0);

            Petrol[playerid] = 100;
            pap_SalvarInt(playerid, "Combustivel", Petrol[playerid]);
            Profissao[playerid] = 0;
            pap_SalvarInt(playerid, "Profissao", Profissao[playerid]);
            Level[playerid] = 0;
            pap_SalvarInt(playerid, "Level", Level[playerid]);
            Experiencia[playerid] = 0;
            pap_SalvarInt(playerid, "Experiencia", Experiencia[playerid]);


            SetSpawnInfo(playerid, 1, pap_CarregarInt(playerid, "Skin"), pap_CarregarFloat(playerid, "X"), pap_CarregarFloat(playerid, "Y"), pap_CarregarFloat(playerid, "Z"), pap_CarregarFloat(playerid, "Ang"), 0, 0, 0, 0, 0, 0);
            // carrega as informaзхes (skin, x, y, z, ang) salvas no arquivo, se quiser aumentar a eficiкncia, coloque a skin e as cordenadas diretamente.

            SpawnPlayer(playerid);
            SetPlayerColor(playerid, COLOR_DESEMPREGADO);
            SendClientMessage(playerid, COLOR_GREEN, "Registrado e logado.");
            SendClientMessage(playerid, COLOR_GREEN, "Vocк tкm $10000 no banco para comeзar a viver e 100 de combustнvel.");
            SendClientMessage(playerid, COLOR_GREEN, "Digite /ajuda para ver os comandos basicos.");
            SendClientMessage(playerid, COLOR_GREEN, "Digite /tutorial para aprender a jogar.");
            printf("O jogador %s (ID %d) acabou de se registrar",PlayerName(playerid),playerid);

        }
    }
    else if(dialogid == LOGIN)
    {
        if(!response)
        {
            SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o login!");
            Kick(playerid);
            return 1;
        }

        if(!strlen(inputtext))
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
            return 1;
        }
        if(strlen(inputtext) > 64)
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
            return 1;
        }
        new senha[MAX_PCOD_CHAR];
        psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
        if(pap_VerificarSenha(playerid, senha))
        {
            PLAYERLIST_authed[playerid] = 1;
            LogarPlayer(playerid);
            printf("O jogador %s (ID %d) acabou de se logar", PlayerName(playerid), playerid);
        }
        else
        {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
        }
    }

//Tem umas outras dialogs aqui, mais sгo do meu sistema de Luta. . .
Mudei as coordenadas de spawn para ver se eram as antigas que estavam erradas, e tambйm mudei alguns returns e elses.
Reply
#3

Jб resolvi /MaisOuMeno no MSN com o Protioso. Qualquer coisa volto a usar o Tуpico.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)