[Ajuda] OnPlayerDeath = OnPlayerRequestClass
#1

Estou criando um gamemode do 0, mas tem um bug que tб enchendo o saco..

Й assim, o jogador consegue se registrar e logar normalmente, mas, na primeira vez que ele morre, ele abre o dialog do login denovo, ai caso eu digite a senha nгo acontece mais isso comigo..

Pessoal, nгo й possivel mudar oque tem no OnPlayerRequestClass para o OnPlayerConnect, por isso vim aqui pedir outra soluзгo..

pawn Код:
public OnPlayerConnect(playerid)
{
    Spawn[playerid] = 1;

    ForceClassSelection(playerid);

    LerComandos[playerid] = false;

    CLS[playerid] = false;

    LerPms[playerid] = true;
    PmBlock[playerid] = true;

    format(String, sizeof(String), "{00FF00}- {FFFFFF}%s entrou no servidor", PlayerName(playerid));
    SendClientMessageToAll(-1, String);

    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    SendClientMessage(playerid, -1, " ");
    return 1;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
    if(Spawn[playerid] == 1)
    {
        Spawn[playerid] = 0;
        TextDrawShowForPlayer(playerid, Horario);
        TextDrawShowForPlayer(playerid, DATA);
        PmBlock[playerid] = false;
        KillTimer(Timer01);
        SetPlayerHealth(playerid, VMDV);
        GetPlayerName(playerid, nome, sizeof(nome));
        format(arquivo, sizeof(arquivo), cJ, nome);
        SetPlayerSkin(playerid, dini_Int(arquivo, "SkinAtual"));
        if(dini_Float(arquivo, "Vida") == 0) return 0x1;
        SetPlayerHealth(playerid, dini_Float(arquivo, "Vida"));
        SetPlayerArmour(playerid, dini_Float(arquivo, "Colete"));
        TempoExpMinuto(playerid);
        CDP(playerid);
    }
    return 1;
}
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    TotalDeVezesMorreu[playerid] ++;
    TotalDeVezesMatou[killerid] ++;
    return 1;
}
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    new rand = random(sizeof Camera);
    SetPlayerCameraPos(playerid, Camera[rand][0], Camera[rand][1], Camera[rand][2]);
    SetPlayerCameraLookAt(playerid, Camera[rand][3], Camera[rand][4], Camera[rand][5]);
    SetPVarInt(playerid, "Camera", rand);

    Timer01 = SetTimer("Cameras", 5000, true);

    TentativasDeLogar[playerid] = 0;
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), cJ, nome);
    if(!dini_Exists(arquivo))
    {
        format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possuн uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
        ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Registrar", "Sair");
    }
    if(dini_Exists(arquivo))
    {
        format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possuн uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
        ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
    }
    return 1;
}
Aqui os dialogs:

pawn Код:
if(dialogid == DialogSkin)
    {
        if(response)
        {
            dini_IntSet(arquivo, "SkinAtual", 0);
            SetPlayerSkin(playerid, 0);
        }
        else
        {
            dini_IntSet(arquivo, "SkinAtual", 193);
            SetPlayerSkin(playerid, 193);
        }
    }
    if(dialogid == DialogRegistro)
    {
        ForceClassSelection(playerid);
        if(!response) ShowPlayerDialog(playerid, DialogSaidaA, DIALOG_STYLE_MSGBOX, "{FFFFFF}- Like A Life -", "\n{FFFFFF}Vocк ainda nгo estб registrado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
        if(response)
        {
            if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
            {
                GetPlayerName(playerid, nome, sizeof(nome));
                format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
                return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Registrar", "Sair");
            }
            SpawnPlayer(playerid);
            GetPlayerName(playerid, nome, sizeof(nome));
            format(arquivo, sizeof(arquivo), cJ, nome);
            dini_Create(arquivo);
            dini_Set(arquivo, "Senha", inputtext);
            dini_IntSet(arquivo, "Dinheiro", 0);
            dini_Set(arquivo, "Level", "0");
            dini_Set(arquivo, "ExpJogador", "0");
            dini_IntSet(arquivo, "LevelProcurado", 0);
            dini_FloatSet(arquivo, "Vida", VMDV);
            dini_FloatSet(arquivo, "Colete", VMDC);
            #if defined CUP
            dini_FloatSet(arquivo, "PosX", 0.0);
            dini_FloatSet(arquivo, "PosY", 0.0);
            dini_FloatSet(arquivo, "PosZ", 0.0);
            dini_IntSet(arquivo, "Interior", 0);
            dini_IntSet(arquivo, "VirtualWorld", 0);
            #endif
            dini_IntSet(arquivo, "TotalDeVezesMorreu", 0);
            dini_IntSet(arquivo, "TotalDeVezesMatou", 0);
            ShowPlayerDialog(playerid, DialogSkin, DIALOG_STYLE_MSGBOX, "{FFFFFF}- Like A Life -", "{FFFFFF}Vocк quer iniciar com um skin {0099FF}homem {FFFFFF}ou {FF00FF}mulher {FFFFFF}?\n{FF0000}* vocк poderб alterar o skin mais tarde", "Homem", "Mulher");
            SendClientMessage(playerid, -1, "{DCE2F3}| INFO | Configuraзхes do servidor setadas");
        }
    }

    if(dialogid == DialogLogin)
    {
        ForceClassSelection(playerid);
        if(!response) ShowPlayerDialog(playerid, DialogSaidaB, DIALOG_STYLE_MSGBOX, "{FFFFFF}- Like A Life -", "\n{FFFFFF}Vocк ainda nгo estб logado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
        if(response)
        {
            if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
            {
                GetPlayerName(playerid, nome, sizeof(nome));
                format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
                return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
            }
            GetPlayerName(playerid, nome, sizeof(nome));
            format(arquivo, sizeof(arquivo), cJ, nome);
            if(!strcmp(inputtext, dini_Get(arquivo, "Senha"), Case_Sensitive))
            {
                CDP(playerid); // Carregar dados player
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DialogPos, DIALOG_STYLE_LIST, "{FFFFFF}- Like A Life - [ Para onde vocк quer ir ? ]", "Spawn\nЪltima posiзгo salva", "Ok", "");
            }
            else
            {
                TentativasDeLogar[playerid] ++;
                if(TentativasDeLogar[playerid] <= MTDL)
                {
                    GetPlayerName(playerid, nome, sizeof(nome));
                    format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
                    ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life-", String, "Registrar", "Sair");


                    format(String, sizeof(String), "~r~Senha incorreta. %d/%d", TentativasDeLogar[playerid], MTDL);
                    GameTextForPlayer(giveplayerid, String, 100, 1);

                    format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
                    ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
                }
                if(TentativasDeLogar[playerid] > MTDL)
                {
                    format(String, sizeof(String), "~r~Por questхes de seguranзa foi kickado");
                    GameTextForPlayer(giveplayerid, String, 3000, 1);
                    Kick(playerid);
                }
            }
        }
    }

    if(dialogid == DialogSaidaA)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "{DCE2F3}| INFO | Vocк decidiu sair sem se registrar.");
            Kick(playerid);
        }
        else
        {
            GetPlayerName(playerid, nome, sizeof(nome));
            format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
            ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Registrar", "Sair");
        }
    }

    if(dialogid == DialogSaidaB)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "{DCE2F3}| INFO | Vocк decidiu sair sem logar.");
            Kick(playerid);
        }
        else
        {
            GetPlayerName(playerid, nome, sizeof(nome));
            format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
            ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
        }
    }
Reply


Messages In This Thread
OnPlayerDeath = OnPlayerRequestClass - by yMbR - 21.07.2012, 09:14
Re: OnPlayerDeath = OnPlayerRequestClass - by zbt - 21.07.2012, 14:26
Re: OnPlayerDeath = OnPlayerRequestClass - by yMbR - 21.07.2012, 22:20
Re: OnPlayerDeath = OnPlayerRequestClass - by zbt - 21.07.2012, 22:56
Re: OnPlayerDeath = OnPlayerRequestClass - by yMbR - 22.07.2012, 01:02
Re: OnPlayerDeath = OnPlayerRequestClass - by renanmsd - 22.07.2012, 03:11
Re: OnPlayerDeath = OnPlayerRequestClass - by yMbR - 22.07.2012, 08:57
Re: OnPlayerDeath = OnPlayerRequestClass - by zbt - 22.07.2012, 14:27
Re: OnPlayerDeath = OnPlayerRequestClass - by yMbR - 22.07.2012, 16:57
Re: OnPlayerDeath = OnPlayerRequestClass - by yMbR - 24.07.2012, 09:52

Forum Jump:


Users browsing this thread: 3 Guest(s)