Alonso 82 Опубликовано 9 сентября, 2017 Вот вся система домов. Короче. Когда куплю дом, нет пикапа, текста, и тд. Так же багнутая buyhouse. #define nohouse SendClientMessage(playerid, -1, "{ff0000}Рядом с Вами {008000}нет {ff0000}дома") #define nomoney(%1) kasl = HouseInfo[i][hPrice] -= PlayerInfo[playerid][pCash]; f(string, "У Вас не хватает %d рублей. Всего надо: %d.", kasl, HouseInfo[i][hPrice]); new AddHouse[MAX_PLAYERS][3]; new TOTALHOUSES = 0; enum hstats { hID, Float:hPos[6], hInt, hPrice, hHeal, Text3D:hText, hOwner[24], hOwned, hPick } new HouseInfo[MAX_HOUSES][hstats]; mysql_tquery(mysql_connect_ID, "SELECT * FROM `houses` WHERE 1", "LoadHouses", ""); case 5: { if(!response) return 1; switch(listitem) { case 0: ShowPlayerDialog(playerid, 6, DIALOG_STYLE_INPUT, "Price", "select price house", "Ok", "Cancel"); } } case 6: { if(!response) return DestroyAddHousePVar(playerid); AddHouse[playerid][0] = strval(inputtext); printf("%d price", AddHouse[playerid][0]); ShowPlayerDialog(playerid, 7, DIALOG_STYLE_INPUT, "Interior", "0 - 2 комнатная\n1 - 1 комнатная", "Ok", "Cancel"); return 1; } case 7: { if(!response) return DestroyAddHousePVar(playerid); AddHouse[playerid][1] = strval(inputtext); printf("%d", AddHouse[playerid][1]); ShowPlayerDialog(playerid, 8, DIALOG_STYLE_INPUT, "Heal", "Select house heal's", "Ok", "Cancel"); return 1; } case 8: { if(!response) return DestroyAddHousePVar(playerid); print("1"); AddHouse[playerid][2] = strval(inputtext); printf("%d", AddHouse[playerid][2]); TOTALHOUSES++; GetPlayerPos(playerid, HouseInfo[TOTALHOUSES][hPos][0], HouseInfo[TOTALHOUSES][hPos][1], HouseInfo[TOTALHOUSES][hPos][2]); HouseInfo[TOTALHOUSES][hPrice] = AddHouse[playerid][0]; HouseInfo[TOTALHOUSES][hInt] = AddHouse[playerid][1]; HouseInfo[TOTALHOUSES][hHeal] = AddHouse[playerid][2]; print("1.5"); print("2"); switch(HouseInfo[TOTALHOUSES][hInt]) { case 0: { HouseInfo[TOTALHOUSES][hPos][3] = 807.1849; HouseInfo[TOTALHOUSES][hPos][4] = -5461.4780; HouseInfo[TOTALHOUSES][hPos][5] = 10.3939; new rows = TOTALHOUSES; HouseInfo[TOTALHOUSES][hPick] = CreatePickup(19523, 23, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], -1); HouseInfo[TOTALHOUSES][hText] = Create3DTextLabel("hui", 0xEAC700CC, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], 20.0, 0, 1); format(query_string, sizeof(query_string), "INSERT INTO `houses` (`Pos1`, `Pos2`, `Pos3`, `Pos4`, `Pos5`, `Pos6`, `Owner`, `Owned`) VALUES ('%f', '%f', '%f', '%f', '%f', '%f', 'None', '0')", HouseInfo[TOTALHOUSES][hPos][0], HouseInfo[TOTALHOUSES][hPos][1], HouseInfo[TOTALHOUSES][hPos][2], HouseInfo[TOTALHOUSES][hPos][3], HouseInfo[TOTALHOUSES][hPos][4], HouseInfo[TOTALHOUSES][hPos][5]); mysql_tquery(mysql_connect_ID, query_string, !"", !""); UpdateHouse(TOTALHOUSES); } case 1: { HouseInfo[TOTALHOUSES][hPos][3] = -2297.6387; HouseInfo[TOTALHOUSES][hPos][4] = 357.9727; HouseInfo[TOTALHOUSES][hPos][5] = -86.0548; new rows = TOTALHOUSES; HouseInfo[TOTALHOUSES][hPick] = CreatePickup(19523, 23, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], -1); HouseInfo[TOTALHOUSES][hText] = Create3DTextLabel("hui", 0xEAC700CC, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], 20.0, 0, 1); format(query_string, sizeof(query_string), "INSERT INTO `houses` (`Pos1`, `Pos2`, `Pos3`, `Pos4`, `Pos5`, `Pos6`, `Owner`, `Owned`) VALUES ('%f', '%f', '%f', '%f', '%f', '%f', 'None', '0')", HouseInfo[TOTALHOUSES][hPos][0], HouseInfo[TOTALHOUSES][hPos][1], HouseInfo[TOTALHOUSES][hPos][2], HouseInfo[TOTALHOUSES][hPos][3], HouseInfo[TOTALHOUSES][hPos][4], HouseInfo[TOTALHOUSES][hPos][5]); mysql_tquery(mysql_connect_ID, query_string, !"", !""); UpdateHouse(TOTALHOUSES); } } print("3"); return 1; } publics: LoadHouses() { new rows; cache_get_row_count(rows); for(new i = 0; i < rows; ++i) { HouseInfo[TOTALHOUSES][hID] = rows; cache_get_value_name_float(0, "Pos1", HouseInfo[TOTALHOUSES][hPos][0]); cache_get_value_name_float(0, "Pos2", HouseInfo[TOTALHOUSES][hPos][1]); cache_get_value_name_float(0, "Pos3", HouseInfo[TOTALHOUSES][hPos][2]); cache_get_value_name_float(0, "Pos4", HouseInfo[TOTALHOUSES][hPos][3]); cache_get_value_name_float(0, "Pos5", HouseInfo[TOTALHOUSES][hPos][4]); cache_get_value_name_float(0, "Pos6", HouseInfo[TOTALHOUSES][hPos][5]); cache_get_value_name_int(0, "Int", HouseInfo[TOTALHOUSES][hInt]); cache_get_value_name_int(0, "Price", HouseInfo[TOTALHOUSES][hPrice]); cache_get_value_name_int(0, "Heal", HouseInfo[TOTALHOUSES][hHeal]); cache_get_value_name_int(0, "Owned", HouseInfo[TOTALHOUSES][hOwned]); cache_get_value_name(0, "Owner", HouseInfo[TOTALHOUSES][hOwner]); new str[64], str1[64]; f(str, "Недвижимость\nСтоимость:%d\nИспользуйте\n/buyhouse", HouseInfo[TOTALHOUSES][hPrice]); f(str1, "Недвижимость\nВладелец:%s", HouseInfo[TOTALHOUSES][hOwner]); HouseInfo[rows][hPick] = CreatePickup(19523, 23, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], -1); if(HouseInfo[TOTALHOUSES][hOwned] == 0) HouseInfo[TOTALHOUSES][hText] = Create3DTextLabel(str, 0xEAC700AA, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], 20.0, 0, 1); if(HouseInfo[TOTALHOUSES][hOwned] == 1) HouseInfo[TOTALHOUSES][hText] = Create3DTextLabel(str1, 0xEAC700AA, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], 20.0, 0, 1); printf("%d дом загружен", TOTALHOUSES); TOTALHOUSES++; } printf("Всего домов: %d", TOTALHOUSES); return 1; } publics: UpdateHouse(houseid) { new rows = houseid; query_string = "UPDATE `houses` SET"; DestroyPickup(HouseInfo[houseid][hPick]); Delete3DTextLabel(HouseInfo[houseid][hText]); new str[64], str1[64]; f(str, "Недвижимость\nСтоимость:%d\nИспользуйте\n/buyhouse", HouseInfo[rows][hPrice]); f(str1, "Недвижимость\nВладелец:%s", HouseInfo[rows][hOwner]); HouseInfo[rows][hPick] = CreatePickup(19523, 23, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], -1); if(HouseInfo[rows][hOwned] == 0) HouseInfo[rows][hText] = Create3DTextLabel(str, 0xEAC700CC, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], 20.0, 0, 1); if(HouseInfo[rows][hOwned] == 1) HouseInfo[rows][hText] = Create3DTextLabel(str1, 0xEAC700CC, HouseInfo[rows][hPos][0], HouseInfo[rows][hPos][1], HouseInfo[rows][hPos][2], 20.0, 0, 1); format(query_string, sizeof(query_string), "%s `Pos1` = '%f',", query_string, HouseInfo[rows][hPos][0]); format(query_string, sizeof(query_string), "%s `Pos2` = '%f',", query_string, HouseInfo[rows][hPos][1]); format(query_string, sizeof(query_string), "%s `Pos3` = '%f',", query_string, HouseInfo[rows][hPos][2]); format(query_string, sizeof(query_string), "%s `Pos4` = '%f',", query_string, HouseInfo[rows][hPos][3]); format(query_string, sizeof(query_string), "%s `Pos5` = '%f',", query_string, HouseInfo[rows][hPos][4]); format(query_string, sizeof(query_string), "%s `Pos6` = '%f',", query_string, HouseInfo[rows][hPos][5]); format(query_string, sizeof(query_string), "%s `Int` = '%d',", query_string, HouseInfo[rows][hInt]); format(query_string, sizeof(query_string), "%s `Price` = '%d',", query_string, HouseInfo[rows][hPrice]); format(query_string, sizeof(query_string), "%s `Heal` = '%d',", query_string, HouseInfo[rows][hHeal]); format(query_string, sizeof(query_string), "%s `Owned` = '%d',", query_string, HouseInfo[rows][hOwned]); format(query_string, sizeof(query_string), "%s `Owner` = '%s' ", query_string, HouseInfo[rows][hOwner]); format(query_string, sizeof(query_string), "%s WHERE `ID` = '%s'", query_string, HouseInfo[rows][hID]); mysql_tquery(mysql_connect_ID, query_string, !"", !""); return 1; } cmd:buyhouse(playerid) { flood new kasl, string[125]; for(new i = 0; i < TOTALHOUSES; i++) { if(PlayerToPoint(3.0, playerid, HouseInfo[i][hPos][0], HouseInfo[i][hPos][1], HouseInfo[i][hPos][2])) { if(HouseInfo[i][hOwned] != 0) return SendClientMessage(playerid, -1, "{ffff00}Недвижимость приобретена другим игроком."); if(PlayerInfo[playerid][pCash] < HouseInfo[i][hPrice]) return nomoney(HouseInfo[i][hPrice]) format(HouseInfo[i][hOwner], 24, "%s", PlayerInfo[playerid][pName]); PlayerInfo[playerid][pCash] -= HouseInfo[i][hPrice]; HouseInfo[i][hOwned] = 1; UpdateHouse(i); return 1; } } nohouse; return 1; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты