SA-MP Forums Archive
[Ajuda] Click em Textdraw ... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Click em Textdraw ... (/showthread.php?tid=480293)



Click em Textdraw ... - JoaoMonteiro452 - 09.12.2013

Bom eu queria um return em textdraw de click .. mas nao consegui alguem me pode ajudar ? pff ...

pawn Код:
new Text:gTextDraw;

public OnGameModeInit()
{
    gTextDraw = TextDrawCreate(10.000000, 141.000000, "MyTextDraw");
    TextDrawTextSize(gTextDraw,60.000000, 20.000000);
    TextDrawAlignment(gTextDraw,0);
    TextDrawBackgroundColor(gTextDraw,0x000000ff);
    TextDrawFont(gTextDraw,1);
    TextDrawLetterSize(gTextDraw,0.250000, 1.000000);
    TextDrawColor(gTextDraw,0xffffffff);
    TextDrawSetProportional(gTextDraw,1);
    TextDrawSetShadow(gTextDraw,1);
    TextDrawSetSelectable(gTextDraw, 1);
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
        if (!strcmp("/cmd", cmdtext, true))
        {
            TextDrawShowForPlayer(playerid, gTextDraw);
            SelectTextDraw(playerid, 0xFF4040AA);
            return 1;
        }
        return 0;
}
#define fghj 43
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(!clickedid) return TextDrawShowForPlayer(playerid, gTextDraw), SelectTextDraw(playerid, 0xFF4040AA);
    if(clickedid == gTextDraw)
    {
        new Msg[1000];
        format(Msg, 1000, "%sTEXTOOO\n", Msg);
        format(Msg, 1000, "%sTEXTOOO\n", Msg);
        ShowPlayerDialog(playerid, fghj, DIALOG_STYLE_MSGBOX, "TEXTOOO", Msg, "Ok", "Fechar");
    }
    return 1;
}



Re: Click em Textdraw ... - Kuddy - 09.12.2013

To tentando decifrar oq vc quer..

Pelo que eu percebi (pelo codigo) falta esconderas textdraws, eh isso q vc ker?


Re: Click em Textdraw ... - JoaoMonteiro452 - 09.12.2013

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
To tentando decifrar oq vc quer..

Pelo que eu percebi (pelo codigo) falta esconderas textdraws, eh isso q vc ker?
nao mano, o cara clica no textdraw ne ? entгo apaga os textdraw e abre o dialog, e quando ele clicar 'Ok' e em 'Cancelar' voltar para o textdraw ...


Re: Click em Textdraw ... - Kuddy - 09.12.2013

Entao eh isso mesmo.

"return" eh para parar a execucao do um codigo e nao para desfazer uma acao

Para esconder a textdraw, use o inverso de mostrar (show): esconder (hide):
https://sampwiki.blast.hk/wiki/TextDrawHideForPlayer

Ficara da seguinte maneira:
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == gTextDraw)
    {
        TextDrawHideForPlayer(playerid, gTextDraw);
        new Msg[1000];
        format(Msg, 1000, "%sTEXTOOO\n", Msg);
        format(Msg, 1000, "%sTEXTOOO\n", Msg);
        ShowPlayerDialog(playerid, fghj, DIALOG_STYLE_MSGBOX, "TEXTOOO", Msg, "Ok", "Fechar");
    }
    return 1;
}



Re: Click em Textdraw ... - JoaoMonteiro452 - 09.12.2013

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Entao eh isso mesmo.

"return" eh para parar a execucao do um codigo e nao para desfazer uma acao

Para esconder a textdraw, use o inverso de mostrar (show): esconder (hide):
https://sampwiki.blast.hk/wiki/TextDrawHideForPlayer

Ficara da seguinte maneira:
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == gTextDraw)
    {
        TextDrawHideForPlayer(playerid, gTextDraw);
        new Msg[1000];
        format(Msg, 1000, "%sTEXTOOO\n", Msg);
        format(Msg, 1000, "%sTEXTOOO\n", Msg);
        ShowPlayerDialog(playerid, fghj, DIALOG_STYLE_MSGBOX, "TEXTOOO", Msg, "Ok", "Fechar");
    }
    return 1;
}
acho que vc nao intendeu .. isso eu sei fera. eu quero й que quando ele acabar de ver o dialog, e ele apertar 'esc' ou 'ok' ou 'fechar' voltar ao's textdraw's

textdraws'
V
TextDrawShowForPlayer(playerid, gTextDraw);
SelectTextDraw(playerid, 0xFF4040AA);


Re: Click em Textdraw ... - CharlieBrown - 09.12.2013

pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == gTextDraw)
    {
    new Msg[100];
    format(Msg, 1000, "%sTEXTOOO\n", Msg);
    format(Msg, 1000, "%sTEXTOOO\n", Msg);
    ShowPlayerDialog(playerid, fghj, DIALOG_STYLE_MSGBOX, "TEXTOOO", Msg, "Ok", "Fechar");
    }else{
        TextDrawShowForPlayer(playerid, gTextDraw);
        SelectTextDraw(playerid, 0xFF4040AA);
        }
        return 1;
}
Isso ?


Re: Click em Textdraw ... - JoaoMonteiro452 - 09.12.2013

Quote:
Originally Posted by CharlieBrown
Посмотреть сообщение
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == gTextDraw)
    {
    new Msg[100];
    format(Msg, 1000, "%sTEXTOOO\n", Msg);
    format(Msg, 1000, "%sTEXTOOO\n", Msg);
    ShowPlayerDialog(playerid, fghj, DIALOG_STYLE_MSGBOX, "TEXTOOO", Msg, "Ok", "Fechar");
    }else{
        TextDrawShowForPlayer(playerid, gTextDraw);
        SelectTextDraw(playerid, 0xFF4040AA);
        }
        return 1;
}
Isso ?
nao vai, pq tem mais else por baixo ...


Re: Click em Textdraw ... - CharlieBrown - 09.12.2013

Quote:
Originally Posted by JoaoMonteiro452
Посмотреть сообщение
nao vai, pq tem mais else por baixo ...
Sу remover, testei aqui em um gm com base bare, deu certo.


Re: Click em Textdraw ... - Kuddy - 09.12.2013

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == fghj) {
        TextDrawShowForPlayer(playerid, gTextDraw);
        SelectTextDraw(playerid, 0xFF4040AA);
    }
    return 1;
}



Re: Click em Textdraw ... - JoaoMonteiro452 - 09.12.2013

Quote:
Originally Posted by CharlieBrown
Посмотреть сообщение
Sу remover, testei aqui em um gm com base bare, deu certo.
tirei os de baixo, mas depois quando abre o dialog, ao apertas 'Ok' ou 'Fechar' some tudo... e ainda pos o esle e nao foi manda ae a base pode?