15.06.2013, 20:13
sorry, here is the code of vehicles loading function:
pawn Код:
public LoadVehiclesFromSQL()
{
new sql[64], fields[58][MAX_PLAYER_NAME], row[320];
new Float:park_x, Float:park_y, Float:park_z, Float:park_a;
format(sql, sizeof(sql), "SELECT COUNT(*) FROM vehicules");
mysql_query(sql);
mysql_store_result();
mysql_fetch_row(row);
totalcars = strval(row);
mysql_free_result();
for (new i=1; i<=totalcars; i++)
{
format(sql, sizeof(sql), "SELECT * FROM vehicules WHERE id=%d", i);
mysql_query(sql);
mysql_store_result();
mysql_fetch_row(row);
split(row, fields, '|');
CarInfo[i][cModel] = strval(fields[1]);
CarInfo[i][cLocationx] = floatstr(fields[2]);
CarInfo[i][cLocationy] = floatstr(fields[3]);
CarInfo[i][cLocationz] = floatstr(fields[4]);
CarInfo[i][cAngle] = floatstr(fields[5]);
park_x = floatstr(fields[6]);
park_y = floatstr(fields[7]);
park_z = floatstr(fields[8]);
park_a = floatstr(fields[9]);
if (park_x != 0 && park_y != 0 && park_z != 0)
{
CarInfo[i][cLocationx] = park_x;
CarInfo[i][cLocationy] = park_y;
CarInfo[i][cLocationz] = park_z;
CarInfo[i][cAngle] = park_a;
}
CarInfo[i][cColorOne] = strval(fields[10]);
CarInfo[i][cColorTwo] = strval(fields[11]);
CarInfo[i][cOwned] = strval(fields[12]);
memcpy(CarInfo[i][cOwner], fields[13], 0, MAX_PLAYER_NAME*4, MAX_PLAYER_NAME*4);
memcpy(CarInfo[i][cOldOwner], fields[14], 0, MAX_PLAYER_NAME*4, MAX_PLAYER_NAME*4);
CarInfo[i][cFaction] = strval(fields[15]);
CarInfo[i][cFamily] = strval(fields[16]);
CarInfo[i][cType] = strval(fields[17]);
memcpy(CarInfo[i][cDescription], fields[18], 0, 8*4, 8*4);
CarInfo[i][cValue] = strval(fields[19]);
CarInfo[i][cStatus] = strval(fields[20]);
if(CarInfo[i][cStatus]==3) // Cela ne sauvegarde pas la position du garage, donc, on remet а defaut
{CarInfo[i][cStatus]=1;}
CarInfo[i][cRespawnTime] = 3600;
CarInfo[i][cWindow] = 0;
CarInfo[i][cLock] = strval(fields[21]);
CarInfo[i][cHouse] = strval(fields[23]);
CarInfo[i][cArme1] = strval(fields[24]);
CarInfo[i][cArme2] = strval(fields[25]);
CarInfo[i][cArme3] = strval(fields[26]);
CarInfo[i][cArme4] = strval(fields[27]);
CarInfo[i][cArme5] = strval(fields[28]);
CarInfo[i][cAmo1] = strval(fields[29]);
CarInfo[i][cAmo2] = strval(fields[30]);
CarInfo[i][cAmo3] = strval(fields[31]);
CarInfo[i][cAmo4] = strval(fields[32]);
CarInfo[i][cAmo5] = strval(fields[33]);
CarInfo[i][cDrugs] = strval(fields[34]);
CarInfo[i][cHero] = strval(fields[35]);
CarInfo[i][cMatos] = strval(fields[36]);
CarInfo[i][cJob] = strval(fields[37]);
CarInfo[i][tPaintJob] = strval(fields[38]);
CarInfo[i][tExhausts] = strval(fields[39]);
CarInfo[i][tFrontBumper] = strval(fields[40]);
CarInfo[i][tRearBumper] = strval(fields[41]);
CarInfo[i][tRoof] = strval(fields[42]);
CarInfo[i][tSpoilers] = strval(fields[43]);
CarInfo[i][tSideBumper] = strval(fields[44]);
CarInfo[i][tWheels] = strval(fields[45]);
CarInfo[i][tHydraulics] = strval(fields[46]);
CarInfo[i][tNitro] = strval(fields[47]);
CarInfo[i][tSideBumper2] = strval(fields[48]);
CarInfo[i][tNeon] = strval(fields[49]);
memcpy(CarInfo[i][cPlaque], fields[50], 0,8*4,8*4);
memcpy(CarInfo[i][cFaussePlaque], fields[51], 0,8*4,8*4);
CarInfo[i][cKilometre] = strval(fields[52]);
CarInfo[i][cMetre] = strval(fields[53]);
CarInfo[i][cVidange] = strval(fields[54]);
CarInfo[i][cDistri] = strval(fields[55]);
//CarInfo[i][cLimiteur] = strval(fields[57]);
CarInfo[i][cClefVol] = strval(fields[56]);
CarInfo[i][cClefMise] = strval(fields[57]);
mysql_free_result();
if (carsreloaded==0)
{
AddStaticVehicleEx(CarInfo[i][cModel], CarInfo[i][cLocationx], CarInfo[i][cLocationy], CarInfo[i][cLocationz], CarInfo[i][cAngle], CarInfo[i][cColorOne], CarInfo[i][cColorTwo], -1);
tuning_resetFacture(i);
tuning_applyDbTuning(i);
if(CarInfo[i][cVin]==0)
{
new newVin[14];
vin_create(newVin);
memcpy(CarInfo[i][cVin], newVin, 0, 8*14,8*14);
SaveVehiclesFromSQL(i,true);
}
}
else
{car_respawn(i,false);}
CreatePlate(i,1);
tuning_applyDbTuning(i);
if(CarInfo[i][cType]==CARTYPE_RENTABLE)
{SetVehicleNumberPlate(i, "{017FFD}Location");}
if(CarInfo[i][cFaction]==FACT_MECA)
{SetVehicleNumberPlate(i, "{A5F701}Racer'Z");}
if(CarInfo[i][cVin]==0)
{
new newVin[14];
vin_create(newVin);
memcpy(CarInfo[i][cVin], newVin, 0, 8*14,8*14);
SaveVehiclesFromSQL(i,true);
}
}
carsreloaded++;
}