Server can't detect filterscripts' OnDialogResponse
#1

My server can not detect any of my filterscripts' OnPlayerDialog. Here's an example

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp(cmdtext, "/weapons", true))
    {
        ShowPlayerDialog(playerid, 6516, DIALOG_STYLE_LIST, "Weapons Shop", "Showel\nPool Cue\nKatana\nGrenade\nSmoke Grenade\nSatchel Charge\nMolotov\n9MM\nDesert Eagle\nShotgun\nSawnoff Shotgun\nCombat Shotgun\nUzi\nMP5\nTec 9\nAK47\nM4\nCountry Rifle\nSniper Rifle\nRPG\nHS Rocket\nFlame Thrower\nMinigun\nSpray Can\nFire Extinguisher", "Buy", "Cancel");
        return 1;
    }
    return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 6516)
    {
        SendClientMessage(playerid, 0xFF0000FF, "Test");
        switch(listitem)
        {
            case 0:
                {
                    GivePlayerWeapon(playerid, 6, 1);
                    SetPlayerArmedWeapon(playerid, 6);
                }
            case 1:
                {
                    GivePlayerWeapon(playerid, 7, 1);
                    SetPlayerArmedWeapon(playerid, 7);
                }
            case 2:
                {
                    GivePlayerWeapon(playerid, 8, 1);
                    SetPlayerArmedWeapon(playerid, 8);
                }
            case 3:
                {
                    GivePlayerWeapon(playerid, 16, 5);
                    SetPlayerArmedWeapon(playerid, 16);
                }
            case 4:
                {
                    GivePlayerWeapon(playerid, 17, 5);
                    SetPlayerArmedWeapon(playerid, 17);
                }
            case 5:
                {
                    GivePlayerWeapon(playerid, 39, 5);
                    SetPlayerArmedWeapon(playerid, 39);
                }
            case 6:
                {
                    GivePlayerWeapon(playerid, 18, 5);
                    SetPlayerArmedWeapon(playerid, 18);
                }
            case 7:
                {
                    GivePlayerWeapon(playerid, 22, 50);
                    SetPlayerArmedWeapon(playerid, 22);
                }
            case 8:
                {
                    GivePlayerWeapon(playerid, 24, 50);
                    SetPlayerArmedWeapon(playerid, 24);
                }
            case 9:
                {
                    GivePlayerWeapon(playerid, 25, 40);
                    SetPlayerArmedWeapon(playerid, 25);
                }
            case 10:
                {
                    GivePlayerWeapon(playerid, 26, 50);
                    SetPlayerArmedWeapon(playerid, 26);
                }
            case 11:
                {
                    GivePlayerWeapon(playerid, 27, 35);
                    SetPlayerArmedWeapon(playerid, 27);
                }
            case 12:
                {
                    GivePlayerWeapon(playerid, 28, 200);
                    SetPlayerArmedWeapon(playerid, 28);
                }
            case 13:
                {
                    GivePlayerWeapon(playerid, 29, 200);
                    SetPlayerArmedWeapon(playerid, 29);
                }
            case 14:
                {
                    GivePlayerWeapon(playerid, 32, 200);
                    SetPlayerArmedWeapon(playerid, 32);
                }
            case 15:
                {
                    GivePlayerWeapon(playerid, 30, 150);
                    SetPlayerArmedWeapon(playerid, 30);
                }
            case 16:
                {
                    GivePlayerWeapon(playerid, 31, 150);
                    SetPlayerArmedWeapon(playerid, 31);
                }
            case 17:
                {
                    GivePlayerWeapon(playerid, 33, 40);
                    SetPlayerArmedWeapon(playerid, 33);
                }
            case 18:
                {
                    GivePlayerWeapon(playerid, 34, 20);
                    SetPlayerArmedWeapon(playerid, 34);
                }
            case 19:
                {
                    GivePlayerWeapon(playerid, 35, 3);
                    SetPlayerArmedWeapon(playerid, 35);
                }
            case 20:
                {
                    GivePlayerWeapon(playerid, 36, 3);
                    SetPlayerArmedWeapon(playerid, 36);
                }
            case 21:
                {
                    GivePlayerWeapon(playerid, 37, 100);
                    SetPlayerArmedWeapon(playerid, 37);
                }
            case 22:
                {
                    GivePlayerWeapon(playerid, 38, 100);
                    SetPlayerArmedWeapon(playerid, 38);
                }
            case 23:
                {
                    GivePlayerWeapon(playerid, 41, 120);
                    SetPlayerArmedWeapon(playerid, 41);
                }
            case 24:
                {
                    GivePlayerWeapon(playerid, 42, 100);
                    SetPlayerArmedWeapon(playerid, 42);
                }
        }
        return 1;
    }
    return 0;
}
When I type /weapons I get the weapons list dialog but when I choose one weapon, the dialog closes and I do not get any weapon. The script works if I put it in my game mode. Help please

