Добрый день, столкнулся с такой проблемой, когда я создаю дома с помощью команды то они нормально грузятся, и все такое и в базу данных тоже нормально вроде записуются но как только я делаю рестарт сервера в базе данных все созданное ставиться на 0 входы выходы и т.д. И дом становиться не существующим.
PHP код:
if(strcmp(cmd, "/addhouse", true) == 0)
{
if(Player[playerid][pAdmin] < 10) return send(playerid,COLOR_RED,UnAdminMes);
new level,Float:XX,Float:YY,Float:ZZ,int,class[64];
if(HouseInfo[params[0]][hClass] == 1) class = "Гетто класс";
if(HouseInfo[params[0]][hClass] == 2) class = "Эконом класс";
if(HouseInfo[params[0]][hClass] == 3) class = "Средний класс";
if(HouseInfo[params[0]][hClass] == 4) class = "Премиум класс";
if(HouseInfo[params[0]][hClass] == 5) class = "VIP класс";
if(HouseInfo[params[0]][hClass] == 6) class = "Элита класс";
if(sscanf(params, "d", params[0])) return send(playerid, COLOR_LIGHTBLUE, "•{ffffff} /addhouse [Класс]");
if(params[0] > 6 || params[0] < 1) return send(playerid,COLOR_RED,""vError""vPod"Используй значеие от 1 до 6!");
if(params[0] == 1)
{
level = 1;
XX = 243.7219;
YY = 304.7986;
ZZ = 999.1484;
int = 1;
}
if(params[0] == 2)
{
level = 3;
XX = 266.8805;
YY = 304.8064;
ZZ = 998.6119;
int = 2;
}
if(params[0] == 3)
{
level = 5;
XX = 2365.2104492188;
YY = -1135.6337890625;
ZZ = 1050.8825683594;
int = 8;
}
if(params[0] == 4)
{
level = 7;
XX = 2317.7861328125;
YY = -1026.9718017578;
ZZ = 1050.2177734375;
int = 9;
}
if(params[0] == 5)
{
level = 10;
XX = 2237.5236816406;
YY = -1081.6125488281;
ZZ = 1049.0234375;
int = 2;
}
if(params[0] == 6)
{
level = 12;
XX = 235.4220;
YY = 1187.3510;
ZZ = 1080.2578;
int = 3;
}
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
HouseInfo[HOME][hEnterX] = X;
HouseInfo[HOME][hEnterY] = Y;
HouseInfo[HOME][hEnterZ] = Z;
HouseInfo[HOME][hLvl] = level;
HouseInfo[HOME][hPrice] = HouseInfo[HOME][hLvl]*100000;
HouseInfo[HOME][hMats] = 0;
HouseInfo[HOME][hDrugs] = 0;
HouseInfo[HOME][hHel] = 0;
HouseInfo[HOME][hArm] = 0;
HouseInfo[HOME][hOwned] = 0;
HouseInfo[HOME][hID] = HOME;
HouseInfo[HOME][hOwner][0] = 0;
HouseInfo[HOME][hExitX] = XX;
HouseInfo[HOME][hExitY] = YY;
HouseInfo[HOME][hExitZ] = ZZ;
HouseInfo[HOME][hInt] = int;
HouseInfo[HOME][hLock] = 0;
HouseInfo[HOME][hClass] = params[0];
strmid(HouseInfo[HOME][hOwner], "The State", 0, strlen("The State"), 255);
new text[600],query[1028];
format(query, sizeof(query), "INSERT INTO `house` (`EnterX`, `EnterY`, `EnterZ`, `ExitX`, `ExitY`, `ExitZ`, `Int`, `Owned`, `Owner`, `Price`, `Lock`, `Lvl`, `Mats`, `Drugs`, `Heal`, `Arm`, `Class`)\
VALUE ('%f', '%f', '%f', '%f', '%f', '%f', '%i', '0', 'The State', '%i', '0', '%i', '0', '0', '0', '0', '%i')", X, Y, Z, XX, YY, ZZ,int,HouseInfo[HOME][hLvl]*100000,level,params[0]);
mysql_query(query);
f(text,"{33ccff}[{ffff00}Дом{33ccff}]{46E9FF}\nАдрес: {FFFF00} %d{46E9FF}\nЦена: {FFFF00}%d{33aa33}${46E9FF}\n Класс дома: {7CFC00}%s{FFFF00}\n{46E9FF}Уровень дома: {7CFC00}%d{FFFF00}",HouseInfo[HOME][hID],HouseInfo[HOME][hPrice],class,HouseInfo[HOME][hLvl]);
HouseInfo[HOME][hLabel] = Create3DTextLabel(string,COLOR_GREEN,HouseInfo[HOME][hEnterX], HouseInfo[HOME][hEnterY], HouseInfo[HOME][hEnterZ]+1.2,15.0,0);
HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEnterX], HouseInfo[idx][hEnterY], HouseInfo[idx][hEnterZ], 31, COLOR_WHITE, 0, -1, -1, 400.0);
HouseInfo[HOME][hPickup] = CreateDynamicPickup(1273, 23, HouseInfo[HOME][hEnterX], HouseInfo[HOME][hEnterY], HouseInfo[HOME][hEnterZ],-1);
SaveStuff();
UpdateHouse(HOME);
f(string,""vGotov"Создан дом ID:[%d] Price:[%d] LvL:[%d]",HouseInfo[HOME][hID],HouseInfo[HOME][hPrice],HouseInfo[HOME][hLvl]);
HOME += 1;
return send(playerid, COLOR_WHITE, string);
}
Вот вот это до рестарта как только я создал на сервере дом.
А вот это уже после рестарта.
PHP код:
stock SaveHouses()
{
new string[1028];
for(new i = 0; i < HOME; i++)
{
format(string, sizeof(string), "UPDATE `house` SET `EnterX` = '%.4f',`EnterY` = '%.4f', `EnterZ` = '%.4f', `ExitX` = '%.4f', `ExitY` = '%.4f', `ExitZ` = '%.4f', \
`Int` = '%i', `Owned` = '%i', `Owner` = '%s',`Price` = '%i',`Lock` = '%i',`Lvl` = '%i', `Mats` = '%i' ,`Drugs` = '%i' ,`Heal` = '%i' ,`Arm` = '%i',`Class` = '%i',`Del` = '%i',`Vip` = '%i' WHERE `ID` = '%i'",
HouseInfo[i][hEnterX],
HouseInfo[i][hEnterY],
HouseInfo[i][hEnterZ],
HouseInfo[i][hExitX],
HouseInfo[i][hExitY],
HouseInfo[i][hExitZ],
HouseInfo[i][hInt],
HouseInfo[i][hOwned],
HouseInfo[i][hOwner],
HouseInfo[i][hPrice],
HouseInfo[i][hLock],
HouseInfo[i][hLvl],
HouseInfo[i][hMats],
HouseInfo[i][hDrugs],
HouseInfo[i][hHel],
HouseInfo[i][hArm],
HouseInfo[i][hClass],
HouseInfo[i][hDel],
HouseInfo[i][hVip],
i);
mysql_query(string);
}
}
PHP код:
stock LoadHouses()
{
new string[64],result[1028],d;
new time = GetTickCount();
for(new i = 0; i < HOME; i++)
{
f(string, "SELECT * FROM `house` WHERE `ID` = '%d'", i);
mysql_query(string);
mysql_store_result();
if(mysql_num_rows() == 1)
{
mysql_fetch_row_format(result, "|");
sscanf(result, "p<|>iffffffiis[24]iiiiiiiiii",d,
HouseInfo[i][hEnterX],
HouseInfo[i][hEnterY],
HouseInfo[i][hEnterZ],
HouseInfo[i][hExitX],
HouseInfo[i][hExitY],
HouseInfo[i][hExitZ],
HouseInfo[i][hInt],
HouseInfo[i][hOwned],
HouseInfo[i][hOwner],
HouseInfo[i][hPrice],
HouseInfo[i][hLock],
HouseInfo[i][hLvl],
HouseInfo[i][hMats],
HouseInfo[i][hDrugs],
HouseInfo[i][hHel],
HouseInfo[i][hArm],
HouseInfo[i][hClass],
HouseInfo[i][hDel],
HouseInfo[i][hVip]);
d++;
HouseInfo[i][hID] = d-1;
}
}
mysql_free_result();
printf("|Дома: %d - потрачено %d (ms)",d,GetTickCount() - time);
return 1;
}
PHP код:
stock UpdateHouse(idx)
{
new text[207],class[15];
if(HouseInfo[idx][hClass] == 1) class = "Бомж класс";
if(HouseInfo[idx][hClass] == 2) class = "Эконом класс";
if(HouseInfo[idx][hClass] == 3) class = "Стандарт класс";
if(HouseInfo[idx][hClass] == 4) class = "Премиум класс";
if(HouseInfo[idx][hClass] == 5) class = "VIP класс";
if(HouseInfo[idx][hClass] == 6) class = "Элита класс";
if(HouseInfo[idx][hClass] == 7) class = "Донат класс";
DestroyDynamicMapIcon(HouseInfo[idx][hMIcon]);
DestroyDynamicPickup(HouseInfo[idx][hPickup]);
if(HouseInfo[idx][hOwned] == 0)
{
format(text,sizeof(text),"{33ccff}[{ffffff}Дом{33ccff}]{46E9FF}\nАдрес: {FFFFFF} %d{46E9FF}\nЦена: {FFFFFF}%d{33AA33}${46E9FF}\nУровень дома: {FFFFFF}%d{46E9FF}\nКласс дома: {FFFFFF}%s\n{46E9FF}Покупка дома /h buy",idx,HouseInfo[idx][hPrice],HouseInfo[idx][hLvl],class);
HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEnterX], HouseInfo[idx][hEnterY], HouseInfo[idx][hEnterZ], 31, COLOR_WHITE, 0, -1, -1, 400.0);
HouseInfo[idx][hPickup] = CreateDynamicPickup(1273, 23, HouseInfo[idx][hEnterX], HouseInfo[idx][hEnterY], HouseInfo[idx][hEnterZ],-1);
}
else if(HouseInfo[idx][hOwned] == 1)
{
format(text,sizeof(text),"{33ccff}[{ffffff}Дом{33ccff}]{46E9FF}\nАдрес: {FFFFFF} %d{46E9FF}\nВладелец: {FFFFFF}%s{46E9FF}\nУровень дома: {FFFFFF}%d{46E9FF}\nКласс дома: {FFFFFF}%s",idx,HouseInfo[idx][hOwner],HouseInfo[idx][hLvl],class);
HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEnterX], HouseInfo[idx][hEnterY], HouseInfo[idx][hEnterZ], 32, COLOR_WHITE, 0, -1, -1, 400.0);
HouseInfo[idx][hPickup] = CreateDynamicPickup(1272, 23, HouseInfo[idx][hEnterX], HouseInfo[idx][hEnterY], HouseInfo[idx][hEnterZ],-1);
}
Update3DTextLabelText(HouseInfo[idx][hLabel], 0xFFFFFFFF, text);
}