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

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

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

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

[Вопрос] MYSQL HOUSE

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

Like2

Компетентный
Доброе утро.

Не сохраняется дома, после после того как выключу сервер.

Загрузка:
PHP:
forward OnLoadHousesCallback();
public OnLoadHousesCallback()
{
	new i, buf[64];
	cache_get_data(rows, fields);
    for(i = 0; i < rows; i++)
    {
	    cache_get_field_content(i, "ID", buf), HouseInfo[i][hID] = strval(buf);
  		cache_get_field_content(i, "EnterX", buf), HouseInfo[i][hEntrancex] = floatstr(buf);
  		cache_get_field_content(i, "EnterY", buf), HouseInfo[i][hEntrancey] = floatstr(buf);
  		cache_get_field_content(i, "EnterZ", buf), HouseInfo[i][hEntrancez] = floatstr(buf);
  		cache_get_field_content(i, "ExitX", buf), HouseInfo[i][hExitx] = floatstr(buf);
  		cache_get_field_content(i, "ExitY", buf), HouseInfo[i][hExity] = floatstr(buf);
  		cache_get_field_content(i, "ExitZ", buf), HouseInfo[i][hExitz] = floatstr(buf);
  		cache_get_field_content(i, "SpawnX", buf), HouseInfo[i][hSpawn][0] = floatstr(buf);
  		cache_get_field_content(i, "SpawnY", buf), HouseInfo[i][hSpawn][1] = floatstr(buf);
  		cache_get_field_content(i, "SpawnZ", buf), HouseInfo[i][hSpawn][2] = floatstr(buf);
  		cache_get_field_content(i, "SpawnA", buf), HouseInfo[i][hSpawn][3] = floatstr(buf);
		cache_get_field_content(i, "Owner", buf), strmid(HouseInfo[i][hOwner], buf, 0, strlen(buf), MAX_PLAYER_NAME);
	    cache_get_field_content(i, "Price", buf), HouseInfo[i][hValue] = strval(buf);
	    cache_get_field_content(i, "Health", buf), HouseInfo[i][hHel] = strval(buf);
		cache_get_field_content(i, "Armor", buf), HouseInfo[i][hArm] = strval(buf);
	    cache_get_field_content(i, "Int", buf), HouseInfo[i][hInt] = strval(buf);
	    cache_get_field_content(i, "Lock", buf), HouseInfo[i][hLock] = strval(buf);
	    cache_get_field_content(i, "Owned", buf), HouseInfo[i][hOwned] = strval(buf);
	    cache_get_field_content(i, "Rent", buf), HouseInfo[i][hRent] = strval(buf);
	    cache_get_field_content(i, "Rentbil", buf), HouseInfo[i][hRentabil] = strval(buf);
	    cache_get_field_content(i, "Takings", buf), HouseInfo[i][hTakings] = strval(buf);
	    cache_get_field_content(i, "Level", buf), HouseInfo[i][hLevel] = strval(buf);
	    cache_get_field_content(i, "Drugs", buf), HouseInfo[i][hDrugs] = strval(buf);
		new text[600];
		if(!HouseInfo[i][hOwned])
		{
			format(text, sizeof(text),"{FF6347}* Дом выставлен на продажу. *\n{FFFFFF}Номер дома: {00FF00}%d{FFFFFF}\nЦена дома: {00FF00}%d${FFFFFF}\nУровень дома: {00FF00}%d{FFFFFF}\nЧтобы купuть дом uспользуй команду {FF6347}''/buyhouse''{FFFFFF}.", i, HouseInfo[i][hValue], HouseInfo[i][hLevel]);
			HouseInfo[i][hIcon] = CreateDynamicMapIcon(HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 31, -1, 0, -1, -1, 400.0);
		}
		else
		{
		    if(HouseInfo[i][hRentabil]) format(text, sizeof(text),"{FF6347}* Дом не продаётся! *\n{FFFFFF}Номер дома: {00FF00}%d{FFFFFF}\nВладелец дома: {00FF00}%s{FFFFFF}\nАренда дома: {00FF00}%d$\nЧтобы арендовать дом uспользуй команду {FF6347}''/rentroom''{FFFFFF}.", i, HouseInfo[i][hOwner], HouseInfo[i][hRent]);
			else if(!HouseInfo[i][hRentabil]) format(text, sizeof(text),"{FF6347}* Дом не продаётся! *\n{FFFFFF}Номер дома: {00FF00}%d{FFFFFF}\nВладелец дома: {00FF00}%s{FFFFFF}\nАренда дома: {ff3300}Недоступна{FFFFFF}", i, HouseInfo[i][hOwner]);
			HouseInfo[i][hIcon] = CreateDynamicMapIcon(HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 32, -1, 0, -1, -1, 400.0);
            HouseInfo[i][hPickup] = CreatePickup(19134, 23, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], -1);
		}
		HouseInfo[i][hText] = Create3DTextLabel(text, -1, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1, 20.0, 0, 1);
	}
	printf("~ Загружено домов - %i.", i);
	return 1;
}
PHP:
stock LoadHouses()
{
	mysql_function_query(connectionHandle, "SELECT * FROM `"TABLE_HOUSES"`", true, "OnLoadHousesCallback", "");
	return 1;
}
Какой еще код понадобится - скину.

Если не ошибаюсь, проблема где-то тут.

P.s вот сохранение:
PHP:
stock SaveHouses(idhouse)
{
	if(idhouse == -1) for(idhouse = 0; idhouse < MAX_HOUSES; idhouse++) SaveHouses(idhouse);
	else
	{
		new e1[24], buf[500];
		mysql_real_escape_string(HouseInfo[idhouse][hOwner], e1);
		format(buf, sizeof(buf),"UPDATE `"TABLE_HOUSES"` SET `EnterX` = '%f', `EnterY` = '%f', `EnterZ` = '%f', `ExitX` = '%f', `ExitY` = '%f', `ExitZ` = '%f',\
		`SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnA` = '%f',\
		`Owner` = '%s', `Price` = '%d', `Health` = '%d', `Armor` = '%d', `Int` = '%d', `Lock` = '%d', `Owned` = '%d', `Rent` = '%d', `Rentbil` = '%d', `Takings` = '%d', `Level` = '%d', `Drugs` = '%d' WHERE `ID` = '%d'",
		HouseInfo[idhouse][hEntrancex], HouseInfo[idhouse][hEntrancey], HouseInfo[idhouse][hEntrancez], HouseInfo[idhouse][hExitx],
		HouseInfo[idhouse][hExity], HouseInfo[idhouse][hExitz], HouseInfo[idhouse][hSpawn][0], HouseInfo[idhouse][hSpawn][1], HouseInfo[idhouse][hSpawn][2], HouseInfo[idhouse][hSpawn][3], e1,
		HouseInfo[idhouse][hValue], HouseInfo[idhouse][hHel], HouseInfo[idhouse][hArm], HouseInfo[idhouse][hInt], HouseInfo[idhouse][hLock], HouseInfo[idhouse][hOwned], HouseInfo[idhouse][hRent], HouseInfo[idhouse][hRentabil], HouseInfo[idhouse][hTakings], HouseInfo[idhouse][hLevel], HouseInfo[idhouse][hDrugs], idhouse);
		mysql_function_query(connectionHandle, buf, false, "", "");
	}
	return 1;
}
При дисконнекте - всё сохраняется, после рестарта - дом на продаже.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу