Quizas saber como hacer un dialogo no sea suficiente, mejor llamemos a un superheroe (como batman o bob esponja) para que nos ayude, shall we?
pawn Код:
#define DIALOGO_AYUDA 457 // este es el dialogo principal
#define DIALOGO_2_AYUDA 458 // este es el dialogo que sale cuando presionamos >>
// esto lo hacemos para identificar los dialogos mбs facilmente.
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/ayuda", true) == 0)
{
ShowPlayerDialog(playerid, DIALOGO_AYUDA, DIALOG_STYLE_MSGBOX, "Titulo:", "Cuerpo del mensaje", ">>", "X");
// lo que hicimos fue simple, hemos creado un dialogo de estilo para mostrar mensajes con dos opciones, >> y X.
// Debemos cambiar titulo por el titulo :P, cuerpo del mensaje por el mensaje de ayuda, >> y X por lo que quieras en los botones.
return 1;
}
return 0;
}
Ahora ya hemos creado nuestro dialogo principal, pero si apretamos los botones no pasara nada. Para que pase algo tenemos que ir a "OnDialogResponse":
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext)
{
if(dialogid == DIALOGO_AYUDA)
{
if(response)
{
ShowPlayerDialog(playerid, DIALOGO_2_AYUDA, DIALOG_STYLE_MSGBOX, "Titulo", "Cuerpo del mensaje", "opcion 1", opcion 2); // el dialogo que aparece despues de haber apretado ">>"
}
else
{
// lo que pasa si apreta el segundo boton, si no quieres que pase nada dйjalo en blanco. Recuerda que estas son las respuestas del primer dialogo que creamos
}
}
else if(dialogid == DIALOGO_2_AYUDA)
{
if(reponse)
{
// lo que quieres que pase si presiona el primer boton del segundo dialogo.
}
else
{
// lo que pasa si presiona el segundo boton del segundo dialogo.
}
}
return 1;
}
// lo que hicimos fue que:
// > si response con la opcion uno (que se puede cambiar al nombre que quieras) sale otro dialogo
// > si no no pasa nada, solo desaparece el dialogo
// > repito, este es el primer dialogo, es decir, de las opciones del primero sale un segundo
Lo que hay que tomar en cuenta es el ID de los dialogos y saber con cual estamos trabajando.