brokens
Умник
Добрый день! Подскажите, как сделать, чтобы при выключении сервера координаты автомобиля сохранялись в базу данных, а при включении извлекались и создавали автомобиль?
Вот что в OnGameModeExit:
Вот что в OnGameModeExit:
PHP:
for(new c; c <= sizeof(CarInfo); c++) SaveCars(c);
PHP:
public UploadCars()
{
new rows, fields;
cache_get_data(rows, fields);
for(new c; c < sizeof(CarInfo); c++)
{
if(rows)
{
CarInfo[c][cID] = GetPlayerVehicleID(c);
cache_get_field_content(c, "Owner", CarInfo[c][cOwner], mysql_connect_ID, 24);
CarInfo[c][cModel] = cache_get_field_content_int(c, "Model", mysql_connect_ID);
cache_get_field_content(c, "Colors", CarInfo[c][cColors], mysql_connect_ID, 10);
sscanf(CarInfo[c][cColors], "p<,>a<i>[2]", CarInfo[c][cColor]);
CarInfo[c][cPos][0] = cache_get_field_content_float(c, "PosX", mysql_connect_ID);
CarInfo[c][cPos][1] = cache_get_field_content_float(c, "PosY", mysql_connect_ID);
CarInfo[c][cPos][2] = cache_get_field_content_float(c, "PosZ", mysql_connect_ID);
CarInfo[c][cPos][3] = cache_get_field_content_float(c, "PosA", mysql_connect_ID);
CarInfo[c][cWheels] = cache_get_field_content_int(c, "Wheels", mysql_connect_ID);
CarInfo[c][cID] = CreateVehicle(CarInfo[c][cModel], CarInfo[c][cPos][0], CarInfo[c][cPos][1], CarInfo[c][cPos][2], CarInfo[c][cPos][3], CarInfo[c][cColor][0], CarInfo[c][cColor][1], 86400);
AddVehicleComponent(c, CarInfo[c][cWheels]);
}
}
return true;
}
PHP:
stock SaveCars(id)
{
new Float:X, Float:Y, Float:Z, Float:A;
new carid = GetPlayerVehicleID(id);
GetVehiclePos(carid, X, Y, Z), GetVehicleZAngle(carid, A);
new query_string[1024] = "UPDATE `Cars` SET";
format(query_string, sizeof(query_string), "%s `Owner` = '%s',", query_string, CarInfo[id][cOwner]);
format(query_string, sizeof(query_string), "%s `Model` = '%d',", query_string, CarInfo[id][cModel]);
format(CarInfo[id][cColors], 40, "%d,%d", CarInfo[id][cColor][0], CarInfo[id][cColor][1]);
format(query_string, sizeof(query_string), "%s `Colors` = '%s',", query_string, CarInfo[id][cColors]);
format(query_string, sizeof(query_string), "%s `PosX` = '%f',", query_string, X);
format(query_string, sizeof(query_string), "%s `PosY` = '%f',", query_string, Y);
format(query_string, sizeof(query_string), "%s `PosZ` = '%f',", query_string, Z);
format(query_string, sizeof(query_string), "%s `PosA` = '%f',", query_string, A);
format(query_string, sizeof(query_string), "%s `Wheels` = '%d'", query_string, CarInfo[id][cWheels]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%i'", query_string, id);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return true;
}
Последнее редактирование:
