[Tutorial] Como hacer una lista (menъ) bien detallado
#1

Hola mi nombre es Edugta, hoy le enseсare como hacer una lista o menъ

Bien comenzamos


1є Paso
Haciendo el menъ



pawn Код:
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
ShowPlayerDialog es el cуdigo para hacer el menъ


playerid es el ID de la persona que podrб ver el menъ (se sugiere dejarlo en playerid para que todos los jugadores puedan acceder al menъ)

dialogid es la id que tendrб este dialogo, Ej: ID nъmero 69

style es el estilo en el que se mostrara el menъ, como haremos un menъ escogeremos DIALOG_STYLE_LIST

caption[] es el nombre que le pondremos al menъ, el nombre aparecerб en la esquina superior del dialogo

info[] es el texto que aparecerб en nuestro menъ

button1[] es la primera opciуn

button2[] es la segunda opciуn


Comencemos a editar!

Haremos que el menъ aparezca con un comando


pawn Код:
public OnPlayerCommandText(playerid,cmdtext[])
public OnPlayerComandText(playerid,cmdtext)

OnPlayerComandText(playerid,cmdtext) es el codigo especial para hacer que al escribir /menu apareca el menъ

TODOS los Server tienen OnPlayerComandText



Ahora hagamos lo siguiente:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/menu", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid, 69, DIALOG_STYLE_LIST, "Prueba", "Pistola 9MM\nPistola 9MM Silenciada", "Aceptar", "Cancelar");
    }
}
Listo, ya el menъ aparecerб al escribir /menu !

2є Paso
Hacer que el menъ haga una acciуn


їComo que una acciуn?

Hace al clickear una opciуn del menъ haga un acciуn

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
OnDialogResponse es el cуdigo que hace que al clickear una opciуn haga una acciуn

playerid es el ID de la persona que lo va a ver, dejemoslo en playerid

response es la opciуn que clickeamos, osea Aceptar o Cancelar

listitem es el objeto que seleccionaremos, como 9MM (ID 0) o 9MM silenciada (ID 1)

inputtext no importa, estamos usando DIALOG_STYLE_LIST, este parametro solo se usa cuando usamos DIALOG_STYLE_INPUT...

Volvamos a ShowPlayerDialog, y miren la segunda opciуn, que es la ID del menъ, la ID es 69

Entonces hagamos lo siguiente: (en este caso usaremos switch que es mбs fбcil)

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid == 69)
    {
        case 1:
        {
            if(!response)
            {
                SendClientMessage(playerid, 0xFF0000FF, "Has cancelado"); //Esto dirб si apretar cancelar
                return 1;
            }
 
            switch(listitem)
            {
                case 0: //los items SIEMPRE comienzan de 0 (ejemplo: 0, 1, 2, 3...)
                {
                GivePlayerWeapon(playerid, 22, 500); //Esto nos darб una 9MM con 500 balas (la cantidad de balas se puede cambiar)
                }
                case 1:
                {
                GivePlayerWeapon(playerid, 23, 500); //Lo mismo pero nos darб una 9MM con silenciador
                }                
 
            }
 
        }
       
 
    }
    return 0;
Despuйs de todo nos darб todo esto:

pawn Код:
#include <a_samp>

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/menu", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid, 69, DIALOG_STYLE_LIST, "Prueba", "Pistola 9MM\nPistola 9MM Silenciada", "Aceptar", "Cancelar");
    }
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid == 69)
    {
        case 1:
        {
            if(!response)
            {
                SendClientMessage(playerid, 0xFF0000FF, "Has cancelado"); //Esto dirб si apretar cancelar
                return 1;
            }
 
            switch(listitem)
            {
                case 0: //los items SIEMPRE comienzan de 0 (ejemplo: 0, 1, 2, 3...)
                {
                GivePlayerWeapon(playerid, 22, 500); //Esto nos darб una 9MM con 500 balas (la cantidad de balas se puede cambiar)
                }
                case 1:
                {
                GivePlayerWeapon(playerid, 23, 500); //Lo mismo pero nos darб una 9MM con silenciador
                }                
 
            }
 
        }
       
 
    }
    return 0;
}
Bang bang! a disfrutar de tus armas!!

Espero que los haya ayudado!

Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)