[Ayuda] Problema con Dialogo en comando
#1

Hola a todos bueno, les quiero preguntar algo, tengo un error en esto, quiero poner un comando pero por dialog y me tira 26 errores, espero que me puedan ayudar , busque pero no encontrй informacion sobre este comando en si xD. espero que puedan ayudarme, de seguro es algo tonto que no puedo solucionar U_U


Код:
#define 			DIALOGO_AUTO						(880)

//Comando

CMD:vehiculo(playerid, params[])
if(isnull(params))
{
ShowPlayerDialog(playerid, DIALOGO_AUTO, DIALOG_STYLE_LIST, "Funciones del vehiculo","Motor\nLuces\nCapo\nMaletero\nEstado", "Click", "Cancelar");
return 1;
}

//Cases del sistema
case DIALOGO_AUTO:
			{
    			if(response == 1)
				{
				switch(listitem)
				{
					case 0:
					{
     				if(strcmp(params, "motor", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
					{
					new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
					vehicleid = GetPlayerVehicleID(playerid);
					if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"* No puedes usar este comando si estбs en este tipo de vehiculos.");
					GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
					if(engine == VEHICLE_PARAMS_ON)
					{
					SetVehicleEngine(vehicleid, playerid);
					}
					else if((engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET))
					{
					SendClientMessageEx(playerid, COLOR_WHITE, "Motor del vehнculo se estб prendiendo, por favor espera ...");
					SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
						}
					}
	                case 1:
					{
                      else if(strcmp(params, "luces", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
					{
					new vehicleid = GetPlayerVehicleID(playerid);
					if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"* No puedes usar este comando si estбs en este tipo de vehiculos.");
					SetVehicleLights(vehicleid, playerid);
					}
					case 2:
					{
     				else if(strcmp(params, "capo", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
					{
					if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
					{
					new vehicleid = GetPlayerVehicleID(playerid);
					if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510 || IsAPlane(vehicleid) || IsABike(vehicleid))
					{
					return SendClientMessageEx(playerid,COLOR_WHITE,"* No puedes usar este comando si estбs en este tipo de vehiculos.");
					}
					SetVehicleHood(vehicleid, playerid);
					}
					else if(!IsPlayerInAnyVehicle(playerid))
					{
					new closestcar = GetClosestCar(playerid);
					if(IsPlayerInRangeOfVehicle(playerid, closestcar, 5.0))
					{
					if(GetVehicleModel(closestcar) == 481 || GetVehicleModel(closestcar) == 509 || GetVehicleModel(closestcar) == 510 || IsAPlane(closestcar) || IsABike(closestcar))
					{
					return SendClientMessageEx(playerid,COLOR_WHITE,"* No puedes usar este comando si estбs en este tipo de vehiculos.");
					}
					SetVehicleHood(closestcar, playerid);
							}
						}
					}
					case 3:
					{
     				else if(strcmp(params, "maletero", true) == 0)
  					{
					if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
					{
					new vehicleid = GetPlayerVehicleID(playerid);
					if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510)
					{
					return SendClientMessageEx(playerid,COLOR_WHITE,"* No puedes usar este comando si estбs en este tipo de vehiculos.");
					}
					SetVehicleTrunk(vehicleid, playerid);
					}
					else if(!IsPlayerInAnyVehicle(playerid))
					{
					new closestcar = GetClosestCar(playerid);
					if(IsPlayerInRangeOfVehicle(playerid, closestcar, 5.0))
					{
						if(GetVehicleModel(closestcar) == 481 || GetVehicleModel(closestcar) == 509 || GetVehicleModel(closestcar) == 510)
					{
					return SendClientMessageEx(playerid,COLOR_WHITE,"* No puedes usar este comando si estбs en este tipo de vehiculos.");
					}
					SetVehicleTrunk(closestcar, playerid);
							}
						}
					}
                 	case 4:
	                {
					else if(strcmp(params, "estado", true) == 0)
					{
					if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
					{
					new vehicleid = GetPlayerVehicleID(playerid);
					new engine,lights,alarm,doors,bonnet,boot,objective,enginestatus[15],lightstatus[15], string[128];
					GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
					if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_RED,"Este vehiculo no necesita gasolina.");
					if(engine != VEHICLE_PARAMS_ON) format(enginestatus, sizeof(enginestatus), "Apagado");
					else format(enginestatus, sizeof(enginestatus), "Prendido");
					if(lights != VEHICLE_PARAMS_ON) format(lightstatus, sizeof(lightstatus), "Apagadas");
					else format(lightstatus, sizeof(lightstatus), "Prendidas");
					format(string, sizeof(string), "Motor: %s | Luces: %s | Gasolina: %d",enginestatus,lightstatus,VehicleFuel[vehicleid]);
					SendClientMessageEx(playerid, COLOR_WHITE, string);
							}
						}
					return 1;
						}
					}
			}
	}
}
}
Espero que me puedan ayudar y bueno, este es mi primer pedido, si alguien me ayuda estarй muy agradecido xD

saludos y gracias
Reply
#2

prueba con el comando asн:

pawn Код:
CMD:vehiculo(playerid, params[])
{
if(isnull(params))
{
ShowPlayerDialog(playerid, DIALOGO_AUTO, DIALOG_STYLE_LIST, "Funciones del vehiculo","Motor\nLuces\nCapo\nMaletero\nEstado", "Click", "Cancelar");
return 1;
}
}
Recuerda, nunca olvides las llaves, las llaves son importantes.
Reply
#3

Ah amigo es verdad acomodй las llaves pero ahora me tira 5 Errores xDD

LINEA:
if(strcmp(params, "motor", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
ERROR:
error 017: undefined symbol "params"


LINEA:
case 1:

ERRORES EN ESA LINEA:
error 014: invalid statement; not in switch
warning 215: expression has no effect
error 001: expected token: ";", but found ":"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

їPodrias ayudarme ? D:
Reply
#4

Parece que copiaste el comando y lo pasaste a dialogo. Haz esto, podrнa funcionar:

borra esto: strcmp(params, "motor", true) == 0 &&
y esto:else if( strcmp(params, "luces", true) == 0 && <-- Que quede solo: if(
tambiйn: else if(strcmp(params, "capo", true) == 0 && <-- Que quede solo: if(
y: else if(strcmp(params, "maletero", true) == 0) <-- Quilate las respectivas llaves
y: else if(strcmp(params, "estado", true) == 0) <-- Quitale las respectivas llaves
Reply
#5

Entendi lo que me dijiste en los primeros 3, borrar y que quede solo el if y lo que le sigue, pero despues? no entendi lo que me dijiste

y: else if(strcmp(params, "maletero", true) == 0) <-- Quilate las respectivas llaves

Que ago con esa linea y con esta?
else if(strcmp(params, "estado", true) == 0) <-- Quitale las respectivas llaves

------------------------------------

Si bien me decis "quitale las respectivas llaves, no entendi si son las de abajo, las qe se abren o qe, y en cuanto a eso, tengo qe dejar la linea como esta o borrarla? Ayudame porfa ya casi lo termino
Reply
#6

1- deberias de mirar mejor la funcion del dialogo, esta todo alrrrevez.
2- eso iria en el call OnDialogResponse.
3- los params lo debes de reempazar por inputtext.

https://sampwiki.blast.hk/wiki/OnDialogResponse_ES
https://sampwiki.blast.hk/wiki/ShowPlayerDialog
https://sampforum.blast.hk/showthread.php?tid=336543

saludos.
Reply
#7

Quote:
Originally Posted by Shura
Посмотреть сообщение
Entendi lo que me dijiste en los primeros 3, borrar y que quede solo el if y lo que le sigue, pero despues? no entendi lo que me dijiste

y: else if(strcmp(params, "maletero", true) == 0) <-- Quilate las respectivas llaves

Que ago con esa linea y con esta?
else if(strcmp(params, "estado", true) == 0) <-- Quitale las respectivas llaves

------------------------------------

Si bien me decis "quitale las respectivas llaves, no entendi si son las de abajo, las qe se abren o qe, y en cuanto a eso, tengo qe dejar la linea como esta o borrarla? Ayudame porfa ya casi lo termino
Elimina esa condiciуn y sus respectivas llaves.

pawn Код:
if(Condicion) // Condiciуn a eliminar
{ // Respectiva llave

//Mas cуdigo aquн

}//Respectiva llave
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)