[TUT]DIALOG_STYLE_LIST (Menu) -
MedinaRockz - 31.05.2010
Bueno hola amigos samperos vengo a enseсarles a crear un menu DIALOG
les voy a explicar con autos y armas
1. arriba de todo el GM definimos el dialog
Код:
#define DIALOGID 1337
2. luego vamos a
y agregamos el menu
Код:
if (strcmp("/Comando", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Opciones", "Armas\nAutos", "Seleccionar", "Cancelar");
return 1;
}
3. Depues tenemos que definir cada opcion para eso vamos a
si no lo tienes agregalo asi
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
y aqui definimos los menu osea Armas y Autos
Код:
if(dialogid == DIALOGID)
{
if(response)
{
if(listitem == 0) // Armas
{
ShowPlayerDialog(playerid, DIALOGID+0, DIALOG_STYLE_LIST, "Selecciona la opcion", "Arma1\nArma2", "Seleccionar", "Cancelar");
}
f(listitem == 1) // Autos
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Selecciona la opcion", "Auto1\nAuto2", "Seleccionar", "Cancelar");
}
}
return 1;
}
Bueno ya definimos ese menu
Ahora definamos el menu de armas
Код:
if(dialogid == DIALOGID+0) //Menu Arma
{
if(response)
{
if(listitem == 0) // Arma 1
{
GivePlayerWeapon(playerid, 26, 500);//puedes cambar eso por la funcion que quieras
}
if(listitem == 1) //Arma 2
{
GivePlayerWeapon(playerid, 29, 500);//puedes cambar eso por la funcion que quieras
}
}
return 1;
}
Ahora definamos el menu de autos
Код:
if(dialogid == DIALOGID+1) // Menu Autos
{
if(response)
{
if(listitem == 0) //Auto 1
{
CreateVehicle(522,X,Y+2,Z+3,0.0,1,0,1500000); //puedes cambar eso por la funcion que quieras
}
if(listitem == 1) //Auto 2
{
CreateVehicle(520,X,Y+2,Z+3,0.0,1,0,1500000);//puedes cambar eso por la funcion que quieras
}
}
return 1;
}
Informacion:
CreateVehicle(
520,X,Y+2,Z+3,0.0,1,0,1500000);
ID del vehiculo
GivePlayerWeapon(playerid,
29,
500);
Cantidad de balas Numero del arma
Si falta algo, hay bugs o simplemente todo esta mal avisen!
Re: [TUT]DIALOG_STYLE_LIST (Menu) -
0_o.mati.o_0 - 31.05.2010
una pregunta, en el menu de autos їcomo hago para que desaparescan los autos que saco al spawnear otro?
Re: [TUT]DIALOG_STYLE_LIST (Menu) -
xenowort - 31.05.2010
Quote:
Originally Posted by 0_o.mati.o_0
una pregunta, en el menu de autos їcomo hago para que desaparescan los autos que saco al spawnear otro?
|
Podrias fijarte en la funcion que tiene el ladmin
Re: [TUT]DIALOG_STYLE_LIST (Menu) -
MedinaRockz - 01.06.2010
Todavia no me adapto bien a estos dialogs pero cuando lo consiga te ayudaria con mucho gusto
Re: [TUT]DIALOG_STYLE_LIST (Menu) -
nicox - 23.02.2011
oye me keda una duda
donde agrego public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
porq lo agrego y me da error
Respuesta: [TUT]DIALOG_STYLE_LIST (Menu) -
Lunnatiicz - 23.02.2011
Super reviviste el tema ¬¬'
Ponlo debajo de
pawn Код:
public OnPlayerCommandText
Hasta la terminaciуn del callback :'3
Respuesta: [TUT]DIALOG_STYLE_LIST (Menu) -
Fluid016 - 21.08.2011
C:\Users\AGUS\Desktop\DM - copia.pwn(1816) : error 017: undefined symbol "X"
C:\Users\AGUS\Desktop\DM - copia.pwn(1820) : error 017: undefined symbol "X"
ami me sale esos 2 errores alguien me dise como arreglarlos??
Respuesta: [TUT]DIALOG_STYLE_LIST (Menu) -
TheChaoz - 22.08.2011
donde dice X Y Z se supone que va una coordenada.
Respuesta: [TUT]DIALOG_STYLE_LIST (Menu) -
M1tux3r - 22.08.2011
Tambiйn puede usar:
pawn Код:
new Float: X, Float: Y, Float: Z;
GetPlayerPos(playerid, X, Y, Z);
Re: [TUT]DIALOG_STYLE_LIST (Menu) -
OwlCity - 22.08.2011
Me gustarнa aсadir que esta no es la mejor forma de implementar un dialogo de lista, el cуdigo de OnDialogResponse deberнa ser algo asн:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid){
case DIALOGO1: { //caso de un dialogo distinto al de la lista
if(response){
[...];
}
else{
[...];
}
}
case DIALOGO2: { //caso de un dialogo tipo lista
if(response){
switch(listitem){
case 0:{ //item 0
[...];
}
case 1:{ //item 1
[...];
}
case 2:{ //item 1
[...];
}
}
else{
[...];
}
}
}
return 1;
}
Cuando hay muchos dialogos y las listas son grandes el mejor cуdigo es el que he posteado.