SA-MP Forums Archive
[Ajuda]Dialog Bugado - 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]Dialog Bugado (/showthread.php?tid=334475)



[Ajuda]Dialog Bugado - Matheus_Ecko - 14.04.2012

й o seguinte o bug й assim: todos os comandos existem mais nгo ta equipando se tiver algo errado й no dialog:

pawn Код:
if(dialogid == 17)
    {
        if(response == 1)
        {
            if(listitem == 1)
            {
                OnPlayerCommandText(playerid,"/equipar");
                return true;
            }
            if(listitem == 2)
            {
                OnPlayerCommandText(playerid,"/equipar2");
                return true;
            }
            if(listitem == 3)
            {
                OnPlayerCommandText(playerid,"/equipar3");
                return true;
            }
            if(listitem == 4)
            {
                OnPlayerCommandText(playerid,"/equipar4");
                return true;
            }
            if(listitem == 5)
            {
                OnPlayerCommandText(playerid,"/equipar5");
                return true;
            }
            if(listitem == 6)
            {
                OnPlayerCommandText(playerid,"/equipar6");
                return true;
            }
            if(listitem == 7)
            {
                ShowPlayerDialog(playerid, 12, DIALOG_STYLE_LIST, "Info HQ", "Lista de Membros\nAdministrar Membros\nAdministrar Gang/Org\nInformaзхes\nArmas e Drogas\nEquipar", "Confirmar", "Cancelar");
                return true;
            }
        }
        return 1;
    }



Re: [Ajuda]Dialog Bugado - Don_Speed - 14.04.2012

pawn Код:
if(dialogid == 17)
    {
            if(listitem == 1)
            {
                OnPlayerCommandText(playerid,"/equipar");
                return true;
            }
            if(listitem == 2)
            {
                OnPlayerCommandText(playerid,"/equipar2");
                return true;
            }
            if(listitem == 3)
            {
                OnPlayerCommandText(playerid,"/equipar3");
                return true;
            }
            if(listitem == 4)
            {
                OnPlayerCommandText(playerid,"/equipar4");
                return true;
            }
            if(listitem == 5)
            {
                OnPlayerCommandText(playerid,"/equipar5");
                return true;
            }
            if(listitem == 6)
            {
                OnPlayerCommandText(playerid,"/equipar6");
                return true;
            }
            if(listitem == 7)
            {
                ShowPlayerDialog(playerid, 12, DIALOG_STYLE_LIST, "Info HQ", "Lista de Membros\nAdministrar Membros\nAdministrar Gang/Org\nInformaзхes\nArmas e Drogas\nEquipar", "Confirmar", "Cancelar");
                return true;
            }
        return 1;
    }



Re: [Ajuda]Dialog Bugado - rjjj - 14.04.2012

Nгo sei se foi intencional, mas a variбvel listitem adquire valor 0 quando o primeiro item de um dialog do tipo DIALOG_STYLE_LIST й escolhido, nгo 1 .



Levando em conta que isso foi um erro, troque seu cуdigo por este :


pawn Код:
if(dialogid == 17)
    {
        if(response)
        {
            if(listitem >= 0 && listitem <= 5)
            {
                new Equipar[10] = "/equipar", Qual[2];
                valstr(Qual, listitem + 1);
                listitem && strcat(Equipar, Qual);
                CallRemoteFunction("OnPlayerCommandText", "ds", playerid, Equipar);
            }
            if(listitem == 6)
            {
                ShowPlayerDialog(playerid, 12, DIALOG_STYLE_LIST, "Info HQ", "Lista de Membros\nAdministrar Membros\nAdministrar Gang/Org\nInformaзхes\nArmas e Drogas\nEquipar", "Confirmar", "Cancelar");
            }
        }
        return 0;
    }


Espero ter ajudado .


Re: [Ajuda]Dialog Bugado - Matheus_Ecko - 14.04.2012

rj eu n antendi esse codigo acima.


Re: [Ajuda]Dialog Bugado - rjjj - 15.04.2012

Quote:
Originally Posted by Matheus_Ecko
Посмотреть сообщение
rj eu n antendi esse codigo acima.
Leia estas explicaзхes :


pawn Код:
if(dialogid == 17) //Se o dialog no qual o jogador escolheu um item tiver ID igual a 17, o cуdigo dentro do prуximo par de chaves й lido.
    {
        if(response) //Se o jogador tiver clicado no botгo esquerdo do dialog, o cуdigo dentro do prуximo par de chaves й lido.
        {
            if(listitem >= 0 && listitem <= 5) //Se o jogador tiver escolhido um item do primeiro ao sexto, o cуdigo dentro do prуximo par de chaves й lido.
            {
                new Equipar[10] = "/equipar", Qual[2]; //Cria a variбvel array "Equipar", contendo a string "/equipar", e a array "Qual".
                valstr(Qual, listitem + 1); //Transforma o valor de (listitem + 1) em string e armazena o resultado em "Qual". O valor dentro dela valeria "2" por exemplo, se o jogador tiver escolhido o segundo item do dialog (que tem listitem igual a 1).
                listitem && strcat(Equipar, Qual); //Se listitem for diferente de 0 (pois nгo existe /equipar1), une-se o conteъdo das variбveis "Equipar" e "Qual", ficando o resultado dentro de "Equipar". Isso geraria /equipar2 se listitem fosse igual a 1, /equipar3 se listitem fosse igual a 2, etc.
                CallRemoteFunction("OnPlayerCommandText", "ds", playerid, Equipar); //Chama a callback OnPlayerCommandText passando ao primeiro e segundo parвmetro da mesma, as variбveis "playerid" e "Equipar", respectivamente.
            }
            if(listitem == 6) //Se o jogador tiver escolhido o sйtimo item do dialog.
            {
                ShowPlayerDialog(playerid, 12, DIALOG_STYLE_LIST, "Info HQ", "Lista de Membros\nAdministrar Membros\nAdministrar Gang/Org\nInformaзхes\nArmas e Drogas\nEquipar", "Confirmar", "Cancelar"); //Um dialog й mostrado a ele.
            }
        }
        return 0; //Para a execuзгo do OnDialogResponse.
    }


Espero ter ajudado .


Re: [Ajuda]Dialog Bugado - Matheus_Ecko - 15.04.2012

VLW Rjj +rep para tu meu camarada.