[Duda] /motor
#1

Buenas a todo forum-samp, querнa saber por quй, cualquiera que se sube a un coche, puede usar /motor y encenderlo. Bien tengo definido, que si es un coche de facciуn o job, si no pertenece a esta, lo expulse del coche y eso va bien. Pero cualquier coche en venta o suelto en la calle, se puede usar /motor y encenderlo.

Aquн os dejo el cуdigo de /motor y de una variable que contiene "StartingTheVehicle", el GM es de CiudadMetroRol, pero el comando /motor es del VirtualRol, ya que el del CiudadMetroRol es muy... malo, ya que te congela y tal.

pawn Код:
if(!strcmp(cmd, "/motor", true))
    {
        new carkey = PlayerInfo[playerid][pPcarkey];
        new carkey2 = PlayerInfo[playerid][pPcarkey2];
        new carkey3 = PlayerInfo[playerid][pPcarkey3];
        if(IsPlayerConnected(playerid))
        {
            if(IsPlayerInAnyVehicle(playerid))
            {
                if(!engineOn[GetPlayerVehicleID(playerid)])
                {
                    if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                    {
                        return 1;
                    }
                    if(CarInfo[GetPlayerVehicleID(playerid)][cOwned] == 1)
                    {
                        if(carkey == GetPlayerVehicleID(playerid) || carkey2 == GetPlayerVehicleID(playerid) || carkey3 == GetPlayerVehicleID(playerid))
                        {
                            if(gEngine[playerid] == 1) { return 1; }
                            new playerveh = GetPlayerVehicleID(playerid);
                            PutPlayerInVehicle(playerid, playerveh, 0);
                            format(string, sizeof(string), "%s intenta encender el motor del vehнculo.", NombreEx(playerid));
                            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetTimerEx("StartingTheVehicle",1000,0,"i",playerid);
                            GameTextForPlayer(playerid, "~r~Encendiendo",1000,3);
                            gEngine[playerid] = 1;
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(playerid,COLOR_GREY,"No tienes las llaves de este vehнculo.");
                            return 1;
                        }
                    }

                    if(gEngine[playerid] == 1) { return 1; }
                    new playerveh = GetPlayerVehicleID(playerid);
                    PutPlayerInVehicle(playerid, playerveh, 0);
                    format(string, sizeof(string), "%s intenta encender el motor del vehнculo.", NombreEx(playerid));
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    SetTimerEx("StartingTheVehicle",1000,0,"i",playerid);
                    GameTextForPlayer(playerid, "~r~Encendiendo",1000,3);
                    gEngine[playerid] = 1;
                    return 1;
                }
                if(engineOn[GetPlayerVehicleID(playerid)])
                {
                    if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                    {
                        return 1;
                    }
                    if(CarInfo[GetPlayerVehicleID(playerid)][cOwned] == 1)
                    {
                        if(carkey == GetPlayerVehicleID(playerid) || carkey2 == GetPlayerVehicleID(playerid) || carkey3 == GetPlayerVehicleID(playerid))
                        {
                            engineOn[GetPlayerVehicleID(playerid)] = false;
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            format(string, sizeof(string), "%s gira las llaves y apaga el motor.", NombreEx(playerid));
                            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            gEngine[playerid] = 0;

                            new enginem, lights, alarm, doors, bonnet, boot, objective;
                            GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
                            SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(playerid,COLOR_GREY,"No tienes las llaves de este vehнculo.");
                            return 1;
                        }
                    }
                    engineOn[GetPlayerVehicleID(playerid)] = false;
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "%s gira las llaves y apaga el motor.", NombreEx(playerid));
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    gEngine[playerid] = 0;

                    new enginem, lights, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
                    return 1;
                }
            }
        }
        return 1;
    }
Y aquн el StartingTheVehicle.

pawn Код:
public StartingTheVehicle(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new RandomStart;
            new string[256];
            new sendername[MAX_PLAYER_NAME];
            RandomStart = random(5);
            switch(RandomStart)
            {
                case 0,1,2,4:
                {
                    engineOn[GetPlayerVehicleID(playerid)] = true;
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "%s enciende el motor del vehнculo.", NombreEx(playerid));
                    ProxDetector(30.0, playerid, string, 0x00E200FF,0x00E200FF,0x00E200FF,0x00E200FF,0x00E200FF);
                    gEngine[playerid] = 0;
                    new enginem, lights, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);

                }
                case 3:
                {
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "%s no logra encender el motor del vehнculo.", NombreEx(playerid));
                    ProxDetector(30.0, playerid, string, 0xCD0000FF,0xCD0000FF,0xCD0000FF,0xCD0000FF,0xCD0000FF);
                    gEngine[playerid] = 0;

                    new enginem, lights, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
                }
            }
        }
        else
        {
            gEngine[playerid] = 0;
        }
    }
    return 1;
}
Reply
#2

Prende todos los autos por que en ningъn momento chequeas que sea de facciуn o de trabajo.
Reply
#3

Si, aquн їno crees?.

pawn Код:
if(CarInfo[GetPlayerVehicleID(playerid)][cOwned] == 1)
                    {
                        if(carkey == GetPlayerVehicleID(playerid) || carkey2 == GetPlayerVehicleID(playerid) || carkey3 == GetPlayerVehicleID(playerid))
Reply
#4

Quote:
Originally Posted by JoseGnzl
Посмотреть сообщение
Si, aquн їno crees?.

pawn Код:
if(CarInfo[GetPlayerVehicleID(playerid)][cOwned] == 1)
                    {
                        if(carkey == GetPlayerVehicleID(playerid) || carkey2 == GetPlayerVehicleID(playerid) || carkey3 == GetPlayerVehicleID(playerid))
Si me queda un poco de RP..
Eso es para comprobar si tiene dueсo no para comprobar si es el dueсo. ¬¬
Reply
#5

Para los de facciones y job, en
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
tengo definidas una serie de cosas que hacen que si no perteneces al job o facciуn, te saque del auto y eso va de lujo.
Quiero saber como puedo configurar eso de que todos no puedan encenderlo.
Reply
#6

Quote:
Originally Posted by JoseGnzl
Посмотреть сообщение
Para los de facciones y job, en
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
tengo definidas una serie de cosas que hacen que si no perteneces al job o facciуn, te saque del auto y eso va de lujo.
Quiero saber como puedo configurar eso de que todos no puedan encenderlo.
es rraro porque estбs haciйndolo correctamente.

Estбs seguro de que el coche tiene la variable en cOwned en 1?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)