arhan4hel
Компетентный
У меня возникла проблема, я перевожу систему домов на mysql, вот в чем дело, загружаются дома все нормально, а сохраняются как один. Все дома с одними параметрами
Загрузка
Сохранения
Добавления дома
Сама функция AddHouse
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
. MySQL R6 вроде)Загрузка
PHP:
stock bool: LoadProperty()
{
new idx, Field[32], Data[1024];
mysql_query("SELECT * FROM `houses`");
mysql_store_result();
while(mysql_fetch_row_format(Data, "|"))
{
if(idx > sizeof(HouseInfo)) break;
mysql_fetch_field_row(Field, "ID"); HouseInfo[idx][hID] = strval(Field);
mysql_fetch_field_row(Field, "Owned"); HouseInfo[idx][hOwned] = strval(Field);
mysql_fetch_field_row(Field, "Entrancex"); HouseInfo[idx][hEntrancex] = floatstr(Field);
mysql_fetch_field_row(Field, "Entrancey"); HouseInfo[idx][hEntrancey] = floatstr(Field);
mysql_fetch_field_row(Field, "Entrancez"); HouseInfo[idx][hEntrancez] = floatstr(Field);
mysql_fetch_field_row(Field, "Exitx"); HouseInfo[idx][hExitx] = floatstr(Field);
mysql_fetch_field_row(Field, "Exity"); HouseInfo[idx][hExity] = floatstr(Field);
mysql_fetch_field_row(Field, "Exitz"); HouseInfo[idx][hExitz] = floatstr(Field);
mysql_fetch_field_row(HouseInfo[idx][hOwner], "Owner");
mysql_fetch_field_row(Field, "Value"); HouseInfo[idx][hValue] = strval(Field);
mysql_fetch_field_row(Field, "Hel"); HouseInfo[idx][hHel] = strval(Field);
mysql_fetch_field_row(Field, "Arm"); HouseInfo[idx][hArm] = strval(Field);
mysql_fetch_field_row(Field, "Int"); HouseInfo[idx][hInt] = strval(Field);
mysql_fetch_field_row(Field, "Lock"); HouseInfo[idx][hLock] = strval(Field);
mysql_fetch_field_row(Field, "Rent"); HouseInfo[idx][hRent] = strval(Field);
mysql_fetch_field_row(Field, "Rentabil"); HouseInfo[idx][hRentabil] = strval(Field);
mysql_fetch_field_row(Field, "Takings"); HouseInfo[idx][hTakings] = strval(Field);
mysql_fetch_field_row(Field, "Date"); HouseInfo[idx][hDate] = strval(Field);
mysql_fetch_field_row(Field, "Virtual"); HouseInfo[idx][hVirtual] = strval(Field);
idx++;
}
mysql_free_result();
printf("Houses Loaded: %d", idx);
return true;
}
PHP:
stock SaveHouse(houseid)
{
new sql[1024];
format(sql, sizeof(sql), "UPDATE `houses` SET `Owned`=%d,\
`Entrancex`=%.3f,\
`Entrancey`=%.3f,\
`Entrancez`=%.3f,\
`Exitx`=%.3f,\
`Exity`=%.3f,\
`Exitz`=%.3f,\
`Owner`='%s',\
`Value`=%d,\
`Hel`=%d,\
`Arm`=%d,\
`Int`=%d,\
`Lock`=%d,\
`Rent`=%d,\
`Rentabil`=%d,\
`Takings`=%d,\
`Date`=%d,\
`Virtual`=%d WHERE `ID` = %d",
HouseInfo[houseid][hOwned],
HouseInfo[houseid][hEntrancex],
HouseInfo[houseid][hEntrancey],
HouseInfo[houseid][hEntrancez],
HouseInfo[houseid][hExitx],
HouseInfo[houseid][hExity],
HouseInfo[houseid][hExitz],
HouseInfo[houseid][hOwner],
HouseInfo[houseid][hValue],
HouseInfo[houseid][hHel],
HouseInfo[houseid][hArm],
HouseInfo[houseid][hInt],
HouseInfo[houseid][hLock],
HouseInfo[houseid][hRent],
HouseInfo[houseid][hRentabil],
HouseInfo[houseid][hTakings],
HouseInfo[houseid][hDate],
HouseInfo[houseid][hVirtual],
HouseInfo[houseid][hID]);
mysql_query(sql);
return true;
}
PHP:
if(strcmp(cmd, "/sethint", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new h = strval(tmp);
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_GREY,"Èñïîëüçóéòå: /sethint [id] [id int]");
return true;
}
new intt = strval(tmp);
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_GREY,"Èñïîëüçóéòå: /sethint [id] [id int]");
return true;
}
new Float:x1,Float:y1,Float:z1;
GetPlayerPos(playerid,x1,y1,z1);
HouseInfo[h][hEntrancex] = x1;
HouseInfo[h][hEntrancey] = y1;
HouseInfo[h][hEntrancez] = z1;
if(intt == 1){ HouseInfo[h][hInt] = 5; HouseInfo[h][hExitx] = 2233.7; HouseInfo[h][hExity] = -1113.8; HouseInfo[h][hExitz] = 1050.8; }
else if(intt == 2) { HouseInfo[h][hInt] = 15; HouseInfo[h][hExitx] = 295.4; HouseInfo[h][hExity] = 1472.5; HouseInfo[h][hExitz] = 1080.2; }
else if(intt == 3) { HouseInfo[h][hInt] = 15; HouseInfo[h][hExitx] = 386.9; HouseInfo[h][hExity] = 1471.6; HouseInfo[h][hExitz] = 1080.1; }
else if(intt == 4) { HouseInfo[h][hInt] = 9; HouseInfo[h][hExitx] = 260.8; HouseInfo[h][hExity] = 1237.8; HouseInfo[h][hExitz] = 1084.2; }
else if(intt == 5) { HouseInfo[h][hInt] = 1; HouseInfo[h][hExitx] = 2216.1; HouseInfo[h][hExity] = -1076.3; HouseInfo[h][hExitz] = 1050.4; }
else if(intt == 6) { HouseInfo[h][hInt] = 2; HouseInfo[h][hExitx] = 2237.6; HouseInfo[h][hExity] = -1079.2; HouseInfo[h][hExitz] = 1049.0; }
else if(intt == 7) { HouseInfo[h][hInt] = 2; HouseInfo[h][hExitx] = 2466.1; HouseInfo[h][hExity] = -1697.6; HouseInfo[h][hExitz] = 1013.5; }
else if(intt == 8) { HouseInfo[h][hInt] = 15; HouseInfo[h][hExitx] = 328.1; HouseInfo[h][hExity] = 1478.3; HouseInfo[h][hExitz] = 1084.4; }
else if(intt == 9) { HouseInfo[h][hInt] = 8; HouseInfo[h][hExitx] = -42.5; HouseInfo[h][hExity] = 1406.8; HouseInfo[h][hExitz] = 1084.4; }
else if(intt == 10) { HouseInfo[h][hInt] = 10; HouseInfo[h][hExitx] = 2269.0; HouseInfo[h][hExity] = -1210.4; HouseInfo[h][hExitz] = 1047.5; }
else if(intt == 11) { HouseInfo[h][hInt] = 15; HouseInfo[h][hExitx] = -284.8; HouseInfo[h][hExity] = 1471.1; HouseInfo[h][hExitz] = 1084.3; }
else if(intt == 12) { HouseInfo[h][hInt] = 9; HouseInfo[h][hExitx] = 83.3; HouseInfo[h][hExity] = 1323.4; HouseInfo[h][hExitz] = 1083.8; }
else if(intt == 13) { HouseInfo[h][hInt] = 5; HouseInfo[h][hExitx] = 226.7; HouseInfo[h][hExity] = 1114.2; HouseInfo[h][hExitz] = 1080.9; }
else if(intt == 14) { HouseInfo[h][hInt] = 8; HouseInfo[h][hExitx] = 2365.0; HouseInfo[h][hExity] = -1133.7; HouseInfo[h][hExitz] = 1050.8; }
else if(intt == 15) { HouseInfo[h][hInt] = 3; HouseInfo[h][hExitx] = 235.3; HouseInfo[h][hExity] = 1187.1; HouseInfo[h][hExitz] = 1080.2; }
else if(intt == 16) { HouseInfo[h][hInt] = 9; HouseInfo[h][hExitx] = 2317.6; HouseInfo[h][hExity] = -1025.6; HouseInfo[h][hExitz] = 1050.2; }
else if(intt == 17) { HouseInfo[h][hInt] = 10; HouseInfo[h][hExitx] = 24.6; HouseInfo[h][hExity] = 1341.6; HouseInfo[h][hExitz] = 1084.3; }
else if(intt == 18) { HouseInfo[h][hInt] = 6; HouseInfo[h][hExitx] = 234.2; HouseInfo[h][hExity] = 1064.4; HouseInfo[h][hExitz] = 1084.2; }
else if(intt == 19) { HouseInfo[h][hInt] = 12; HouseInfo[h][hExitx] = 2324.3; HouseInfo[h][hExity] = -1148.9; HouseInfo[h][hExitz] = 1050.7; }
else if(intt == 20) { HouseInfo[h][hInt] = 5; HouseInfo[h][hExitx] = 140.0; HouseInfo[h][hExity] = 1367.5; HouseInfo[h][hExitz] = 1083.8; }
else if(intt == 21) { HouseInfo[h][hInt] = 5; HouseInfo[h][hExitx] = 1299.0800; HouseInfo[h][hExity] = -795.2170; HouseInfo[h][hExitz] = 1084.0078; }
AddHouse(h);
SaveHouse(h);
}
return true;
}
PHP:
stock AddHouse(house)
{
new sql[1024];
format(sql, sizeof(sql), "INSERT INTO `houses` (`Owned`,\
`Entrancex`,\
`Entrancey`,\
`Entrancez`,\
`Exitx`,\
`Exity`,\
`Exitz`,\
`Owner`,\
`Value`,\
`Hel`,\
`Arm`,\
`Int`,\
`Lock`,\
`Rent`,\
`Rentabil`,\
`Takings`,\
`Date`,\
`Virtual`) VALUES (%d, %.3f, %3.f, %3.f, %.3f, %3.f, %3.f, '%s', %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",
HouseInfo[house][hOwned],
HouseInfo[house][hEntrancex],
HouseInfo[house][hEntrancey],
HouseInfo[house][hEntrancez],
HouseInfo[house][hExitx],
HouseInfo[house][hExity],
HouseInfo[house][hExitz],
HouseInfo[house][hOwner],
HouseInfo[house][hValue],
HouseInfo[house][hHel],
HouseInfo[house][hArm],
HouseInfo[house][hInt],
HouseInfo[house][hLock],
HouseInfo[house][hRent],
HouseInfo[house][hRentabil],
HouseInfo[house][hTakings],
HouseInfo[house][hDate],
HouseInfo[house][hVirtual]);
mysql_query(sql);
HouseInfo[house][hID] = mysql_insert_id();
return true;
}
