[AYUDA]Como Puedo Hacer Esto?
#1

Me Pueden Ayudar a Hacer esto?



y que al Darle al Boto " >> " salga Otro Cuadro como Ese con mas Comandos
Lo He visto en Otro Post, Pero no entiendo ya que ahi muchas cosas
Reply
#2

usando un dialog.
mira aca ShowPlayerDialog
Reply
#3

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.
Reply
#4

uno nuevo ahora tambien bob esponja? OMG
Reply
#5

Estoy intentando ponerlo pero siempre me da error el pawn, cuando Compilo, me sale el cuadro de no enviar.

El Error esta en los codes de OnDialogResponse, no se que hacer :S
Reply
#6

Te faltу en:

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) //Estos dos []
Y en:

pawn Код:
if(response) //Pusiste reponse
Reply
#7

si man muchas gracias xD! response era lo unico xD
Reply
#8

Tengo un Problema :S cuando abre el 2 cuadro de dialogo, no se que hacer, le dio al boton ">>" (Reemplazado por "Siguiente" ) y me abre el dialogo de registro :S Miren como lo Hice:

pawn Код:
if(dialogid == DIALOGO_AYUDA)
  {
    if(response)
    {
      ShowPlayerDialog(playerid, DIALOGO_2_AYUDA, DIALOG_STYLE_MSGBOX, "Menu De Ayuda 2/3", "GENERAL: /Aceptar /eject /FumaD /contract /LLenar /admins /Licenciadores (/f)actionlist (/vda)Ventana /moneda /Maletero\n \nCHAT: (/p)m (/cw)hisper (/o)oc (/s)hout /low (/b) (/f)action /me /do /togooc /tognews /togfam /togphone\n \nBANCO: /balance /Retirar /Depositar /wiretransfer", "Siguiente", "Cerrar"); // 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(response)
    {
      ShowPlayerDialog(playerid, DIALOGO_AYUDA, DIALOG_STYLE_MSGBOX, "Menu De Ayuda 3/3", "Cuerpo del mensaje Cuerpo del mensaje Cuerpo del mensaje", "Siguiente", "Cerrar"); // 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;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)