[AYUDA] Comando /arrancar y /detener
#1

ЎHola! amigos de SA-MP tengo poco tiempo en Pawno y estoy creando este tema para ver si me podrнan ayudar con 2 comandos que aъn no e podido entender.

Uso GM Base ZC [Zenon City] Y lo estoy proyectando para una mejor calidad y un mejor uso para los demбs bueno vamos a lo que vinimos

El comando /arrancar ya lo tengo creado pero cuando tecleo /arrancar sin estar en un auto miren lo que pasa



No deberнa de pasar eso aquн les dejo el cуdigo para ver si me pueden ayudar.
Код:
CMD:arrancar(playerid, params[])
	{
		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,"[ERROR]: 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_UNSET))
		{
		    new string[128];
			SendClientMessageEx(playerid, COLOR_WHITE, "Arrancando vehнculo...");
			SendClientMessageEx(playerid, COLOR_WHITE, "Vehнculo en marcha.");
			format(string, sizeof(string), "%s encendiу el motor de su vehнculo.", GetPlayerNameEx(playerid));
		   	ProxDetector(30.0, playerid, string, 0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF);
			SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
		}
		return 1;
	}
Les agradecerнa si me ayudan, Y sobre el comando /detener su funciуn serнa apagar el coche y las luces si estбn encendidas.

Gracias.
Reply
#2

https://sampwiki.blast.hk/wiki/IsPlayerInAnyVehicle - Lйelo.
Reply
#3

Usa este

pawn Код:
CMD:arrancar(playerid, params[])
    {
        new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid))
{
        if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: 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_UNSET))
        {
            new string[128];
            SendClientMessageEx(playerid, COLOR_WHITE, "Arrancando vehнculo...");
            SendClientMessageEx(playerid, COLOR_WHITE, "Vehнculo en marcha.");
            format(string, sizeof(string), "%s encendiу el motor de su vehнculo.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, 0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF);
            SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
        }
                } else SendClientMessage(playerid, 1, " No estas en ningun Auto");
        return 1;
    }
Reply
#4

EDIT: Ok, lo arreglaste.
Reply
#5

Quote:
Originally Posted by C1ruj4n0
Посмотреть сообщение
Usa este

pawn Код:
CMD:arrancar(playerid, params[])
    {
        new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid))
{
        if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: 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_UNSET))
        {
            new string[128];
            SendClientMessageEx(playerid, COLOR_WHITE, "Arrancando vehнculo...");
            SendClientMessageEx(playerid, COLOR_WHITE, "Vehнculo en marcha.");
            format(string, sizeof(string), "%s encendiу el motor de su vehнculo.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, 0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF);
            SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
        }
                } else SendClientMessage(playerid, 1, " No estas en ningun Auto");
        return 1;
    }
Amigo pero como podrнa hacer para que ese comando sea solo para encender el auto y que para apagarlo sea /detener
Podrнas ayudarme con el /detener si es necesario algo hablame por PM.
Reply
#6

Adaptalo a tu GM
pawn Код:
stock ApagarVehiculo(vehicleid, playerid)
{
    new engine, lights, alarm, doors, bonnet, boot, objective, string[128];
    if(JugadorInfo[playerid][jAdmin] > 0 || ComprobarDuenio(vehicleid,playerid)|| ComprobarFaccion(vehicleid, playerid) || CocheInfo[vehicleid][cTrabajo] == JugadorInfo[playerid][jTrabajo])
    {
        ActualizarMotor(vehicleid, 0);
        GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
        SetVehicleParamsEx(vehicleid, 0, 0, alarm, doors, bonnet, boot, objective);
        format(string, sizeof(string), "* %s girу la llave para apagar el motor de su vehнculo y apagу el mismo.", Nombre(playerid));
        ProxDetector(30.0, playerid, string, COLOR_ACCIONES);
        MotorEncendido[vehicleid] = 0;
        foreach(new i : Player)
        {
            if(JugadorCercaVehiculo(i) == vehicleid)
            {
                PlayAudioStreamForPlayer(i,"https://dl.dropboxusercontent.com/s/v78cjnx0prrpeaf/motor_apagar.mp3");
            }
        }
    }
    else
    {
        Mensaje(playerid, COLOR_ROJO, "Usted no tiene las llaves del vehнculo.");
    }
    return 1;
}
Reply
#7

pawn Код:
CMD:detener(playerid, params[])
    {
        new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid))
{
        if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: 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_OFF)
        {
            SetVehicleEngine(vehicleid, playerid);
        }
        else if((engine == VEHICLE_PARAMS_UNSET))
        {
            new string[128];
            SendClientMessageEx(playerid, COLOR_WHITE, "Vehiculo Apagado...");
            SendClientMessageEx(playerid, COLOR_WHITE, "El vehiculo se ha Apagado.");
            format(string, sizeof(string), "%s apago el motor de su vehнculo.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, 0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF);
            SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
        }
                } else SendClientMessage(playerid, 1, " No estas en ningun Auto");
        return 1;
    }
PD: No puedo adivinar las funciones por lo tanto agregalas si falto algo.
Reply
#8

Quote:
Originally Posted by C1ruj4n0
Посмотреть сообщение
pawn Код:
CMD:detener(playerid, params[])
    {
        new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid))
{
        if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: 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_OFF)
        {
            SetVehicleEngine(vehicleid, playerid);
        }
        else if((engine == VEHICLE_PARAMS_UNSET))
        {
            new string[128];
            SendClientMessageEx(playerid, COLOR_WHITE, "Vehiculo Apagado...");
            SendClientMessageEx(playerid, COLOR_WHITE, "El vehiculo se ha Apagado.");
            format(string, sizeof(string), "%s apago el motor de su vehнculo.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, 0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF);
            SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
        }
                } else SendClientMessage(playerid, 1, " No estas en ningъn Auto");
        return 1;
    }
PD: No puedo adivinar las funciones por lo tanto agrйgalas si falto algo.
Funciono el comando, Pero tengo otro pequeсo error no se si me puedas ayudar.
Es que cada ves que me entro al auto todo bien y lo apagу, Vuelvo y entro y sin escribir comandos ni nada el coche se enciende. їMe podrнas ayudar? Si es necesario te paso lo que sea hбblame por MP!
Reply
#9

intenta haci

pawn Код:
CMD:detener(playerid, params[])
    {
        new engine,lights,alarm,doors,bonnet,boot,objective,vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid))
{
        if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_WHITE,"[ERROR]: 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_OFF)
        {
            SetVehicleEngine(vehicleid, playerid);
        }
        else if((engine == VEHICLE_PARAMS_SET))
        {
            new string[128];
            SendClientMessageEx(playerid, COLOR_WHITE, "Vehiculo Apagado...");
            SendClientMessageEx(playerid, COLOR_WHITE, "El vehiculo se ha Apagado.");
            format(string, sizeof(string), "%s apago el motor de su vehнculo.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, 0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF,0x00FFBFFF);
            SetTimerEx("SetVehicleEngine", 1000, 0, "dd",  vehicleid, playerid);
        }
                } else SendClientMessage(playerid, 1, " No estas en ningъn Auto");
        return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)