Problema con setplayerpos sistema de llaves
#1

Hola gente de forum samp.! tengo un problemon paso a explicarles! yo para comprar autos tengo un sistema de llaves ( ademas del sistema de id del samp) entonces por ejemplo tengo un comando que debe poner una variable en 0 del coche y traermelo a una posicion.La variable la cambia por 0 pero el setevehicle pos trae otro auto.

Es medio dificil de explicar.Por ejemplo yo compro un infernus. Ese infernus es id 62 pero es llave 2.Entonces cuando uso el comando me trae el auto id 2 que es una motito de renta.Lo que yo quiero es que me traiga el auto llave 2. :S , Mi cmd es

pawn Код:
traercoche(playerid, params[], help)//Tunear
{
if (help) SendClientMessage(playerid, 0xFF0000AA, "Para Tunear."); // Esto no sale si se usa el comando
else
{
new id;
if(sscanf(params, "d", id)) return SendClientMessage(playerid, Rojo, "Usa: /traercoche[llave]");
if(!IsValidVehicle(id))  return SendClientMessage(playerid, ROJO, "LLave invalida!");
if(GetPlayerVehicleAccess(playerid, id) < 2)
return SendClientMessage(playerid, ROJO, "No eres el dueсo de este vehiculo!");
if(!PlayerToPoint(10.0,playerid,2348.3945,-2302.7190,13.5469)) return SendClientMessage(playerid, Rojo, "No estas en el deposito!");
SetVehiclePos(id, 2352.2737,-2306.5417,13.4277);
CocheGuardado[id] = 0;
return 1;
}
return 1;
}
Ojala puedan ayudarme ya me tiene loco este problema gracias D:
Reply
#2

SetVehiclePos(variablellaves[id], 2352.2737,-2306.5417,13.4277);
CocheGuardado[variablellaves[id]] = 0;
Reply
#3

Me da errores :S

error 028: invalid subscript (not an array or too many subscripts): "GetVehicleID"

Lineas

pawn Код:
SetVehiclePos(GetVehicleID[id], 2352.2737,-2306.5417,13.4277);
CocheEmbargo [GetVehicleID[id]] = 0;
Asi tengo definido getvehicleid

pawn Код:
GetVehicleID(vehicleid)
{
    for(new i=1; i < MAX_DVEHICLES; i++)
    {
        if(VehicleCreated[i] && VehicleID[i] == vehicleid) return i;
    }
    return 0;
}
Reply
#4

Creo que te da el error ese porque GetVehicleID lo que hace es darte el numero de llave pero al parecer debes estar dentro pero creo que podemos hacer algo.A ver..

pawn Код:
SetPVarInt(playerid, "Llavecoche", id);//almacenara la id que ingresaste
new Cocheid = GetPVarInt(playerid, "Llavecoche");//esto la convertira en cocheid
new cochefinal = GetVehicleID(Cocheid); //la nueva variable cochefinal tomara el getvehicleid con cocheid (tu numero de llave)
SetVehiclePos(cochefinal, 2352.2737,-2306.5417,13.4277);//lleva el veh a la posicion
CocheEmbargo[cochefinal] = 0; //variable en cero
Avisa si funciona
Reply
#5

Tampoco . No se que hacer ya ayuda!
Reply
#6

Revivo !!ayuda!
Reply
#7

Segъn tus funciones deberнa ser asн:
pawn Код:
traercoche(playerid, params[], help)//Tunear
{
    if (help) SendClientMessage(playerid, 0xFF0000AA, "Para Tunear."); // Esto no sale si se usa el comando
    else {
        new id;
        if(sscanf(params, "d", id))                                     return SendClientMessage(playerid, Rojo, "Usa: /traercoche [llave]"             );
        if(!IsValidVehicle(id))                                         return SendClientMessage(playerid, ROJO, "LLave invalida!"                      );
        if(GetPlayerVehicleAccess(playerid, id) < 2)                    return SendClientMessage(playerid, ROJO, "No eres el dueсo de este vehiculo!"   );
        if(!PlayerToPoint(10.0,playerid,2348.3945,-2302.7190,13.5469))  return SendClientMessage(playerid, Rojo, "No estas en el deposito!"             );
        SetVehiclePos(GetVehicleID(id), 2352.2737,-2306.5417,13.4277);
        CocheGuardado[GetVehicleID(id)] = 0;
        return 1;
    }
    return 1;
}

GetVehicleID(vid)
{
    for(new i=1; i < MAX_DVEHICLES; i++)
    {
        if(VehicleCreated[i] && VehicleID[i] == vid) return i;
    }
    return 0;
}
Reply
#8

Quote:
Originally Posted by [DOG]irinel1996
Посмотреть сообщение
Segъn tus funciones deberнa ser asн:
pawn Код:
traercoche(playerid, params[], help)//Tunear
{
    if (help) SendClientMessage(playerid, 0xFF0000AA, "Para Tunear."); // Esto no sale si se usa el comando
    else {
        new id;
        if(sscanf(params, "d", id))                                     return SendClientMessage(playerid, Rojo, "Usa: /traercoche [llave]"             );
        if(!IsValidVehicle(id))                                         return SendClientMessage(playerid, ROJO, "LLave invalida!"                      );
        if(GetPlayerVehicleAccess(playerid, id) < 2)                    return SendClientMessage(playerid, ROJO, "No eres el dueсo de este vehiculo!"   );
        if(!PlayerToPoint(10.0,playerid,2348.3945,-2302.7190,13.5469))  return SendClientMessage(playerid, Rojo, "No estas en el deposito!"             );
        SetVehiclePos(GetVehicleID(id), 2352.2737,-2306.5417,13.4277);
        CocheGuardado[GetVehicleID(id)] = 0;
        return 1;
    }
    return 1;
}

GetVehicleID(vid)
{
    for(new i=1; i < MAX_DVEHICLES; i++)
    {
        if(VehicleCreated[i] && VehicleID[i] == vid) return i;
    }
    return 0;
}
No funciona no me trae el coche ni tampoco le setea la variable en cero .
Reply
#9

Estas seguro que GetVehicleID sirve para indicarte el numero de llave del vehiculo? deberia funcionarte
Reply
#10

La verdad nose. Sirve de algo si les paso el fs de concesionaria por pm para que vean que parte es la que necesito?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)