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

Баг с домами

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

#Rips

Доброе время суток, пользователи портала. Возникла такая проблема, то, что при покупки дома не меняется диалог, то есть когда Я купил дом пикап, иконка обновляется, а диалог нет.. Покупка дома на OnPlayerEnterDynamicArea.

JKRaWAfrAX8.jpg

 

 

Код пикапов:

    if(areaid >= HouseInfo[0][hSquare] && areaid <= HouseInfo[1999][hSquare])
   	{
   	    if(GetPVarInt(playerid, "ExitHouse")) return true;
   	    new h = areaid-1;
   	    if(h == 255) return true;
		if(HouseInfo[h][hOwned] == 1)
		{
			new ttextt[32], ids = GetPlayerID(HouseInfo[h][hOwner]);
			if(FIX_IsPlayerConnected(ids)) { ttextt = "[{22ff00}Online{F2EEF0}]"; }
			else if(!FIX_IsPlayerConnected(ids)) { ttextt = "[{ff001c}Offline{F2EEF0}]"; }
			new tstext[10];
			switch(HouseInfo[h][hKlass])
			{
				case 1: tstext = "D";
				case 2: tstext = "C";
				case 3: tstext = "B";
				case 4: tstext = "A";
				case 5: tstext = "S";
				default: tstext = "Nope";
			}
			format(stringer1, sizeof(stringer1), "{FFFFFF}Владелец: %s  %s\nКласс: %s\nНомер дома: %d",HouseInfo[h][hOwner],ttextt,tstext,HouseInfo[h][hID]);
			SPD(playerid,10075,DIALOG_STYLE_MSGBOX,"Дом занят",stringer1,"Войти","Отмена");
			return true;
		}
		else 
		{
			if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue])
			{
				GameTextForPlayer(playerid,"~r~No Money",5000,1);
				return true;
			}
			new tstexr[10];
			switch(HouseInfo[h][hKlass])
			{
				case 1: tstexr = "D";
				case 2: tstexr = "C";
				case 3: tstexr = "B";
				case 4: tstexr = "A";
				case 5: tstexr = "S";
				default: tstexr = "Nope";
			}
			format(stringer1, sizeof(stringer1), "{FFFFFF}Цена: %s\nКласс: %s\nНомер дома: %d",formatInt(HouseInfo[h][hValue]),tstexr,HouseInfo[h][hID]);
			SPD(playerid,10026,DIALOG_STYLE_MSGBOX,"Дом продается",stringer1,"Купить","Отмена");
			return true;
		}
	}

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

Код покупки дай. Диалог и т.д..

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


Ссылка на сообщение
Поделиться на другие сайты
#Rips

Покупка:

		case 10026:
			{
				if(!response) return true;
				new platas;
				for(new h = 0; h < sizeof(HouseInfo); h++)
				{
					if(IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
					{
						if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(PlayerInfo[playerid][pNames], HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
						{
							SendClientMessage(playerid, 0xFFFF00AA, "У вас уже есть квартира...");
							SendClientMessage(playerid, cwhite, "(( /hmenu - [3] Продать квартиру ))");
							return true;
						}
						if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue]) return SendClientMessage(playerid, cwhite, "У вас нет столько денег на руках!");
						PlayerInfo[playerid][pPhousekey] = h;
						HouseInfo[h][hOwned] = 1;
						HouseInfo[h][hHel] = 0;
						HouseInfo[h][hTakings] = 300;
						strmid(HouseInfo[h][hOwner], PlayerInfo[playerid][pNames], 0, strlen(PlayerInfo[playerid][pNames]), 255);
						PlayerInfo[playerid][pCash] -= HouseInfo[h][hValue];
						SetPlayerInteriorEx(playerid,HouseInfo[h][hInt]);
						SetPPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
						PlayerInfo[playerid][pLocal] = h;
						if(HouseInfo[h][hKlass] == 0) platas = 50;
						else if(HouseInfo[h][hKlass] == 1) platas = 100;
						else if(HouseInfo[h][hKlass] == 2) platas = 150;
						else if(HouseInfo[h][hKlass] == 3) platas = 100;
						else if(HouseInfo[h][hKlass] == 4) platas = 200;
						else if(HouseInfo[h][hKlass] == 5) platas = 0;
						SetPlayerVirtualWorldEx(playerid,h+50);
						SendClientMessage(playerid, cwhite, "Поздравляем с покупкой!");
						SendMes(playerid,0xFFFF00AA, "Внимание! Теперь каждый час со счёта вашего дома будут снимать комунальные платежи, в размере %d вирт", platas);
						SendClientMessage(playerid,0xFFFF00AA,"Если на счету недостаточно денег, вас выселят");
						SendClientMessage(playerid,0xFFFF00AA,"Пополнить домашний счёт или узнать баланс можно через банк/банкомат (помощь: /mm => команды)");
						GameTextForPlayer(playerid, "~w~WELCOME HOME~n~~w~PRINT: ~g~/hmenu", 5000, 4);
						if(PlayerInfo[playerid][pCar] == 0) PlayerInfo[playerid][pCar] = 462;
						if(PlayerInfo[playerid][pCar2] == 0) PlayerInfo[playerid][pCar2] = 462;
						SaveHouse(h);
						new house = PlayerInfo[playerid][pPhousekey];
						if(caridhouse[playerid] == INVALID_VEHICLE_ID)
						{
							caridhouse[playerid] = CreateVehicleEx(PlayerInfo[playerid][pCar], 2485.8762,-2561.1030,2500.8086,360.0000, cColor[playerid][0][0], cColor[playerid][0][1],7200, 0);
							VEHICLE[caridhouse[playerid]][vHealth] = 1000.0;
							VEHICLE[caridhouse[playerid]][vLock] = 1;
							LinkVehicleToInterior(caridhouse[playerid], 1);
		                    SetVehicleVirtualWorld(caridhouse[playerid], house+50);
							Fuell[caridhouse[playerid]] = 100.0;
							PlayerInfo[playerid][pFuelcar] = 100.0;
							SetPVarInt(playerid, "CarNomer", 0);
							AddTune(playerid, 0);
						}
						BuyHouse(house);
						OnPlayerUpdateRL(playerid);
						return true;
					}
				}
			}

