[Duda] Es posible hacer esto (Dini)
#1

Que tal.

Bueno mi duda es:

Cuando un jugador compra un vehiculo se crea un archivo (Autos/%d.cfg) con todos los datos

Ya al haberse comprado el vehiculo se crea un archivo con el numero 2.cfg y dentro de el el ID del vehiculo
VehicleInfo[carid][PcarID]
y la llave seria Info[playerid][pCarKey] = VehicleInfo[carid][PcarID];
hasta ahi todo bien. (Creo)

pero al momento vender el vehiculo ejemplo 1 se elimina el documento


y al reiniciar el Gamemode se carga el 2.cfg y como se elimino el documento 1
el documento 2.cfg el auto spawnea con la ID #1....
(Clasica corrida de ID'S)

їComo podria hacer para que lea la id del documento con informacion del jugador?

por ejemplo:
new carid = GetPlayerVehicleID(playerid);
if(Info[i][Lallavedefinida] == VehicleInfo[carid][IDdentroDelDocumento])
Message(i, -1 "Es tu vehiculo y por lo tanto puedes encenderlo");
else Message(i, -1 "No tienes las llaves de este vehiculo");


Gracias.

PD: Podria hacer que con GetClosestCar para un auto que este cerca o con getplayervehicleid al estar dentro del vehiculo
Reply
#2

24h+++
Reply
#3

Tendrias que guardar el ID del vehiculo dentro del archivo y al cargar en GM cargar el id del vehiculo con el id que estб guardado en el archivo (no el nombre del archivo).

pawn Код:
//Donde se cargan los autos, seria algo asн.
VehicleInfo[carid][PcarID] = dini_Int(archivo,"ID");
Reply
#4

Si.eso hago guardo el vehiculo dentro de un archivo:

format(file, sizeof(file),"Vehicles/%d.ini", vehicle)
agregaria:
VehicleInfo[vehicle][PcarID] = dini_Int(archivo,"ID");
Reply
#5

Desconozco si funciona, ya que nunca lo probe y no se si al editar el string el while lo lee modificado o lo sigue leyendo de cuando se creo el bucle.

pawn Код:
new File:archivo, texto[45], contenido[256]; // modifica contenido dependiendo del tamaсo de los archivos.
new borrar = 0; // Acб modificб para obtener la ID del vehнculo a borrar.
format(texto, sizeof(texto), "Vehicles/%i.ini", borrar);
while(fexist(texto))
{
    borrar += 1; // Sumamos 1 a la ID del coche a borrar para obtener el siguiente.
    archivo = fopen(texto, io_read); // Abrimos el archivo siguiente.
    fread(archivo, contenido); // Lo copiamos.
    fremove(archivo); // Lo borramos.
    fclose(archivo); // Lo cerramos.
    format(texto, sizeof(texto), "Vehicles/%i.ini", borrar-1);
    archivo = fopen(texto, io_write); // Creamos el mismo archivo pero con la ID anterior.
    fwrite(archivo, contenido); // Le ponemos el contenido.
    fclose(archivo); // Lo cerramos.
    format(texto, sizeof(texto), "Vehicles/%i.ini", borrar+1); // Pasamos al siguiente archivo.
}
Eso lo tendrнas que poner donde se borra el archivo. Como dije, no se si funcionarб. Ni se si el cуdigo estб bien xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)