27.11.2016, 09:53
PHP код:
CMD:buyhouse(playerid)
{
for(new i; i < sizeof(HouseInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ]))
{
if(!strcmp(HouseInfo[i][hOwnerName], "Noone", true) && HouseInfo[i][hOwnerCheck] == 0)
{
if(PlayerInfo[playerid][HouseOwner] == 1)
{
ERROR(playerid, "You are already owner of house");
return 1;
}
if(GetPlayerMoney(playerid) < HouseInfo[i][hPrice])
{
ERROR(playerid, "You don't have enough money");
return 1;
}
strmid(HouseInfo[i][hOwnerName], GetName(playerid), 0, strlen(GetName(playerid)), 255);
HouseInfo[i][hOwnerCheck] = 1;
HouseInfo[i][hLocked] = 1;
PlayerInfo[playerid][HouseOwner] = 1;
GivePlayerMoney(playerid, -HouseInfo[i][hPrice]);
UpdateHouses(i, 2);
SCM(playerid, -1, ""SERVERBLUE"Congratulations! "WHITE"You just bough a house");
new query[200];
mysql_format(g_SQL, query, sizeof(query), "UPDATE `houses` SET `OwnerCheck` = 1, `Locked` = 1, `OwnerName` = '%s'", GetName(playerid));
mysql_tquery(g_SQL, query);
mysql_format(g_SQL, query, sizeof(query), "UPDATE `players` SET `HouseOwner` = 1 WHERE `ID` = %d LIMIT 1", PlayerInfo[playerid][ID]);
mysql_tquery(g_SQL, query);
}
else
{
ERROR(playerid, "That house is not for sale");
return 1;
}
}
}
return 1;
}
When I buy house ID 1 it says that is owned by me but house ID 2 is also owned by me (even if I didn't bought it) and so on..
I know that problem is in for loop because it loops through every house but I don't know what can I change..