SA-MP Forums Archive
[Duda] Es posible hacer esto (Dini) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Es posible hacer esto (Dini) (/showthread.php?tid=340391)



[Duda] Es posible hacer esto (Dini) - Jex_Lafer - 07.05.2012

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


Respuesta: [Duda] Es posible hacer esto (Dini) - Jex_Lafer - 08.05.2012

24h+++


Respuesta: [Duda] Es posible hacer esto (Dini) - Daniel-92 - 08.05.2012

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");



Respuesta: [Duda] Es posible hacer esto (Dini) - Jex_Lafer - 08.05.2012

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");



Respuesta: [Duda] Es posible hacer esto (Dini) - [J]ulian - 08.05.2012

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