Занятой дом:

		case 10075:
			{
				if(response)
				{
					for(new i = 0; i < sizeof(HouseInfo); i++)
					{
						if(IsPlayerInRangeOfPoint(playerid, 3.0,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
						{
							if(strcmp(PlayerInfo[playerid][pNames], HouseInfo[i][hOwner], true) == 0 && PlayerInfo[playerid][pPhousekey] == 255) PlayerInfo[playerid][pPhousekey] = i;
							if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0 || PlayerInfo[playerid][pHomez] == i || IsACop(playerid) || IsAArm(playerid) || PlayerInfo[playerid][pAdmin] >= 3)
							{
								SetPlayerInteriorEx(playerid,HouseInfo[i][hInt]);
								SetPlayerVirtualWorldEx(playerid,i+50);
								SetPPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
								PlayerInfo[playerid][pLocal] = i;
								return true;
							}
							else if(IsAGang(playerid))
							{
								PlayerInfo[playerid][pLocal] = i;
								if(PlayerInfo[playerid][Texts][1] == 0) SPD(playerid, 432, DIALOG_STYLE_MSGBOX,"Предложение","Эй, хочешь вскрыть этот дом?","Дерзнуть","Свалить");
								else return SendClientMessage(playerid, cgrey, "Вы уже засветились в ограблении дома, подождите еще чуть-чуть.");
								return true;
							}
							else GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
						}
					}
				}
				else return true;
			}

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

,попробуй

		case 10026:
			{
				if(!response) return true;
				new platas;
				for(new h = 0; h < sizeof(HouseInfo); h++)
				{
					if(IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
					{
						if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(PlayerInfo[playerid][pNames], HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
						{
							SendClientMessage(playerid, 0xFFFF00AA, "У вас уже есть квартира...");
							SendClientMessage(playerid, cwhite, "(( /hmenu - [3] Продать квартиру ))");
							return true;
						}
						if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue]) return SendClientMessage(playerid, cwhite, "У вас нет столько денег на руках!");
						PlayerInfo[playerid][pPhousekey] = h;
						HouseInfo[h][hOwned] = 1;
						HouseInfo[h][hHel] = 0;
						HouseInfo[h][hTakings] = 300;
						strmid(HouseInfo[h][hOwner], PlayerInfo[playerid][pNames], 0, strlen(PlayerInfo[playerid][pNames]), 255);
						PlayerInfo[playerid][pCash] -= HouseInfo[h][hValue];
						SetPlayerInteriorEx(playerid,HouseInfo[h][hInt]);
						SetPPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
						PlayerInfo[playerid][pLocal] = h;
						if(HouseInfo[h][hKlass] == 0) platas = 50;
						else if(HouseInfo[h][hKlass] == 1) platas = 100;
						else if(HouseInfo[h][hKlass] == 2) platas = 150;
						else if(HouseInfo[h][hKlass] == 3) platas = 100;
						else if(HouseInfo[h][hKlass] == 4) platas = 200;
						else if(HouseInfo[h][hKlass] == 5) platas = 0;
						SetPlayerVirtualWorldEx(playerid,h+50);
						SendClientMessage(playerid, cwhite, "Поздравляем с покупкой!");
						SendMes(playerid,0xFFFF00AA, "Внимание! Теперь каждый час со счёта вашего дома будут снимать комунальные платежи, в размере %d вирт", platas);
						SendClientMessage(playerid,0xFFFF00AA,"Если на счету недостаточно денег, вас выселят");
						SendClientMessage(playerid,0xFFFF00AA,"Пополнить домашний счёт или узнать баланс можно через банк/банкомат (помощь: /mm => команды)");
						GameTextForPlayer(playerid, "~w~WELCOME HOME~n~~w~PRINT: ~g~/hmenu", 5000, 4);
                                                HouseInfo[h][hOwned] = 1;
						if(PlayerInfo[playerid][pCar] == 0) PlayerInfo[playerid][pCar] = 462;
						if(PlayerInfo[playerid][pCar2] == 0) PlayerInfo[playerid][pCar2] = 462;
						SaveHouse(h);
						new house = PlayerInfo[playerid][pPhousekey];
						if(caridhouse[playerid] == INVALID_VEHICLE_ID)
						{
							caridhouse[playerid] = CreateVehicleEx(PlayerInfo[playerid][pCar], 2485.8762,-2561.1030,2500.8086,360.0000, cColor[playerid][0][0], cColor[playerid][0][1],7200, 0);
							VEHICLE[caridhouse[playerid]][vHealth] = 1000.0;
							VEHICLE[caridhouse[playerid]][vLock] = 1;
							LinkVehicleToInterior(caridhouse[playerid], 1);
		                    SetVehicleVirtualWorld(caridhouse[playerid], house+50);
							Fuell[caridhouse[playerid]] = 100.0;
							PlayerInfo[playerid][pFuelcar] = 100.0;
							SetPVarInt(playerid, "CarNomer", 0);
							AddTune(playerid, 0);
						}
						BuyHouse(house);
						OnPlayerUpdateRL(playerid);
						return true;
					}
				}
			} 

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


Ссылка на сообщение
Поделиться на другие сайты
#Rips

, такая же фигня

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


Ссылка на сообщение
Поделиться на другие сайты
#Rips

Проблема решена. 

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


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

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

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

×

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

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