Перейти к содержанию
Авторизация  
Alonso

Проблема с домами

Рекомендуемые сообщения

Alonso

Вот вся система домов.

Короче. Когда куплю дом, нет пикапа, текста, и тд.

Так же багнутая 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;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.