CMD:buyhouse(playerid,params[]) {
#pragma unused params
new Float:MyPos[3],string[128], query[512];
GetPlayerPos(playerid,MyPos[0],MyPos[1],MyPos[2]);
for(new x = 0; x < MAX_HOUSES;x++) {
if(IsPlayerInRangeOfPoint(playerid,10,HouseInfo[x][EnterX],HouseInfo[x][EnterY],HouseInfo[x][EnterZ])){
if(HouseInfo[x][Owned] == 0) {
if(AccInfo[playerid][HouseOwner] == 0) {
if(GetPlayerCash(playerid) < HouseInfo[x][HousePrice]) return SendClientMessage(playerid,COLOR_RED,"You dont have enough money");
HouseInfo[x][Owned] = 1;
HouseInfo[x][Locked] = 0;
GivePlayerCash(playerid,-HouseInfo[x][HousePrice]);
AccInfo[playerid][HouseOwner] = HouseInfo[x][HID];
format(string,sizeof(string),"You have purchased a house, server ID: %i for %i$",HouseInfo[x][HID],HouseInfo[x][HousePrice]);
SendClientMessage(playerid,COLOR_GREEN,string);
HouseInfo[x][Owned] = 1;
HouseInfo[x][HID] = x;
mysql_format(mysql, query, sizeof(query), "UPDATE `houses` SET `HouseName`='%e', `Price`=%i, `EnterX`=%f, `EnterY`=%f, `EnterZ`=%f, `ExitX`= %f, `ExitY`=%f, `ExitZ`=%f, `VirtualWorld`=%i, `InteriorID`=%i,`Owned`=%i, `Garage`=%i, `Locked`=%i, `HouseBank`=%i,`Owner`='%e',`FurnitureToken`=%i,`MasterID`=%i WHERE `ID`=%d", HouseInfo[x][HouseName],HouseInfo[x][HousePrice],
HouseInfo[x][EnterX],HouseInfo[x][EnterY],HouseInfo[x][EnterZ], HouseInfo[x][ExitX],HouseInfo[x][ExitY],HouseInfo[x][ExitZ], HouseInfo[x][VirtualWorld], HouseInfo[x][Interior],HouseInfo[x][Owned],HouseInfo[x][Garage],HouseInfo[x][Locked], HouseInfo[x][HouseBank],Name[playerid],HouseInfo[x][FurnitureToken],AccInfo[playerid][ID],HouseInfo[x][HID]);
mysql_tquery(mysql, query);
DestroyPickup(HouseInfo[x][HPickup]);
Delete3DTextLabel(HouseInfo[x][HouseText]);
HouseInfo[x][HPickup] = CreatePickup(1272, 1, HouseInfo[x][EnterX], HouseInfo[x][EnterY], HouseInfo[x][EnterZ]);
format(string,sizeof(string),"House Name: %s\nHouse Owner: %s\nHouse ID: %i",HouseInfo[x][HouseName],GetRoleplayName(playerid),HouseInfo[x][HID]);
HouseInfo[x][HouseText] = Create3DTextLabel(string, 0x008080FF, HouseInfo[x][EnterX], HouseInfo[x][EnterY], HouseInfo[x][EnterZ], 40.0, 0, 0);
GivePlayerCash(playerid,-HouseInfo[x][HousePrice]);
format(string,sizeof(string),"%s has purchased house ID: %i for %i$",GetName(playerid),HouseInfo[x][HID],HouseInfo[x][HousePrice]);
HousePurchaseLog(string);
}
}
}
}
return true;
}
Mind putting the createhouse command as the problem might be there or something in loading/saving function if you have one.
|
public OnHouseCreation() {
HouseInfo[houseid][HID] = cache_insert_id();
return 1;
}
HouseInfo[houseid][HID] = cache_insert_id(CONNECTION HANDLER);