No me sube al detenido al vehiculo
#1

Cuando pongo /subir, el detenido no sube, pero si pone que lo subн, no entiedo.


Este es el comando para esposar


pawn Код:
CMD:e(playerid, params[])
{
    if(IsACop(playerid))
    {
        new string[128], Float:Pos[3], giveplayerid;
        if(sscanf(params, "d", giveplayerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "Utiliza: {6E9AFF}/e{FFFFFF} [playerid]");
        if(IsPlayerConnected(giveplayerid))
        {
            if (ProxDetectorS(8.0, playerid, giveplayerid))
            {
                if(giveplayerid == playerid) return SendClientMessageEx(playerid, -1, "No puedes hacer esto contigo mismo!");
                    format(string, sizeof(string), "%s saca sus esposas, y esposa a %s", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_CUFFED);
                    Info[giveplayerid][pEstado] = 2;
                    PlayerCuffedTime[giveplayerid] = 300;
                    PlayerPlaySoundEx(1145, Pos[0], Pos[1], Pos[2]);
            }
            else return SendClientMessageEx(playerid, -1, "Ese jugador no estб cerca tuyo.");
        }
        else return SendClientMessageEx(playerid, -1, "Jugador especificado invбlido.");
    }
    else SendClientMessageEx(playerid, -1, "No puedes usar este comando.");
    return 1;
}


Y estй el de subir al detenido

pawn Код:
CMD:subir(playerid, params[])
{
    if(IsACop(playerid))
    {
        new string[128], giveplayerid, seat;
        if(sscanf(params, "dd", giveplayerid, seat)) return SendClientMessageEx(playerid, COLOR_WHITE, "Utiliza: {6E9AFF}/subir{FFFFFF} [playerid] [Asiento 1-3]");
        if(IsPlayerConnected(giveplayerid))
        {
            if(seat < 1 || seat > 3) return SendClientMessageEx(playerid, -1, "Asientos: 1 al 3.");
            if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessageEx(playerid, -1, "Esa persona estб en un vehiculo.");
            if (ProxDetectorS(8.0, playerid, giveplayerid))
            {
                if(giveplayerid == playerid) { SendClientMessageEx(playerid, -1, "No puedes hacer esto contigo mismo!"); return 1; }
                if(Info[giveplayerid][pEstado] == 2)
                {
                    new carid = gLastCar[playerid];
                    if(IsSeatAvailable(carid, seat))
                    {
                        new Float:pos[6];
                        GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
                        GetPlayerPos(giveplayerid, pos[3], pos[4], pos[5]);
                        GetVehiclePos( carid, pos[0], pos[1], pos[2]);
                        if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
                                floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
                                floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
                        format(string, sizeof(string), "%s sube al detenido al vehiculo.", GetPlayerNameEx(playerid));
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        TogglePlayerControllable(giveplayerid, false);
                        PutPlayerInVehicle(giveplayerid, carid, seat);
                    }
                    else return SendClientMessageEx(playerid, -1, "Ese asiento no estб disponible!");
                }
                else return SendClientMessageEx(playerid, -1, "Esa persona no estб esposada");
            }
            else return SendClientMessageEx(playerid, -1, "Usted no estб lo suficientemente cerca del jugador o de su coche!");
        }
        else return SendClientMessageEx(playerid, -1, "Jugador especificado invбlido.");
    }
    else SendClientMessageEx(playerid, -1, "No eres policнa!");
    return 1;
}
Reply
#2

Pon el PutPlayerInVehicle previo al TogglePlayerControllable.
Reply
#3

no me funciono.
Reply
#4

pawn Код:
CMD:subir1(playerid, params[])
{
    if(IsACop(playerid))
    {
        new string[128], giveplayerid, seat;
        if(sscanf(params, "dd", giveplayerid, seat)) return SendClientMessageEx(playerid, COLOR_WHITE, "Utiliza: {6E9AFF}/subir{FFFFFF} [playerid] [Asiento 1-3]");
        if(IsPlayerConnected(giveplayerid))
        {
            if(seat < 1 || seat > 3) return SendClientMessageEx(playerid, -1, "Asientos: 1 al 3.");
            if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessageEx(playerid, -1, "Esa persona estб en un vehiculo.");
            if (ProxDetectorS(8.0, playerid, giveplayerid))
            {
                if(giveplayerid == playerid) { SendClientMessageEx(playerid, -1, "No puedes hacer esto contigo mismo!"); return 1; }
                if(Info[giveplayerid][pEstado] == 2)
                {
                    new carid = gLastCar[playerid];
                    if(IsSeatAvailable(carid, seat))
                    {
                        new Float:pos[6];
                        GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
                        GetPlayerPos(giveplayerid, pos[3], pos[4], pos[5]);
                        GetVehiclePos( carid, pos[0], pos[1], pos[2]);
                        if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
                                floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
                                floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
                        format(string, sizeof(string), "%s sube al detenido al vehiculo.", GetPlayerNameEx(playerid));
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        TogglePlayerControllable(giveplayerid, false);
                        PutPlayerInVehicle(giveplayerid, carid, 1);
                    }
                    else return SendClientMessageEx(playerid, -1, "Ese asiento no estб disponible!");
                }
                else return SendClientMessageEx(playerid, -1, "Esa persona no estб esposada");
            }
            else return SendClientMessageEx(playerid, -1, "Usted no estб lo suficientemente cerca del jugador o de su coche!");
        }
        else return SendClientMessageEx(playerid, -1, "Jugador especificado invбlido.");
    }
    else SendClientMessageEx(playerid, -1, "No eres policнa!");
    return 1;
}
pawn Код:
CMD:subir2(playerid, params[])
{
    if(IsACop(playerid))
    {
        new string[128], giveplayerid, seat;
        if(sscanf(params, "dd", giveplayerid, seat)) return SendClientMessageEx(playerid, COLOR_WHITE, "Utiliza: {6E9AFF}/subir{FFFFFF} [playerid] [Asiento 1-3]");
        if(IsPlayerConnected(giveplayerid))
        {
            if(seat < 1 || seat > 3) return SendClientMessageEx(playerid, -1, "Asientos: 1 al 3.");
            if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessageEx(playerid, -1, "Esa persona estб en un vehiculo.");
            if (ProxDetectorS(8.0, playerid, giveplayerid))
            {
                if(giveplayerid == playerid) { SendClientMessageEx(playerid, -1, "No puedes hacer esto contigo mismo!"); return 1; }
                if(Info[giveplayerid][pEstado] == 2)
                {
                    new carid = gLastCar[playerid];
                    if(IsSeatAvailable(carid, seat))
                    {
                        new Float:pos[6];
                        GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
                        GetPlayerPos(giveplayerid, pos[3], pos[4], pos[5]);
                        GetVehiclePos( carid, pos[0], pos[1], pos[2]);
                        if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
                                floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
                                floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
                        format(string, sizeof(string), "%s sube al detenido al vehiculo.", GetPlayerNameEx(playerid));
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        TogglePlayerControllable(giveplayerid, false);
                        PutPlayerInVehicle(giveplayerid, carid, 2);
                    }
                    else return SendClientMessageEx(playerid, -1, "Ese asiento no estб disponible!");
                }
                else return SendClientMessageEx(playerid, -1, "Esa persona no estб esposada");
            }
            else return SendClientMessageEx(playerid, -1, "Usted no estб lo suficientemente cerca del jugador o de su coche!");
        }
        else return SendClientMessageEx(playerid, -1, "Jugador especificado invбlido.");
    }
    else SendClientMessageEx(playerid, -1, "No eres policнa!");
    return 1;
}
Soluciуn fбcil, el /subir1 lo pone en el asiento 1 y el /subir2 en el 2...
Reply
#5

pero para eso tiene el parбmetro seat no?
Reply
#6

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
pero para eso tiene el parбmetro seat no?
la esta usando en la funciуn IsSeatAvailable (seguramente debe de tener la funciуn GetPlayerVehicleSeat dentro).
Reply
#7

Revivo, no me ha funcionado, nada de lo que me pusieron.
Reply
#8

"carid" tiene el valor correcto?
Reply
#9

no te entendн.
Reply
#10

pawn Код:
new carid = gLastCar[playerid];
Si el valor de carid es un vehнculo invalido nunca lo meterб en йl.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)