ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Problem with Dialog (https://forum.antichat.xyz/showthread.php?t=1306620)

Uztor 16.12.2014 03:28

Hello, I have a problem with my dialog(s).

I use this "function" to create the dialog:

Код:





Код:

void showSampDialog(int send, int dialogID, int typedialog, char *caption, char *text, char *button1, char *button2)
{
    uint32_t func = SF->getSAMP()->getSAMPAddr() + SAMP_DIALOG_SHOW;
    uint32_t data = SF->getSAMP()->getSAMPAddr() + SAMP_DIALOG_INFO_OFFSET;

    __asm mov eax, dword ptr[data]
        __asm mov ecx, dword ptr[eax]
        __asm push send
    __asm push button2
    __asm push button1
    __asm push text
    __asm push caption
    __asm push typedialog
    __asm push dialogID
    __asm call func
    return;
}



My first dialog:

Код:





Код:

void _cdecl cmd_cmenu(char *param)
{
    showSampDialog(1, 600, 2, " Cheat Menu", "1\n2\n3\n4", "Next", "Cancel");
}



I get the dialog response:

Код:





Код:

void dialogResponse(int dialogID, int buttonID, int listboxItem, char* input)
{
    SF->getSAMP()->getChat()->AddChatMessage(-1, "Dialogid: %d ButtonID: %d ListboxItem: %d Inputresponse: %s", dialogID, buttonID, listboxItem, input)
    if (dialogID == 600)
    {
        if (buttonID == 1)
        {
            if (listboxItem == 2)
            {
                showSampDialog(1, 601, 2, "Raknet", "Debug Dialog-Response", "Okay", "Cancel");
            }
        }
    }
}



My problem:

I see the debug message and the first dialog. (SF->getSAMP()->getChat()->AddChatMessage(-1, "Dialogid: %d ButtonID: %d ListboxItem: %d Inputresponse: %s", dialogID, buttonID, listboxItem, input))

But I didn't see the second dialog (showSampDialog(1, 601, 2, "Raknet", "Debug Dialog-Response", "Okay", "Cancel")).

Why?

povargek 16.12.2014 18:30

Цитата:

Сообщение от Uztor

Why?

You close a first dialog?

Uztor 16.12.2014 19:21

Цитата:

Сообщение от povargek

You close a first dialog?

how can I close another dialog?

Код:





Код:

SF->getSAMP()->getDialog()->Close(0);


Код:





Код:

if (listboxItem == 0)
            {
                SF->getSAMP()->getDialog()->Close(0);
                SF->getSAMP()->getDialog()->ShowDialog(601, 2, "lolll!", "SA-MP Patches\nGTA Patches\nRaknet\nCredits", "Next", "Cancel");
                SF->getSAMP()->getDialog()->bServerside = 1;
            }



doesn't work.

Uztor 20.12.2014 05:14

Need help!

povargek 24.12.2014 08:54

Цитата:

Сообщение от Uztor

how can I close another dialog?

Код:





Код:

SF->getSAMP()->getDialog()->Close(0);


Код:





Код:

if (listboxItem == 0)
            {
                SF->getSAMP()->getDialog()->Close(0);
                SF->getSAMP()->getDialog()->ShowDialog(601, 2, "lolll!", "SA-MP Patches\nGTA Patches\nRaknet\nCredits", "Next", "Cancel");
                SF->getSAMP()->getDialog()->bServerside = 1;
            }



doesn't work.

if dialog style is NOT IS LIST, listitem been -1


Время: 03:52