Vano-Glad
Умник
Всем привет. Вообщем столкнулся с такой проблемой, когда писал систему домов, о ней чуть позже... По коду вроде все нормально. 100 раз все перепроверял и переделывал, но тщетно. Кто поможет с меня +.
Суть: Вроде все ок, ставлю дом, через команду /setpos, покупаю его - Все нормально. Делаю релог - все нормально. Как только выключаю samp-server, включаю и захожу на сервер. Дома все пропадают с того места, где они были. Снова ставлю через /setpos тот дом, что покупал. И он уже зеленый горит, то есть продан ну и все в этом духе... Как бы я не пытался что-то исправить - ничего не помогло, решил натощак к вам обратиться, надеюсь поможете. Пишите в комментариях, какой код вам скинуть.
Загрузка домов:
Сохранение домов:
Обновление домов:
Обновление домов при покупке дома:
Суть: Вроде все ок, ставлю дом, через команду /setpos, покупаю его - Все нормально. Делаю релог - все нормально. Как только выключаю samp-server, включаю и захожу на сервер. Дома все пропадают с того места, где они были. Снова ставлю через /setpos тот дом, что покупал. И он уже зеленый горит, то есть продан ну и все в этом духе... Как бы я не пытался что-то исправить - ничего не помогло, решил натощак к вам обратиться, надеюсь поможете. Пишите в комментариях, какой код вам скинуть.
Загрузка домов:
PHP:
stock LoadHouse()
{
new allhouse[16][64];
new strhouse[350];
new File: file = fopen("House/House.cfg", io_read);
if(file)
{
new id;
while(id < sizeof(HouseInfo))
{
fread(file, strhouse);
split(strhouse, allhouse, '|');
HouseInfo[id][hHouseX] = floatstr(allhouse[0]);
HouseInfo[id][hHouseY] = floatstr(allhouse[1]);
HouseInfo[id][hHouseZ] = floatstr(allhouse[2]);
HouseInfo[id][hHouseexitX] = floatstr(allhouse[3]);
HouseInfo[id][hHouseexitY] = floatstr(allhouse[4]);
HouseInfo[id][hHouseexitZ] = floatstr(allhouse[5]);
HouseInfo[id][hCarX] = floatstr(allhouse[6]);
HouseInfo[id][hCarY] = floatstr(allhouse[7]);
HouseInfo[id][hCarZ] = floatstr(allhouse[8]);
HouseInfo[id][hCarC] = floatstr(allhouse[9]);
strmid(HouseInfo[id][hPlayer], allhouse[10], 0, strlen(allhouse[10]), 999);
HouseInfo[id][hCena] = strval(allhouse[11]);
HouseInfo[id][hInt] = strval(allhouse[12]);
HouseInfo[id][hOpen] = strval(allhouse[13]);
HouseInfo[id][hHouse] = strval(allhouse[14]);
HouseInfo[id][hKlass] = strval(allhouse[15]);
id++;
}
fclose(file);
}
return 1;
}
PHP:
stock SaveHouse()
{
new id;
new File: file;
new strhouse[350];
while(id < sizeof(HouseInfo))
{
format(strhouse, sizeof(strhouse), "Dom X: %f | Dom Y: %f | Dom Z: %f | Exit X: %f | Exit Y: %f | Exit Z: %f | Car X: %f | Car Y: %f | Car Z: %f | Car C: %f | Player: %s | Cena: %d | Int: %d | Open: %d | House: %d | Klass: %d || \n",
HouseInfo[id][hHouseX],
HouseInfo[id][hHouseY],
HouseInfo[id][hHouseZ],
HouseInfo[id][hHouseexitX],
HouseInfo[id][hHouseexitY],
HouseInfo[id][hHouseZ],
HouseInfo[id][hCarX],
HouseInfo[id][hCarY],
HouseInfo[id][hCarZ],
HouseInfo[id][hCarC],
HouseInfo[id][hPlayer],
HouseInfo[id][hCena],
HouseInfo[id][hInt],
HouseInfo[id][hOpen],
HouseInfo[id][hHouse],
HouseInfo[id][hKlass]);
if(id == 0) file = fopen("House/House.cfg", io_write);
else file = fopen("House/House.cfg", io_append);
fwrite(file, strhouse);
id++;
fclose(file);
}
return 1;
}
PHP:
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hHouse] == 0)
{
HouseInfo[h][hPickup] = CreatePickup(1273, 23, HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ], -1);
HouseInfo[h][hIcon] = CreateDynamicMapIcon(HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ], 31, COLOR_WHITE, 0, -1, -1, 1000);
}
if(HouseInfo[h][hHouse] == 1)
{
HouseInfo[h][hPickup] = CreatePickup(1272, 23, HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ], -1);
HouseInfo[h][hIcon] = CreateDynamicMapIcon(HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ], 32, COLOR_WHITE, 0, -1, -1, 1000);
}
}
PHP:
stock BuyHouse()
{
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hHouse] == 0)
{
DestroyDynamicMapIcon(HouseInfo[h][hIcon]);
DestroyPickup(HouseInfo[h][hPickup]);
AddStaticPickup(1273, 23, HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ]);
HouseInfo[h][hIcon] = CreateDynamicMapIcon(HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ], 31, COLOR_WHITE, 0, -1, -1, 1000);
}
if(HouseInfo[h][hHouse] == 1)
{
DestroyDynamicMapIcon(HouseInfo[h][hIcon]);
DestroyPickup(HouseInfo[h][hPickup]);
AddStaticPickup(1272, 23, HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ]);
HouseInfo[h][hIcon] = CreateDynamicMapIcon(HouseInfo[h][hHouseX], HouseInfo[h][hHouseY], HouseInfo[h][hHouseZ], 32, COLOR_WHITE, 0, -1, -1, 1000);
}
}
}
Последнее редактирование:
