Like2
Компетентный
Доброе утро.
Не сохраняется дома, после после того как выключу сервер.
Загрузка:
Какой еще код понадобится - скину.
Если не ошибаюсь, проблема где-то тут.
P.s вот сохранение:
При дисконнекте - всё сохраняется, после рестарта - дом на продаже.
Не сохраняется дома, после после того как выключу сервер.
Загрузка:
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;
}
Последнее редактирование:
