[Ajuda] Dъvida sobre menu com textdraw
#1

Pessoas , eu criei uma tela de login atravйs de menu de textdraw com ajuda dessa callback:

Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
Agora, eu queria saber o seguinte.
A pessoa aperta ESC e nгo tem mais como clicar nas opзхes do menu. mas o menu continua la.
Eu queria saber, como posso evitar disso acontecer? Eu vi em outro servidor. Se vocк apertasse ESC no menu , vocк fechava, mas rapidamente abria novamente, dando pra passar o mouse sobre as opзхes e clicб-las.
Reply
#2

Caso o jogador aperte esc й chamada a funзгo com o id da textdraw clicada com um id invalido ( INVALID_TEXT_DRAW )

Isso deve resolver:
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == INVALID_TEXT_DRAW)
    {
         SelectTextDraw(playerid, -1);
    }
    return 1;
}
Reply
#3

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Caso o jogador aperte esc й chamada a funзгo com o id da textdraw clicada com um id invalido ( INVALID_TEXT_DRAW )

Isso deve resolver:
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == INVALID_TEXT_DRAW)
    {
         SelectTextDraw(playerid, -1);
    }
    return 1;
}
Sу nгo sei onde colocar jб que a callback jб tem algumas coisas
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    new plname[MAX_PLAYER_NAME];
    new string[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Contas/%s.ini", plname);
    if(clickedid == Menu[4])
    {
        if(fexist(string))
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Acesse sua Conta", "Olб, Seja bem-vindo! Vocк estб registrado!\nDigite sua senha para entrar no jogo.", "Entrar", "Sair");
        }
        else
        {
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Acesse sua Conta", "Vocк ainda nгo estб registrado, clique em registrar para criar sua conta", "Confirmar", "");
        }
        return 1;
    }
    if(clickedid == Menu[6])
    {
        if(fexist(string))
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Crie sua Conta", "Olб, Seja bem-vindo! Como й sua primeira vez\nDigite uma senha para se registrar.", "Registrar", "Sair");
        }
        else
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Crie sua Conta", "Vocк ainda nгo tem uma conta, clique em registrar para criar", "Registrar", "Sair");
        }
        return 1;
    }
    if(clickedid == Menu[8])
    {
                EsconderMenu(playerid);
                Kick(playerid);
                return 1;
    }
    return 1;
}
Reply
#4

Qualquer lugar da callback.
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    new plname[MAX_PLAYER_NAME];
    new string[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Contas/%s.ini", plname);
    if(clickedid == INVALID_TEXT_DRAW) return SelectTextDraw(playerid, -1);
    if(clickedid == Menu[4])
    {
        if(fexist(string))
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Acesse sua Conta", "Olб, Seja bem-vindo! Vocк estб registrado!\nDigite sua senha para entrar no jogo.", "Entrar", "Sair");
        }
        else
        {
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Acesse sua Conta", "Vocк ainda nгo estб registrado, clique em registrar para criar sua conta", "Confirmar", "");
        }
        return 1;
    }
    /*
    .....
    */

    return 1;
}
Reply
#5

Eu botei, mas ta dando Tag Mismatch na linha dele
Reply
#6

pawn Код:
if(clickedid == Text:INVALID_TEXT_DRAW) return SelectTextDraw(playerid, -1);
Reply
#7

PHP код:
public OnPlayerClickTextDraw(playeridText:clickedid)
{
    new 
string[155], plname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplnamesizeof(plname));
    
PlayerPlaySound(playerid11850.00.00.0);
    
format(stringsizeof(string), "Contas/%s.ini"plname);
    if(
clickedid == Text:INVALID_TEXT_DRAW) return SelectTextDraw(playerid, -1);
    if(
clickedid == Menu[4])
    {
        if(
fexist(string))
        {
            
ShowPlayerDialog(playerid2DIALOG_STYLE_PASSWORD"Acesse sua Conta""Olб, Seja bem-vindo! Vocк estб registrado!\nDigite sua senha para entrar no jogo.""Entrar""Sair");
        }
        else
        {
            
ShowPlayerDialog(playerid0DIALOG_STYLE_MSGBOX"Acesse sua Conta""Vocк ainda nгo estб registrado, clique em registrar para criar sua conta""Confirmar""");
        }
        return 
1;
    }
    return 
1;

Reply
#8

O Menu fica assim quando eu vou selecionar
http://i.imgur.com/60F6mGT.png
Mas quando eu dou esc ele fica assim
http://i.imgur.com/ci7mHB5.png

Tem como evitar isso?
Reply
#9

Fora que, quando eu vou logar no servidor nem consigo andar mais
Reply
#10

Quote:
Originally Posted by tehMix
Посмотреть сообщение
Lord, se eu nгo estou enganado, isso aconteceu porque vocк tentou editar o nome das textdraws pelo pawno, aн elas ficam feias deste jeito... Eu sou o criador do FilterScript que vocк estб usando, se quiser eu arrumo essas texts para vocк.
Eu adaptei do FS para o GM, por que eu nгo sabia criar esse tipo de menu.
Tem skype? me add la: tiagopedutti
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)