#define DIALOG 1 //defino DIALOG //este es el comando: if (strcmp("/vehiculos" , cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid, DIALOG, DIALOG_STYLE_LIST, "VEHICULOS:", "Autos\nMotos", "Seleccionar", "Cancelar"); }
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(response) { new vehicle, Float:x, Float:y, Float:z, Float:angle; GetPlayerPos( playerid, x, y, z ); GetPlayerFacingAngle( playerid, angle ); switch(dialogid) { case 1: { ShowPlayerDialog(playerid,DIALOG, DIALOG_STYLE_LIST, "Autos", "Infernus\nTurismo", "Seleccionar", "Cancelar"); if(response) { switch(listitem) { case 0: { vehicle = CreateVehicle( 411, x, y, z, angle, -1, -1, -1); LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) ); SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) ); PutPlayerInVehicle(playerid,vehicle,0); } case 1: { vehicle = CreateVehicle( 451, x, y, z, angle, -1, -1, -1); LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) ); SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) ); PutPlayerInVehicle(playerid,vehicle,0); } } } } case 2: { ShowPlayerDialog(playerid, DIALOG+1, DIALOG_STYLE_LIST, "Motos", "FCR-900\nNRG-500", "Seleccionar", "Cancelar"); if(response) { switch(listitem) { case 0: { vehicle = CreateVehicle( 521, x, y, z, angle, -1, -1, -1); LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) ); SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) ); PutPlayerInVehicle(playerid,vehicle,0); } case 1: { vehicle = CreateVehicle( 522, x, y, z, angle, -1, -1, -1); LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) ); SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) ); PutPlayerInVehicle(playerid,vehicle,0); } } } } } } return 1; }
ShowPlayerDialog(playerid,DIALOG, DIALOG_STYLE_LIST, "Autos", "Infernus\nTurismo", "Seleccionar", "Cancelar");
Segъn tu cуdigo siempre te mostrara el mismo dialog.
Dentro del case 1 del switch tienes este cуdigo: pawn Код:
|
ShowPlayerDialog(playerid,ID_DIALOG, DIALOG_STYLE_LIST, "Autos", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
#define ID_DIALOG (1)
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
new vehicle, Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos( playerid, x, y, z );
GetPlayerFacingAngle( playerid, angle );
switch(dialogid){
case ID_DIALOG:{
if(response){
switch(listitem){
case 0:{
vehicle = CreateVehicle( 411, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
case 1:{
vehicle = CreateVehicle( 451, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
case 2:{
vehicle = CreateVehicle( 521, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
case 3:{
vehicle = CreateVehicle( 522, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
//ETC...
}
}
}
}
return false;
}
pawn Код:
pawn Код:
|
switch(dialogid){
case ID_DIALOG+0:{
if(response){
switch(listitem){
case 0:{
ShowPlayerDialog(playerid,ID_DIALOG+1, DIALOG_STYLE_LIST, "MMenu Autos 1", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
}
//ETC...
}
}
}
}
switch(dialogid){ //menu 1
case ID_DIALOG+1:{
if(response){
switch(listitem){
case 0:{{
//ACA TU FUNCION
ShowPlayerDialog(playerid,ID_DIALOG+1, DIALOG_STYLE_LIST, "MMenu Autos 1", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
}
case 1:{{
//ACA TU FUNCION
ShowPlayerDialog(playerid,ID_DIALOG+1, DIALOG_STYLE_LIST, "MMenu Autos 1", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
}
case 2:{{
//ACA TU FUNCION
ShowPlayerDialog(playerid,ID_DIALOG+1, DIALOG_STYLE_LIST, "MMenu Autos 1", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
}
case 3:{{
//ACA TU FUNCION
ShowPlayerDialog(playerid,ID_DIALOG+1, DIALOG_STYLE_LIST, "MMenu Autos 1", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
}
//ETC...
}
}else{ //cuando cancelas el menu vuelve al principal
ShowPlayerDialog(playerid,ID_DIALOG+1, DIALOG_STYLE_LIST, "MMenu Autos 1", "coche1\coche2\ncoche3\ncoche4", "Seleccionar", "Cancelar");
}
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
{
new vehicle, Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos( playerid, x, y, z );
GetPlayerFacingAngle( playerid, angle );
switch(dialogid)
{
case 1:
{
//Aquн tu error ====> ShowPlayerDialog(playerid,DIALOG, DIALOG_STYLE_LIST, "Autos", "Infernus\nTurismo", "Seleccionar", "Cancelar");
// Eso se ejecutaba antes del switch y por eso no funcionaba
if(response)
{
switch(listitem)
{
case 0:
{
vehicle = CreateVehicle( 411, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
case 1:
{
vehicle = CreateVehicle( 451, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
}
}
}
case 2:
{
ShowPlayerDialog(playerid, DIALOG+1, DIALOG_STYLE_LIST, "Motos", "FCR-900\nNRG-500", "Seleccionar", "Cancelar");
if(response)
{
switch(listitem)
{
case 0:
{
vehicle = CreateVehicle( 521, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
case 1:
{
vehicle = CreateVehicle( 522, x, y, z, angle, -1, -1, -1);
LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
PutPlayerInVehicle(playerid,vehicle,0);
}
}
}
}
}
}
return 1;
}