Duda con guardado de vehнculos (MySQL)
#1

Hola,

Estaba creando un sistema de creaciуn de vehнculos por MySQL, crearlos funciona perfectamente y se agregan a la base de datos, el problema ahora es que al reiniciar desaparecen aunque sigan en la tabla de la base de datos, supongo que lo que me falta ahora es cargarlos nuevamente cuando se inicie el servidor.

Supongo que es un un bucle while y usar el AddStaticVehicleEx pero no se por dуnde empezar.

Necesitarнa una base de algo, al menos que cargue una simple variable donde pueda fijarme y acabarlo yo por mi cuenta.

La variables son:

Код:
enum Vehiculos
{
	IDveh,
	Modelo,
	Float:PosVehX,
	Float:PosVehY,
	Float:PosVehZ,
	Color1,
	Color2,
	TiempoRespawn,
	Sirena
};
new Vehiculo[MAX_VEHICLES][Vehiculos];
Aquн creo el vehнculo:

Код:
CMD:crearcoche(playerid, params[]) // Administrador
{
		new modelo, color1, color2;
	    new Float:pos[3];
		GetPlayerPos(playerid, pos[0], pos[1], pos[2]);

		new VehiculoCreado = CreateVehicle(modelo, pos[0], pos[1]+5, pos[2], color1, color2, 30000, 0);

		new query[512];
		format(query, 512, "INSERT INTO vehiculos (Modelo, PosVehX, PosVehY, PosVehZ, Color1, Color2, TiempoRespawn) VALUES (%d, %f, %f, %f, %d, %d, 30000)", modelo, pos[0], pos[1], pos[2], color1, color2);
		mysql_tquery(mysql, query, "", "");

		Vehiculo[VehiculoCreado][IDveh] = cache_insert_id();
		Vehiculo[VehiculoCreado][Modelo] = modelo;
		Vehiculo[VehiculoCreado][PosVehX] = pos[0];
		Vehiculo[VehiculoCreado][PosVehY] = pos[1];
	 	Vehiculo[VehiculoCreado][PosVehZ] = pos[2];
		Vehiculo[VehiculoCreado][Color1] = color1;
		Vehiculo[VehiculoCreado][Color2] = color2;
		return 1;
 }
Un saludo, gracias.
Reply
#2

En OngaMemodeInit, algo asi:

pawn Код:
mysql_format(mysql, query, sizeof(query), "SELECT * FROM `vehiculos` ORDER BY ID ASC");
    mysql_tquery(mysql, query, "CargarCoches", "i", playerid);

Luego la funciуn:

pawn Код:
stock CargarCoches()
{
    new rows, fields, propietario[25], placa[10], contenido[128];
    cache_get_data(rows, fields, mysql);
    CochesCargados = 0;
    if(rows)
    {
        for(new i = 1; i < rows; i++)
        {
            cache_get_field_content(i, "ID", contenido); Auto[i][aID] = strval(contenido);

            new e = Auto[i][aID];

            cache_get_field_content(i, "IDPropietario", contenido); Auto[e][aIDPropietario] = strval(contenido);

            cache_get_field_content(i, "Propietario", propietario, 25);

            cache_get_field_content(i, "Faccion", contenido); Auto[e][aFaccion] = strval(contenido);

            cache_get_field_content(i, "X", contenido); Auto[e][aX] = floatstr(contenido);
            cache_get_field_content(i, "Y", contenido); Auto[e][aY] = floatstr(contenido);
            cache_get_field_content(i, "Z", contenido); Auto[e][aZ] = floatstr(contenido);
            Auto[i][aigID] = CreateVehicle(Auto[e][aModelo], Auto[e][aX],Auto[e][aY], Auto[e][aZ],Auto[e][aAngulo], Auto[e][aColor1], Auto[e][aColor2], 7200);
            Auto[Auto[i][aID]][aigID2] = Auto[i][aigID];
            SetVehicleVirtualWorld(Auto[i][aigID], Auto[e][aVW]);
            LinkVehicleToInterior(Auto[i][aigID], Auto[e][aInterior]);
            SetVehicleNumberPlate(Auto[i][aigID], placa);
            SetVehicleHealth(Auto[i][aigID], Auto[e][aVida]);
            Auto[i][aGasolina] = 100;
            CochesCargados++;
        }
        printf("* Se cargaron %d coches.", CochesCargados);
    }
    else print("  No hay coches para cargar.");
}

Serнa algo asн, adaptalo a tus variables.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)