Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Сохранение координат автомобиля.

Статус
В этой теме нельзя размещать новые ответы.

brokens

Умник
Добрый день! Подскажите, как сделать, чтобы при выключении сервера координаты автомобиля сохранялись в базу данных, а при включении извлекались и создавали автомобиль?

Вот что в 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;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу