#define MAXIMO_VEHICULOS (3)
#define TIEMPO_RESPAWN (180000)
public OnGameModeInit()
{
CargarVehiculos();
}
public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
new Rows, Field;
if(resultid != 0)
{
cache_get_data(Rows, Field);
}
switch(resultid)
{
case 3:
{
for( new i = 1; i < MAXIMO_VEHICULOS; i++ )
{
new content[12];
cache_get_field_content(0, "propietario", VehiculosInfo[i][vpropietario]);
cache_get_field_content(0, "precio", content); VehiculosInfo[i][vprecio] = strval(content);
cache_get_field_content(0, "modelo", content); VehiculosInfo[i][vmodelo] = strval(content);
cache_get_field_content(0, "x", content); VehiculosInfo[i][vx] = floatstr(content);
cache_get_field_content(0, "y", content); VehiculosInfo[i][vy] = floatstr(content);
cache_get_field_content(0, "z", content); VehiculosInfo[i][vz] = floatstr(content);
cache_get_field_content(0, "a", content); VehiculosInfo[i][va] = floatstr(content);
cache_get_field_content(0, "color1", content); VehiculosInfo[i][vcolor1] = strval(content);
cache_get_field_content(0, "color2", content); VehiculosInfo[i][vcolor2] = strval(content);
cache_get_field_content(0, "comprable", content); VehiculosInfo[i][vcomprable] = strval(content);
VehiculosInfo[i][vID] = i;
CreateVehicle(VehiculosInfo[i][vmodelo], VehiculosInfo[i][vx], VehiculosInfo[i][vy], VehiculosInfo[i][vz], VehiculosInfo[i][va], VehiculosInfo[i][vcolor1], VehiculosInfo[i][vcolor2], TIEMPO_RESPAWN);
new stringinfovehiculo[67+1], stringinfovehiculo2[61+1];
if(VehiculosInfo[i][vcomprable] == 1)
{
printf("[Vehiculos] Se ha cargado el auto N°%d. Tipo: Comprable", i);
if(!strcmp("nadie",VehiculosInfo[i][vpropietario],true))
{
format(stringinfovehiculo, sizeof(stringinfovehiculo), "{F6FF00}VEHНCULO EN VENTA\n{FFFFFF}Precio: $%d\nID: %d", VehiculosInfo[i][vprecio], VehiculosInfo[i][vID]);
infovehiculo = Create3DTextLabel( stringinfovehiculo, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( infovehiculo, VehiculosInfo[i][vID], 0.0, 0.0, 0.5);
}
else
{
format(stringinfovehiculo2, sizeof(stringinfovehiculo2), "{F6FF00}Dueсo: %s\n{FFFFFF}ID: %d", VehiculosInfo[i][vpropietario], VehiculosInfo[i][vID]);
infovehiculo = Create3DTextLabel( stringinfovehiculo2, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( infovehiculo, VehiculosInfo[i][vID], 0.0, 0.0, 0.5);
}
} else printf("[Vehiculos] Se ha cargado el auto N°%d. Tipo: No Comprable", i);
Vehiculos_Creados++;
}
printf("[Vehiculos] Se han cargado %d vehiculos", Vehiculos_Creados++);
}
}
return 1;
}
stock CargarVehiculos()
{
mysql_function_query(Conexion, "SELECT * FROM vehiculos", true, "OnQueryFinish", "i", 3);
}
#define MAXIMO_VEHICULOS (3)
#define TIEMPO_RESPAWN (180000)
public OnGameModeInit()
{
CargarVehiculos();
}
public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
new Rows, Field;
if(resultid != 0)
{
cache_get_data(Rows, Field);
}
switch(resultid)
{
case 3:
{
cache_get_data(Rows,Field, Conexion); //obtenemos los datos
for( new i = 1; i < Rows; i++ ) //bucle por todos los vehнculos
{
new content[12]; //te recomiendo tenerla en 32 si queres obtener el dueсo o algo
cache_get_field_content(0, "propietario", VehiculosInfo[i][vpropietario]);
cache_get_field_content(0, "precio", content); VehiculosInfo[i][vprecio] = strval(content);
cache_get_field_content(0, "modelo", content); VehiculosInfo[i][vmodelo] = strval(content);
cache_get_field_content(0, "x", content); VehiculosInfo[i][vx] = floatstr(content);
cache_get_field_content(0, "y", content); VehiculosInfo[i][vy] = floatstr(content);
cache_get_field_content(0, "z", content); VehiculosInfo[i][vz] = floatstr(content);
cache_get_field_content(0, "a", content); VehiculosInfo[i][va] = floatstr(content);
cache_get_field_content(0, "color1", content); VehiculosInfo[i][vcolor1] = strval(content);
cache_get_field_content(0, "color2", content); VehiculosInfo[i][vcolor2] = strval(content);
cache_get_field_content(0, "comprable", content); VehiculosInfo[i][vcomprable] = strval(content);
VehiculosInfo[i][vID] = i;
CreateVehicle(VehiculosInfo[i][vmodelo], VehiculosInfo[i][vx], VehiculosInfo[i][vy], VehiculosInfo[i][vz], VehiculosInfo[i][va], VehiculosInfo[i][vcolor1], VehiculosInfo[i][vcolor2], TIEMPO_RESPAWN);
new stringinfovehiculo[67+1], stringinfovehiculo2[61+1];
if(VehiculosInfo[i][vcomprable] == 1)
{
printf("[Vehiculos] Se ha cargado el auto N°%d. Tipo: Comprable", i);
if(!strcmp("nadie",VehiculosInfo[i][vpropietario],true))
{
format(stringinfovehiculo, sizeof(stringinfovehiculo), "{F6FF00}VEHНCULO EN VENTA\n{FFFFFF}Precio: $%d\nID: %d", VehiculosInfo[i][vprecio], VehiculosInfo[i][vID]);
infovehiculo = Create3DTextLabel( stringinfovehiculo, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( infovehiculo, VehiculosInfo[i][vID], 0.0, 0.0, 0.5);
}
else
{
format(stringinfovehiculo2, sizeof(stringinfovehiculo2), "{F6FF00}Dueсo: %s\n{FFFFFF}ID: %d", VehiculosInfo[i][vpropietario], VehiculosInfo[i][vID]);
infovehiculo = Create3DTextLabel( stringinfovehiculo2, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( infovehiculo, VehiculosInfo[i][vID], 0.0, 0.0, 0.5);
}
} else printf("[Vehiculos] Se ha cargado el auto N°%d. Tipo: No Comprable", i);
Vehiculos_Creados++;
}
printf("[Vehiculos] Se han cargado %d vehiculos", Vehiculos_Creados++);
}
}
return 1;
}
stock CargarVehiculos()
{
mysql_function_query(Conexion, "SELECT * FROM vehiculos", true, "OnQueryFinish", "i", 3);
}
|
Yo antes tenнa tu mismo error: їsoluciуn?
pawn Код:
|
.|
//te recomiendo tenerla en 32 si queres obtener el dueсo o algo |
if(i >= MAXIMO_VEHICULOS) {
print("Se ha alcanzado el mбximo de vehiculos para cargar");
break;
}
|
Tu problema es que siempres cargas el auto que estб en la primera fila debes de cambiar los 0 por la "i" del bucle, tampoco verificas si se alcanzу el maximo de vehiculos, pon esto al principio del bucle.
pawn Код:
|
![[Image: tet.png]](https://lh4.******usercontent.com/-hc94B2Io_jw/Ub6PNpUKGmI/AAAAAAAAAA0/JkK7DfJD_i8/w529-h583-no/tet.png)
case 3:
{
for( new i = 1; i < MAXIMO_VEHICULOS; i++ )
{
if(i >= MAXIMO_VEHICULOS) {
print("Se ha alcanzado el mбximo de vehiculos para cargar");
break;
}
new content[12];
cache_get_field_content(0, "propietario", VehiculosInfo[i][vpropietario]);
cache_get_field_content(0, "precio", content); VehiculosInfo[i][vprecio] = strval(content);
cache_get_field_content(0, "modelo", content); VehiculosInfo[i][vmodelo] = strval(content);
cache_get_field_content(0, "x", content); VehiculosInfo[i][vx] = floatstr(content);
cache_get_field_content(0, "y", content); VehiculosInfo[i][vy] = floatstr(content);
cache_get_field_content(0, "z", content); VehiculosInfo[i][vz] = floatstr(content);
cache_get_field_content(0, "a", content); VehiculosInfo[i][va] = floatstr(content);
cache_get_field_content(0, "color1", content); VehiculosInfo[i][vcolor1] = strval(content);
cache_get_field_content(0, "color2", content); VehiculosInfo[i][vcolor2] = strval(content);
cache_get_field_content(0, "comprable", content); VehiculosInfo[i][vcomprable] = strval(content);
VehiculosInfo[i][vID] = i;
CreateVehicle(VehiculosInfo[i][vmodelo], VehiculosInfo[i][vx], VehiculosInfo[i][vy], VehiculosInfo[i][vz], VehiculosInfo[i][va], VehiculosInfo[i][vcolor1], VehiculosInfo[i][vcolor2], TIEMPO_RESPAWN);
new stringinfovehiculo[67+1], stringinfovehiculo2[61+1];
if(VehiculosInfo[i][vcomprable] == 1)
{
printf("[Vehiculos] Se ha cargado el auto N°%d. Tipo: Comprable", i);
if(!strcmp("nadie",VehiculosInfo[i][vpropietario],true))
{
format(stringinfovehiculo, sizeof(stringinfovehiculo), "{F6FF00}VEHНCULO EN VENTA\n{FFFFFF}Precio: $%d\nID: %d", VehiculosInfo[i][vprecio], VehiculosInfo[i][vID]);
infovehiculo = Create3DTextLabel( stringinfovehiculo, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( infovehiculo, VehiculosInfo[i][vID], 0.0, 0.0, 0.5);
}
else
{
format(stringinfovehiculo2, sizeof(stringinfovehiculo2), "{F6FF00}Dueсo: %s\n{FFFFFF}ID: %d", VehiculosInfo[i][vpropietario], VehiculosInfo[i][vID]);
infovehiculo = Create3DTextLabel( stringinfovehiculo2, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( infovehiculo, VehiculosInfo[i][vID], 0.0, 0.0, 0.5);
}
} else printf("[Vehiculos] Se ha cargado el auto N°%d. Tipo: No Comprable", i);
Vehiculos_Creados++;
}
printf("[Vehiculos] Se han cargado %d vehiculos", Vehiculos_Creados++);
}
cache_get_field_content(i, "propietario", VehiculosInfo[i][vpropietario]);