[DUV] Problema com Dialog.
#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


Messages In This Thread
[DUV] Problema com Dialog. ( RESOLVIDO /OuNгo? ) - by [NWD]Tweener_ - 23.07.2010, 21:53
Re: [DUV] Problema com Dialog. - by [BEP]AcerPilot - 24.07.2010, 20:37
Re: [DUV] Problema com Dialog. - by [NWD]Tweener_ - 24.07.2010, 23:11

Forum Jump:


Users browsing this thread: 2 Guest(s)