EDIT:
My user login system dialogs are working fine, they're also in filterscript, and when I put my weapons dialog in my user login system filterscript it works. How is my user system filterscript working but my weapons dialog filterscript isn't working
Reply
#2

try change dialogid, maybe you use same dialogid
Reply
#3

I tried changing it many times
Reply
#4

Are you using 2 or more filterscripts with dialogs?
Reply
#5

I know it should return false at the end of OnDialogResponse callback if it's a filterscript and return true if it's a gamemode, but it sometimes bugged the dialogid when I used it. Even if I use it correct and all that, it was a mess.

From the day I used this include (https://sampforum.blast.hk/showthread.php?tid=377140), I've never had problems which are related to dialogs. It's very good include and I strongly recommend you to use it.
Reply
#6

Quote:
Originally Posted by Chris10
Посмотреть сообщение
Are you using 2 or more filterscripts with dialogs?
Yeah

Quote:
Originally Posted by _Zeus
Посмотреть сообщение
I know it should return false at the end of OnDialogResponse callback if it's a filterscript and return true if it's a gamemode, but it sometimes bugged the dialogid when I used it. Even if I use it correct and all that, it was a mess.

From the day I used this include (https://sampforum.blast.hk/showthread.php?tid=377140), I've never had problems which are related to dialogs. It's very good include and I strongly recommend you to use it.
Ok I'll try

EDIT
It did not solve the problem
Reply
#7

Dialogs won't work if 2 filterscript are using them..
Reply
#8

Yea, Chris is right.
Try including the filterscripts in the gamemode.
with copy paste under the callbacks which fs is using.
Reply
#9

Quote:
Originally Posted by Chris10
Посмотреть сообщение
Dialogs won't work if 2 filterscript are using them..
I assume you mean the dialogid, because you can have unfinite dialogs.
The include I posted generates an unique dialogid to prevent from being used more than once.

I'll test the code you posted as a filterscript and I'll tell you if it works on me or not.
Reply
#10

Quote:
Originally Posted by SlonCHL
Посмотреть сообщение
EDIT
It did not solve the problem
It works fine for me.

pawn Код:
#define FILTERSCRIPT

#include <a_samp>
#include <easydialog>
#include <zcmd>

Dialog:Weapons(playerid, response, listitem, inputtext[])
{
    if(response)
    {
        SendClientMessage(playerid, 0xFF0000FF, "Test");
        switch(listitem)
        {
            case 0:
            {
                GivePlayerWeapon(playerid, 6, 1);
                SetPlayerArmedWeapon(playerid, 6);
            }
            case 1:
            {
                GivePlayerWeapon(playerid, 7, 1);
                SetPlayerArmedWeapon(playerid, 7);
            }
            case 2:
            {
                GivePlayerWeapon(playerid, 8, 1);
                SetPlayerArmedWeapon(playerid, 8);
            }
            case 3:
            {
                GivePlayerWeapon(playerid, 16, 5);
                SetPlayerArmedWeapon(playerid, 16);
            }
            case 4:
            {
                GivePlayerWeapon(playerid, 17, 5);
                SetPlayerArmedWeapon(playerid, 17);
            }
            case 5:
            {
                GivePlayerWeapon(playerid, 39, 5);
                SetPlayerArmedWeapon(playerid, 39);
            }
            case 6:
            {
                GivePlayerWeapon(playerid, 18, 5);
                SetPlayerArmedWeapon(playerid, 18);
            }
            case 7:
            {
                GivePlayerWeapon(playerid, 22, 50);
                SetPlayerArmedWeapon(playerid, 22);
            }
            case 8:
            {
                GivePlayerWeapon(playerid, 24, 50);
                SetPlayerArmedWeapon(playerid, 24);
            }
            case 9:
            {
                GivePlayerWeapon(playerid, 25, 40);
                SetPlayerArmedWeapon(playerid, 25);
            }
            case 10:
            {
                GivePlayerWeapon(playerid, 26, 50);
                SetPlayerArmedWeapon(playerid, 26);
            }
            case 11:
            {
                GivePlayerWeapon(playerid, 27, 35);
                SetPlayerArmedWeapon(playerid, 27);
            }
            case 12:
            {
                GivePlayerWeapon(playerid, 28, 200);
                SetPlayerArmedWeapon(playerid, 28);
            }
            case 13:
            {
                GivePlayerWeapon(playerid, 29, 200);
                SetPlayerArmedWeapon(playerid, 29);
            }
            case 14:
            {
                GivePlayerWeapon(playerid, 32, 200);
                SetPlayerArmedWeapon(playerid, 32);
            }
            case 15:
            {
                GivePlayerWeapon(playerid, 30, 150);
                SetPlayerArmedWeapon(playerid, 30);
            }
            case 16:
            {
                GivePlayerWeapon(playerid, 31, 150);
                SetPlayerArmedWeapon(playerid, 31);
            }
            case 17:
            {
                GivePlayerWeapon(playerid, 33, 40);
                SetPlayerArmedWeapon(playerid, 33);
            }
            case 18:
            {
                GivePlayerWeapon(playerid, 34, 20);
                SetPlayerArmedWeapon(playerid, 34);
            }
            case 19:
            {
                GivePlayerWeapon(playerid, 35, 3);
                SetPlayerArmedWeapon(playerid, 35);
            }
            case 20:
            {
                GivePlayerWeapon(playerid, 36, 3);
                SetPlayerArmedWeapon(playerid, 36);
            }
            case 21:
            {
                GivePlayerWeapon(playerid, 37, 100);
                SetPlayerArmedWeapon(playerid, 37);
            }
            case 22:
            {
                GivePlayerWeapon(playerid, 38, 100);
                SetPlayerArmedWeapon(playerid, 38);
            }
            case 23:
            {
                GivePlayerWeapon(playerid, 41, 120);
                SetPlayerArmedWeapon(playerid, 41);
            }
            case 24:
            {
                GivePlayerWeapon(playerid, 42, 100);
                SetPlayerArmedWeapon(playerid, 42);
            }
        }
    }
    return 1;
}

CMD:weapons(playerid, params[])
{
    ShowDialog(playerid, Show:Weapons, DIALOG_STYLE_LIST, "Weapons Shop", "Showel\nPool Cue\nKatana\nGrenade\nSmoke Grenade\nSatchel Charge\nMolotov\n9MM\nDesert Eagle\nShotgun\nSawnoff Shotgun\nCombat Shotgun\nUzi\nMP5\nTec 9\nAK47\nM4\nCountry Rifle\nSniper Rifle\nRPG\nHS Rocket\nFlame Thrower\nMinigun\nSpray Can\nFire Extinguisher", "Buy", "Cancel");
    return 1;
}
Picture 1: http://i.imgur.com/lsf2l2F.jpg
Picture 2: http://i.imgur.com/O5CCrPt.jpg
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)