[Ajuda] Menu em Dialog
#1

Quando clico no primeiro item, ele nгo mostra o segundo menu do dialog, por que?!
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext, "/lojaapple", true) == 0)
	{
 		ShowPlayerDialog(playerid, 0, DIALOG_STYLE_TABLIST_HEADERS, "Apple", "Produtos\tServiзo\nCelulares\tApple\nComputadores\tApple\nNotebooks\tApple", "Selecionar", "Fechar");
	}
 	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 0)
	{
	    if(response)
	    {
			if(listitem == 0)
			{
			    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_TABLIST_HEADERS, "Apple", "Produtos\tPreзo\niPhone X\t$6999\niPhone 8 Plus\t$4599\niPhone 8\t$3999\niPhone 7 Plus\t$3799\niPhone 7\t$3199", "Selecionar", "Fechar");
			}
			
			if(listitem == 1)
			{
			    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_TABLIST_HEADERS, "Apple", "Produtos\tPreзo\niMac\t$9799\niMac Pro\t$37999", "Selecionar", "Fechar");
			}
	    }
	}
 	return 1;
}
Reply
#2

Topo do GM:
PHP код:
#define dLojaApple 100
#define dLA1 101
#define dLA2 102 
PS: Mude os valores(ids) se vocк jб usou para definir outra dialog com o mesmo.

Apуs definir, mude o parвmetro dialogid.
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/lojaapple"true) == 0) {
        
ShowPlayerDialog(playeriddLojaAppleDIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tServiзo\nCelulares\tApple\nComputadores\tApple\nNotebooks\tApple""Selecionar""Fechar");
        return 
1;
    }
    return 
0;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == dLojaApple)
    {
        if(
response)
        {
            if(
listitem == 0)
            {
                
ShowPlayerDialog(playeriddLA1DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niPhone X\t$6999\niPhone 8 Plus\t$4599\niPhone 8\t$3999\niPhone 7 Plus\t$3799\niPhone 7\t$3199""Selecionar""Fechar");
            }
            
            if(
listitem == 1)
            {
                
ShowPlayerDialog(playeriddLA2DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niMac\t$9799\niMac Pro\t$37999""Selecionar""Fechar");
            }
        }
    }
    return 
1;

Reply
#3

tem 2 dialogs definidas como 1
Reply
#4

Ele continua nгo mostrando nenhum dos itens do menu :\
Reply
#5

Quote:
Originally Posted by InsaneBR
Посмотреть сообщение
Topo do GM:
PHP код:
#define dLojaApple 100
#define dLA1 101
#define dLA2 102 
PS: Mude os valores(ids) se vocк jб usou para definir outra dialog com o mesmo.

Apуs definir, mude o parвmetro dialogid.
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/lojaapple"true) == 0)
    {
         
ShowPlayerDialog(playeriddLojaAppleDIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tServiзo\nCelulares\tApple\nComputadores\tApple\nNotebooks\tApple""Selecionar""Fechar");
    }
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == dLojaApple)
    {
        if(
response)
        {
            if(
listitem == 0)
            {
                
ShowPlayerDialog(playeriddLA1DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niPhone X\t$6999\niPhone 8 Plus\t$4599\niPhone 8\t$3999\niPhone 7 Plus\t$3799\niPhone 7\t$3199""Selecionar""Fechar");
            }
            
            if(
listitem == 1)
            {
                
ShowPlayerDialog(playeriddLA2DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niMac\t$9799\niMac Pro\t$37999""Selecionar""Fechar");
            }
        }
    }
    return 
1;

Ele mostra o primeiro menu, ao digitar o comando, mas ele nгo mostra nenhum dos outros apуs fazer essa alteraзгo no cуdigo, o que fazer?
Reply
#6

Perdгo, eu nгo percebi o return true abaixo do comando e, sua OnPlayerCommandText estб incorreta, nunca iria retornar erro(SERVER: Unknown command.) caso o comando fosse invбlido nos scripts usados pelo servidor, neste caso.

Mude-a para
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/lojaapple"true) == 0) {
         
ShowPlayerDialog(playeriddLojaAppleDIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tServiзo\nCelulares\tApple\nComputadores\tApple\nNotebooks\tApple""Selecionar""Fechar");
        return 
1;
    }
    return 
0;

Vocк precisa retornar true para cada dialogid assim como usa-se para cada comando na OnPlayerCommandText.
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == dLojaApple)
    {
        if(
response)
        {
            if(
listitem == 0)
            {
                
ShowPlayerDialog(playeriddLA1DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niPhone X\t$6999\niPhone 8 Plus\t$4599\niPhone 8\t$3999\niPhone 7 Plus\t$3799\niPhone 7\t$3199""Selecionar""Fechar");
            }
            if(
listitem == 1)
            {
                
ShowPlayerDialog(playeriddLA2DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niMac\t$9799\niMac Pro\t$37999""Selecionar""Fechar");
            }
        }
        return 
1;
    }
    return 
0;

Apуs ter feito isso, note que estarб listando apenas Celulares(listitem 0) e Computadores(listitem 1) na callback OnDialogResponse, falta a opзгo Notebooks que vocк ainda nгo a criou(listitem 2).
Reply
#7

Quote:
Originally Posted by InsaneBR
Посмотреть сообщение
Perdгo, eu nгo percebi o return true abaixo do comando e, sua OnPlayerCommandText estб incorreta, nunca iria retornar erro(SERVER: Unknown command.) caso o comando fosse invбlido nos scripts usados pelo servidor, neste caso.

Mude-a para
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/lojaapple"true) == 0) {
         
ShowPlayerDialog(playeriddLojaAppleDIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tServiзo\nCelulares\tApple\nComputadores\tApple\nNotebooks\tApple""Selecionar""Fechar");
        return 
1;
    }
    return 
0;

Vocк precisa retornar true para cada dialogid assim como usa-se para cada comando na OnPlayerCommandText.
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == dLojaApple)
    {
        if(
response)
        {
            if(
listitem == 0)
            {
                
ShowPlayerDialog(playeriddLA1DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niPhone X\t$6999\niPhone 8 Plus\t$4599\niPhone 8\t$3999\niPhone 7 Plus\t$3799\niPhone 7\t$3199""Selecionar""Fechar");
            }
            if(
listitem == 1)
            {
                
ShowPlayerDialog(playeriddLA2DIALOG_STYLE_TABLIST_HEADERS"Apple""Produtos\tPreзo\niMac\t$9799\niMac Pro\t$37999""Selecionar""Fechar");
            }
        }
        return 
1;
    }
    return 
0;

Apуs ter feito isso, note que estarб listando apenas Celulares(listitem 0) e Computadores(listitem 1) na callback OnDialogResponse, falta a opзгo Notebooks que vocк ainda nгo a criou(listitem 2).
Ele continua nгo mostrando, o que eu faзo? Estб tudo certinho, como vocк fez no cуdigo, mas ele simplesmente nгo mostra os dialogs dos menus.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)