Funciуn y callback para cargar autos.
#1

Hola, he estado haciendo un sistema de autos. El problema es que yo no sй como guardarlos, intentй haciendo un public pero no me sirviу bien, acб estб el enum:

pawn Код:
Model, //El modelo del auto, o sea id de wiki samp.
    Estado, //Si tiene dueсo o no.
   
    Float:PosX, //Posiciуn en X.
    Float:PosY, //Posiciуn en Y.
    Float:PosZ, //Posiciуn en Z.
    Float:Angulo, //Su angulo.
   
    ColorUno, //Color uno.
    ColorDos, //Color dos.
   
    Propietario[256], //Nombre del propietario, si tiene.
    Placa[256], //Descripciуn del auto.
   
    Precio, //Precio del auto.
    TipoAlarma,
    Lock, // Si esta abierto o cerrado.
   
    aEstado,
    EstadoGomas,
    EstadoPuertas,
    EstadoGasolina .
Y asн se guarda:

pawn Код:
stock aUpdate(vehicleid)
{
    format(Archivo, sizeof(Archivo), "autos/%d.ini", vehicleid);
   
    if(!fexist(Archivo))
    {
        dini_Create(Archivo);
    }

    dini_IntSet(Archivo, "Model", CarInfo1[vehicleid][Model]);
    dini_IntSet(Archivo, "Estado", CarInfo1[vehicleid][Estado]); // O sea en venta.

    dini_FloatSet(Archivo, "PosX", CarInfo1[vehicleid][PosX]);
    dini_FloatSet(Archivo, "PosY", CarInfo1[vehicleid][PosY]);
    dini_FloatSet(Archivo, "PosZ", CarInfo1[vehicleid][PosZ]);
    dini_FloatSet(Archivo, "Angulo", CarInfo1[vehicleid][Angulo]);

    dini_IntSet(Archivo, "ColorUno", CarInfo1[vehicleid][ColorUno]);
    dini_IntSet(Archivo, "ColorDos", CarInfo1[vehicleid][ColorDos]);

    dini_Set(Archivo, "Propietario", CarInfo1[vehicleid][Propietario]);
    dini_Set(Archivo, "Placa",CarInfo1[vehicleid][Placa]); // La placa que tendrб por default.

    dini_IntSet(Archivo, "Precio",CarInfo1[vehicleid][Precio]);
    dini_IntSet(Archivo, "TipoAlarma", CarInfo1[vehicleid][TipoAlarma]);
    dini_IntSet(Archivo, "Lock", CarInfo1[vehicleid][Lock]);

    dini_IntSet(Archivo, "EstadoPuertas",CarInfo1[vehicleid][EstadoPuertas]);
    dini_IntSet(Archivo, "EstadoGomas",CarInfo1[vehicleid][EstadoGomas]);
    dini_IntSet(Archivo, "aEstado",CarInfo1[vehicleid][aEstado]);
   
   
    return 1;
}
їcуmo los cargo?
Reply
#2

haz otro stock y coloca las funciones del anterior stock con dini_Int y utiliza el stock donde kieras ke se cargue.
Reply
#3

Osea le saco el set?
Reply
#4

Quote:
Originally Posted by jwalker
Посмотреть сообщение
Osea le saco el set?
asi:

pawn Код:
stock Cargar(vehicleid)
{
    format(Archivo, sizeof(Archivo), "autos/%d.ini", vehicleid);
    if(fexist(Archivo))
    {
        SetVehiclePos(vehicleid, dini_Int(Archivo, "PosX"), dini_Int(Archivo, "PosY"), dini_Int(Archivo, "PosZ"));
        SetVehicleZAngle(vehicleid, dini_Int(Archivo, "Angulo"));
        ChangeVehicleColor(vehicleid, dini_Int(Archivo, "ColorUno"), dini_Int(Archivo, "ColorDos"));
        SetVehicleNumberPlate(vehicleid, dini_Int(Archivo, "Placa"));
        //ETC..
        //ETC..
        //ETC..
    }
    return 1;
}
pawn Код:
stock dini_Int(filename[],key[])
Reply
#5

Para que sirve
pawn Код:
stock dini_Int(filename[],key[])
?

Y otra cosa, hay algъnas funciones por ejemplo la del dueсo, como las expreso?
Reply
#6

es una funcion del include DINI

Funciones
dini_Create(filename[]); Crea un archivo con el nombre especificado.
dini_Exists(filename[]); Se usa en if's. Detecta si el archivo ya existe
dini_Remove(filename[]); Elimina el archivo especificado.
dini_Int(filename[], key[]); Obtiene el valor de "key"
dini_IntSet(filename[], key[], value); Cambia el valor de "key".


Uso de Dini

y lo otro, segun tu sistema de vehiculo, pero supongo ke con un format o strcmp.
Reply
#7

Te serviria buscar algunos GMґS q utilizaron DINI para aprender bien su uso asi ise yo .
Reply
#8

Bien, gracias. Ya solucionй eso, ahora tengo un problema con autos. Agregй esto:

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new newcar;
    if(newcar >= 1 && newcar <= 17)
      {
         if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1){
         {
             SendClientMessage(playerid, 0x7EBEFFFF,"No perteneces al Cuerpo Policial [Cуdigo 1].");}
         }
      }
}
Pero cualquiera puede subirse a las patrullas, aun no siendo SAPD.
Reply
#9

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new newcar;
    if(newcar >= 1 && newcar <= 17)
      {
         if(PlayerInfo[playerid][pMember] != 1 || PlayerInfo[playerid][pLeader] != 1){
         {
             SendClientMessage(playerid, 0x7EBEFFFF,"perteneces al Cuerpo Policial [Cуdigo 1].");}
         }
         ekse
         {
             SendClientMessage(playerid, 0x7EBEFFFF,"No perteneces al Cuerpo Policial [Cуdigo 1].");}
         }
      }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)