22.06.2014, 06:02
That is all things that have MAX_HOUSE_OWNED :
I think you want this :
Quote:
#define E_MAX_HOUSES_OWNED "{F6F6F6}You already own {00BC00}%d {F6F6F6}house%s. Sell one of your others before buying a new." |
Код:
//------------------------------------------------------------------------------ // House Buying //------------------------------------------------------------------------------ if(dialogid == HOUSEMENU+4) { if(response) { new hname[MAX_PLAYER_NAME+9]; if(GetOwnedHouses(playerid) >= MAX_HOUSES_OWNED) { ShowInfoBox(playerid, E_MAX_HOUSES_OWNED, MAX_HOUSES_OWNED, AddS(MAX_HOUSES_OWNED)); return 1; } if(strcmp(hInfo[h][HouseOwner], pNick(playerid), CASE_SENSETIVE) && strcmp(hInfo[h][HouseOwner], INVALID_HOWNER_NAME, CASE_SENSETIVE)) return ShowInfoBoxEx(playerid, COLOUR_SYSTEM, E_H_ALREADY_OWNED); if(hInfo[h][HouseValue] > GetPlayerMoney(playerid)) { ShowInfoBox(playerid, E_CANT_AFFORD_HOUSE, hInfo[h][HouseValue], GetPlayerMoney(playerid), (hInfo[h][HouseValue] - GetPlayerMoney(playerid))); return 1; } else { format(hname, sizeof(hname), "%s's House", pNick(playerid)); format(hInfo[h][HouseName], sizeof(hname), "%s", hname); format(hInfo[h][HouseOwner], MAX_PLAYER_NAME, "%s", pNick(playerid)); hInfo[h][HousePassword] = udb_hash("INVALID_HOUSE_PASSWORD"); hInfo[h][HouseStorage] = 0; GivePlayerMoney(playerid, -hInfo[h][HouseValue]); file = INI_Open(filename); INI_WriteString(file, "HouseOwner", pNick(playerid)); INI_WriteInt(file, "HousePassword", hInfo[h][HousePassword]); INI_WriteString(file, "HouseName", hname); INI_WriteInt(file, "HouseStorage", 0); INI_Close(file); ShowInfoBox(playerid, I_BUY_HOUSE, hInfo[h][HouseValue]); foreach(Houses, h2) { if(IsHouseInRangeOfHouse(h, h2, RANGE_BETWEEN_HOUSES) && h2 != h) { file = INI_Open(HouseFile(h2)); INI_WriteInt(file, "HouseValue", (hInfo[h2][HouseValue] + ReturnProcent(hInfo[h2][HouseValue], HOUSE_SELLING_PROCENT2))); UpdateHouseText(h2); INI_Close(file); } } #if GH_USE_MAPICONS == true DestroyDynamicMapIcon(HouseMIcon[h]); HouseMIcon[h] = CreateDynamicMapIcon(hInfo[h][CPOutX], hInfo[h][CPOutY], hInfo[h][CPOutZ], 32, -1, hInfo[h][SpawnWorld], hInfo[h][SpawnInterior], -1, MICON_VD); #endif UpdateHouseText(h); } } return 1; }
Код:
//============================================================================== // ReturnPlayerHouseID(playerid, houseslot); // This function is used to return the house id from a players house 'slot' // Example: ReturnPlayerHouseID(playerid, 0); // Would return for example house ID 500. //============================================================================== stock ReturnPlayerHouseID(playerid, houseslot) { new tmpcount; if(houseslot < 1 && houseslot > MAX_HOUSES_OWNED) return -1; foreach(Houses, h) { if(!strcmp(pNick(playerid), hInfo[h][HouseOwner], CASE_SENSETIVE)) { tmpcount++; if(tmpcount == houseslot) { return h; } } } return -1; }