[Tutorial] Como guardar los componentes de un vehнculo.
#1

Pues bueno, he visto que muchas personas no saben como guardar los componentes, asi que decidi hacer este pequeсo tutorial. Para esto usaremos Dini por DracoBlue

Empezamos:

Guardando

Para guardar el componente utilizaremos la funciуn GetVehicleComponentInSlot. Si quieres conocer mas esta funciуn esta la Wiki: https://sampwiki.blast.hk/wiki/GetVehicleComponentInSlot

pawn Код:
stock GuardarVehiculo(vehiculo)
{
    new Componente, file[50], ss[20];
    format(file, sizeof(file), "vehiculos/%d.ini", vehiculo);
    if(!dini_Exists(file)) dini_Create(file);
    for(new com = 0; com < 13; com++)
    {
        Componente = GetVehicleComponentInSlot(vehiculo, com);
        format(ss, sizeof(ss), "componente%d", com);
        dini_IntSet(file, ss, Componente);
    }
}
La explicaciуn:
pawn Код:
new Componente[13], file[50], ss[20];
Definimos las variables antes de el Loop para que no se creen esas mismas variables las veces que se ejecute el loop.
pawn Код:
format(file, sizeof(file), "vehiculos/%d.ini", vehiculo);
Aqui esto se modifica si quieren que se guarde en otro sitio
pawn Код:
for(new com = 0; com < 13; com++)
Abrimos el loop 13 veces, que son los slots de componentes. Mas info: Component slots
pawn Код:
Componente = GetVehicleComponentInSlot(vehiculo, com);
Definimos el Componente con el ID del componente que vamos a guardar
pawn Код:
format(ss, sizeof(ss), "componente%d", com);
Esto se va a guardar de forma:
Код:
componente1 = algo
componente2 = algo
componente3 = algo
De esta forma si tiene ocupados los 13 slots, se guardaran cada uno en los en su respectivo slot.
pawn Код:
dini_IntSet(file, ss, Componente);
Y por ultimo guardamos los datos.

Cargando
Para esto usaremos AddVehicleComponent. Mas info: https://sampwiki.blast.hk/wiki/AddVehicleComponent

pawn Код:
stock CargarVehiculo(vehiculo)
{
    new Componente, file[50], ss[20];
    format(file, sizeof(file), "vehiculos/%d.ini", vehiculo);
    if(!dini_Exists(vehiculo)) return 1;
    for(new com = 0; com < 13; com++)
    {
        format(ss, sizeof(ss), "componente%d", com);
        Componente = dini_Int(file, ss);
        if(Componente > 1000 && Componente < 1193)
        {
            AddVehicleComponent(vehiculo, Componente);
        }
    }
}
La explicaciуn:
pawn Код:
format(ss, sizeof(ss), "componente%d", com);
Componente = dini_Int(file, ss);
Cargamos los componentes con el tipico
Код:
componente1 = algo
componente2 = algo
componente3 = algo
Y lo guarda en la variable Componente
pawn Код:
if(Componente > 1000 && Componente < 1193)
{
    AddVehicleComponent(vehiculo, Componente);
}
Con esto solo le pondra el componente si esta entre 1000 (mil) y 1193 (mil ciento noventa y tres) que son los componentes validos. Mas informaciуn: Car Component ID

Y con esto, solo deberiamos usar las funciones:
pawn Код:
GuardarVehiculo(id del vehiculo)//para guardarlo, en OnGameModeExit talvez
CargarVehiculo(id del vehiculo)//para cargarlo, en OnGameModeInit talvez
Este es mi primer tutorial y se aceptan criticas, regaсos, tips o lo que sea para mejorar.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)