← Herramientas
Creador de diálogos
Elige un estilo, escribe el título, el texto y los botones, prueba el diálogo como lo haría un jugador y copia el código que lo muestra y maneja la respuesta.
Cada línea es un elemento, al que {RRGGBB} da color.
Vista previa
Haz clic en una fila para elegirla y en un botón (o doble clic) para responder. Las flechas, Enter y Esc funcionan como en el juego.
Teleports
| Los Santos |
| San Fierro |
| Las Venturas |
| Mount Chiliad |
| Back |
Pulsa un botón en la vista previa para ver lo que recibe OnDialogResponse.
Dentro de los límites del cliente.
Código
Código para
SA-MP y open.mp aceptan este código tal cual: la elección solo cambia los includes con los que se compila.
Mostrar el diálogo
#define DIALOG_TELEPORTS 3
ShowPlayerDialog(playerid, DIALOG_TELEPORTS, DIALOG_STYLE_LIST, "Teleports", "Los Santos\nSan Fierro\nLas Venturas\n{FFFF00}Mount Chiliad\n{AAAAAA}Back", "Go", "Close");Manejar la respuesta (si ya tienes un OnDialogResponse, añádele este if)
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == DIALOG_TELEPORTS)
{
if (!response)
{
// "Close" or Esc
return 1;
}
switch (listitem)
{
case 0: // Los Santos
{
}
case 1: // San Fierro
{
}
case 2: // Las Venturas
{
}
case 3: // Mount Chiliad
{
}
case 4: // Back
{
}
}
return 1;
}
return 0;
}Pega un ShowPlayerDialog para editarlo
Cómo funcionan los diálogos de SA-MP
- Un jugador ve un solo diálogo a la vez: ShowPlayerDialog reemplaza el que tenga abierto y un ID de -1 lo cierra.
- OnDialogResponse recibe response 1 por el botón izquierdo o Enter, y 0 por el botón derecho o Esc, aunque no haya botón derecho.
- En una lista, listitem es la fila elegida, desde 0, e inputtext su texto sin colores. En una tabla es el texto de la primera columna, y la fila de encabezados no cuenta.
- Los compiladores de Pawn rechazan las líneas muy largas, así que un texto largo se arma por partes con strcat en una cadena donde quepa entero.