Como hacer una lista (menъ) bien detallado -
EduGTA - 01.04.2011
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!
Re: Como hacer una lista (menъ) bien detallado -
jeanpierrevera - 01.04.2011
Bueno xD yo tampoco antes sabia y pues aorendi con unos empujenes q me dieron y leyendo otro cuadro bueno aprendi leyendo el cuadro xd igual me aclareste algo xD aunq yo se hacer menus en menus y adentro otros menus xD muy bueno para el q no sabe!
Respuesta: Re: Como hacer una lista (menъ) bien detallado -
EduGTA - 01.04.2011
Quote:
Originally Posted by jeanpierrevera
Bueno xD yo tampoco antes sabia y pues aorendi con unos empujenes q me dieron y leyendo otro cuadro bueno aprendi leyendo el cuadro xd igual me aclareste algo xD aunq yo se hacer menus en menus y adentro otros menus xD muy bueno para el q no sabe!
|
ЎGracias!
Re: Respuesta: Re: Como hacer una lista (menъ) bien detallado -
jeanpierrevera - 01.04.2011
xd de nada bueno haber si me animo yo tambien a hacer grandes tutoriales y scripts para q a los q me dicen noob -.- por andar preguntando PARA aclarles q para algo pregunta uno xD
Respuesta: Re: Respuesta: Re: Como hacer una lista (menъ) bien detallado -
EduGTA - 01.04.2011
Quote:
Originally Posted by jeanpierrevera
xd de nada bueno haber si me animo yo tambien a hacer grandes tutoriales y scripts para q a los q me dicen noob -.- por andar preguntando PARA aclarles q para algo pregunta uno xD
|
ЎEstoy seguro de que harбs un excelente trabajo!
Si tienes dudas dime y te ayudo
Nunca pares, almenos no como yo lo ise...
Respuesta: Como hacer una lista (menъ) bien detallado -
Lunnatiicz - 02.04.2011
Sуlo te corrijo 2 errores, son mнnimos, pero pueden marcar error en algunos.
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/menu", cmdtext, true , 5) == 0)//porquй 10? si el numero de carбcteres es 5
{
ShowPlayerDialog(playerid, 69, DIALOG_STYLE_LIST, "Prueba", "Pistola 9MM\nPistola 9MM Silenciada", "Aceptar", "Cancelar");
return 1;//te falto un return xd
}
return 0; //En caso de que el comando cierre el callback, de lo contrario no modificarlo
}
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;
}//Te falto una llave, esto podrнa marcar error en todo lo que continue debajo del script
Bien hecho, suerte!
P.D Mejoras y tienes inspiraciуn (:
Re: Como hacer una lista (menъ) bien detallado -
MrDeath537 - 02.04.2011
Buen tutorial dentro de todo, sуlo te hago unas notitas:
Podrнas agregar como usar defines con los dialog id, para hacer las cosas mбs fбciles.
Y... no se llaman "menъs" son "diбlogos" :P
Respuesta: Como hacer una lista (menъ) bien detallado -
TheChaoz - 02.04.2011
Buen tuto, creo q ya habia unos sobre dialogos pero en fin, nunca esta de mas un tuto
Mejoras: switch para 1 sola comparacion, es mas lento q if.
Nota: los menus son otra cosa, esos son dialogos.
Re: Como hacer una lista (menъ) bien detallado -
[DOG]irinel1996 - 02.04.2011
Estб bueno man. Se agradece.
Respuesta: Como hacer una lista (menъ) bien detallado -
Host-samp - 26.05.2011
Bien!