Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система Домов для [new:pwn]

Статус
В этой теме нельзя размещать новые ответы.

Merlin

Умник


Мод : Appliquer Role Play
Автор Вырезки : Merlin

К #define
PHP:
#define G                   "{cdf93e}"
#define S                   "{ff684d}"
В enum pInfo Вставим,
PHP:
	pHouse,
	pHouseCash,
Ниже мода добавим
PHP:
enum hInfo
{
Float:hEntrancex,
Float:hEntrancey,
Float:hEntrancez,
Float:hExitx,
Float:hExity,
Float:hExitz,
Float:hCarx,
Float:hCary,
Float:hCarz,
Float:hCarc,
	hOwner[MAX_PLAYER_NAME],
	hValue,
	hHel,
	hInt,
	hLock,
	hOwned,
	hTakings,
	hDate,
	hKlass,
	hVec,
	hVcol1,
	hVcol2,
	hPickup,
	hMIcon,
	hVehSost
};
new HouseInfo[680][hInfo];
Далее в public OnGameModeInit()//события, когда загружается мод, добавим
PHP:
 LoadProperty();
	for(new h = 0; h < sizeof(HouseInfo); h++)
	{
		new pickups;
		switch(HouseInfo[h][hOwned])
		{
			case 0:
  			{
				HouseInfo[h][hPickup] = CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],-1);
				pickups++;
				HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, -1, 0, -1, -1, 200);
			}
  			case 1:
  			{
				HouseInfo[h][hPickup] = CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],-1);
				pickups++;
				HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, -1, 0, -1, -1, 200);
			}
		}
	}
В public OnPlayerConnect(playerid)//Вызывается когда игрок подключается к серверу.
PHP:
PlayerInfo[playerid][pHouse] = -1;
Затем в public OnPlayerPickUpPickup(playerid, pickupid) добавим
PHP:
for(new h = 0; h < sizeof(HouseInfo); h++)
	{
		if(PlayerToPoint(1, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
		{
            new string[255];
			switch(HouseInfo[h][hOwned])
			{
		    	case 0:
				{
				    switch(HouseInfo[h][hKlass])
				    {
  						case 0: format(string, sizeof(string), "{cdf93e}Цена дома: {ff684d}%d{cdf93e} вирт\nКласс дома: {ff684d}Эконом{cdf93e}\nНомер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/buyhouse",HouseInfo[h][hValue],h);
  						case 1: format(string, sizeof(string), "{cdf93e}Цена дома: {ff684d}%d{cdf93e} вирт\nКласс дома: {ff684d}Эконом +{cdf93e}\nНомер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/buyhouse",HouseInfo[h][hValue],h);
			 			case 2: format(string, sizeof(string), "{cdf93e}Цена дома: {ff684d}%d{cdf93e} вирт\nКласс дома: {ff684d}Средний{cdf93e}\nНомер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/buyhouse",HouseInfo[h][hValue],h);
  						case 3: format(string, sizeof(string), "{cdf93e}Цена дома: {ff684d}%d{cdf93e} вирт\nКласс дома: {ff684d}Люкс{cdf93e}\nНомер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/buyhouse",HouseInfo[h][hValue],h);
  						case 4: format(string, sizeof(string), "{cdf93e}Цена дома: {ff684d}%d{cdf93e} вирт\nКласс дома: {ff684d}Элитный{cdf93e}\nНомер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/buyhouse",HouseInfo[h][hValue],h);
				    }
				    ShowPlayerDialog(playerid,16,DIALOG_STYLE_MSGBOX,"{00ffa6}Покупка недвижимости{FFFFFF}",string,"Купить","Закрыть");
				}
				case 1:
				{
				    switch(HouseInfo[h][hKlass])
				    {
  						case 0: format(string, sizeof(string), "{cdf93e}Владелец дома: {ff684d}%s{cdf93e}\nКласс дома: {ff684d}Эконом\n{cdf93e}Номер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/enter",HouseInfo[h][hOwner],h);
  						case 1: format(string, sizeof(string), "{cdf93e}Владелец дома: {ff684d}%s{cdf93e}\nКласс дома: {ff684d}Эконом +\n{cdf93e}Номер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/enter",HouseInfo[h][hOwner],h);
			 			case 2: format(string, sizeof(string), "{cdf93e}Владелец дома: {ff684d}%s{cdf93e}\nКласс дома: {ff684d}Средний\n{cdf93e}Номер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/enter",HouseInfo[h][hOwner],h);
  						case 3: format(string, sizeof(string), "{cdf93e}Владелец дома: {ff684d}%s{cdf93e}\nКласс дома: {ff684d}Люкс\n{cdf93e}Номер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/enter",HouseInfo[h][hOwner],h);
  						case 4: format(string, sizeof(string), "{cdf93e}Владелец дома: {ff684d}%s{cdf93e}\nКласс дома: {ff684d}Элитный\n{cdf93e}Номер дома: {ff684d}%d{FFFFFF}\n\n\n{cdf93e}Так же используйте {ff684d}/enter",HouseInfo[h][hOwner],h);
				    }
				    ShowPlayerDialog(playerid,13,DIALOG_STYLE_MSGBOX,"{00ffa6}Недвижимость{FFFFFF}",string,"Войти","Закрыть");

				}
			}
		}
	}
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
	//=========
	case 13:
		{
			if(response)
			{
				for(new i = 0; i < sizeof(HouseInfo); i++)
				{
					if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
					{
						if(PlayerInfo[playerid][pHouse] == i || HouseInfo[i][hLock] == 0)
						{
							SetPlayerInterior(playerid,HouseInfo[i][hInt]);
							SetPlayerVirtualWorld(playerid,i+50);
							SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
						}
						else SendClientMessage(playerid, -1,"{ff0000}[X]{FFFFFF} Дверь у данного дома - закрыта");
					}
				}
			}
			else return true;
		}
		case 14:
		{
			if(response)
			{
				switch(listitem)
				{
					case 0:
					{
						if(HouseInfo[PlayerInfo[playerid][pHouse]][hLock] == 1)
						{
							HouseInfo[PlayerInfo[playerid][pHouse]][hLock] = 0;
							GameTextForPlayer(playerid, "House ~g~Unlocked", 5000, 6);
							PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
							return true;
						}
						else if(HouseInfo[PlayerInfo[playerid][pHouse]][hLock] == 0)
						{
							HouseInfo[PlayerInfo[playerid][pHouse]][hLock] = 1;
							GameTextForPlayer(playerid, "House ~r~Locked", 5000, 6);
							PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
							return true;
						}
					}
					case 1: ShowPlayerDialog(playerid,15,DIALOG_STYLE_MSGBOX,"{00ffa6}Продажа{FFFFFF}","{cdf93e}Вы действuтельно хотuте продать свой дом?","Да","Нет");
				}
			}
			else return true;
		}
		case 15:
		{
			new house = PlayerInfo[playerid][pHouse];
			if(response)
			{
				for(new h = 0; h < sizeof(HouseInfo); h++)
				{
			    	new string[145];
					HouseInfo[house][hHel] = 0;
					HouseInfo[house][hLock] = 1;
					HouseInfo[house][hOwned] = 0;
					HouseInfo[house][hVec] = 0;
					HouseInfo[house][hVcol1] = -1;
					HouseInfo[house][hVcol2] = -1;
					if(HouseInfo[h][hKlass] == 0)
			    	{
						HouseInfo[house][hTakings] = 100;
			    	}
			    	if(HouseInfo[house][hKlass] == 1)
			    	{
						HouseInfo[house][hTakings] = 200;
			    	}
		   		    if(HouseInfo[house][hKlass] == 2)
			    	{
						HouseInfo[house][hTakings] = 300;
			    	}
			    	if(HouseInfo[house][hKlass] == 3)
			    	{
						HouseInfo[house][hTakings] = 400;
			    	}
			    	if(HouseInfo[house][hKlass] == 4)
			    	{
						HouseInfo[house][hTakings] = 500;
			    	}
					strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 255);
                	GivePlayerCash(playerid,HouseInfo[house][hValue]);
					format(string, sizeof(string), ""G"Вы продали свой дом за "S"%d {cdf93e}вирт", HouseInfo[house][hValue]);
					SendClientMessage(playerid, -1, string);
					PlayerInfo[playerid][pHouse] = -1;
					SetPlayerInterior(playerid,0);
					SetPlayerVirtualWorld(playerid, 0);
					SetPlayerPos(playerid,HouseInfo[house][hEntrancex],HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]);
					BuyHouse();
					OnPropUpdate();
					return true;
				}
			}
			else return true;
		}
  		case 16:
		{
			if(response)
			{
	    		new Float:oldposx, Float:oldposy, Float:oldposz;
	    		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
	    		for(new h = 0; h < sizeof(HouseInfo); h++)
				{
					if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
					{
						if(PlayerInfo[playerid][pHouse] != -1 && strcmp(GN(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0) return SendClientMessage(playerid, -1, "{ff0000}[X]{FFFFFF} У Вас уже есть дом.");
						if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue])
						{
			    			new string[120];
							format(string,sizeof(string),"{ff0000}[X]{FFFFFF} У вас недостаточно денег для покупки дома. Требуется {ff684d}%d{FFFFFF} вирт",HouseInfo[h][hValue]);
							SendClientMessage(playerid,-1,string);
							return true;
			    		}
						PlayerInfo[playerid][pHouse] = h;
						HouseInfo[h][hOwned] = 1;
						HouseInfo[h][hHel] = 0;
					    if(HouseInfo[h][hKlass] == 0)
			    		{
							HouseInfo[h][hTakings] = 100;
			    		}
			    		if(HouseInfo[h][hKlass] == 1)
			    		{
							HouseInfo[h][hTakings] = 200;
			    		}
		   		    	if(HouseInfo[h][hKlass] == 2)
			    		{
							HouseInfo[h][hTakings] = 300;
			    		}
			    		if(HouseInfo[h][hKlass] == 3)
			    		{
							HouseInfo[h][hTakings] = 400;
			    		}
			    		if(HouseInfo[h][hKlass] == 4)
			    		{
							HouseInfo[h][hTakings] = 500;
			    		}
			    		//HouseCar[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], HouseInfo[h][hCarx], HouseInfo[h][hCary], HouseInfo[h][hCarz],HouseInfo[h][hCarc], PlayerInfo[playerid][pCarCvet1], PlayerInfo[playerid][pCarCvet2], 5600);
						//SpawnHouseCar[playerid] = true;
						strmid(HouseInfo[h][hOwner], GN(playerid), 0, strlen(GN(playerid)), 255);
						GivePlayerCash(playerid, -HouseInfo[h][hValue]);
						SetPlayerInterior(playerid,HouseInfo[h][hInt]);
						SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
						SetPlayerVirtualWorld(playerid,h+50);
						SendClientMessage(playerid,-1,""G"Вы приобрели дом. Для управления домом, используйте "S"/hmenu");
						OnPropUpdate();
						BuyHouse();
						return true;
					}
    			}
			}
			else return true;
  		}
		case 17:
		{
			if(response)
			{
				for(new i = 0; i < sizeof(HouseInfo); i++)
				{
					if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
					{
						if (GetPlayerVirtualWorld(playerid) == i+50)
						{
							SetPlayerInterior(playerid,0);
							SetPlayerVirtualWorld(playerid,0);
							SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
							return true;
						}
					}
				}
			}
			else return true;
		}
	//==========================================================================
в public SavePlayer(playerid)
PHP:
	ini_setInteger(iniFile,"House",PlayerInfo[playerid][pHouse]);
В OnPlayerLogged(playerid, password[])
PHP:
ini_getInteger(iniFile,"House",PlayerInfo[playerid][pHouse]);
В КОНЦЕ МОДА В ЛЮБОЕ МЕСТО ПО ВЫБОРУ
PHP:
stock BuyHouse()
{
	for(new h = 0; h < sizeof(HouseInfo); h++)
	{
	    new pickups;
		if(HouseInfo[h][hOwned] == 0)
		{
			DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
			DestroyPickup(HouseInfo[h][hPickup]);
			AddStaticPickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
			pickups++;
			HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, -1, 0, -1, -1, 200);
		}
		if(HouseInfo[h][hOwned] == 1)
		{
			DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
			DestroyPickup(HouseInfo[h][hPickup]);
			AddStaticPickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
			pickups++;
			HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, -1, 0, -1, -1, 200);
		}
	}
	return true;
}
stock OnPropUpdate()
{
	new idx;
	new File: file2;
	while (idx < sizeof(HouseInfo))
	{
		new coordsstring[256];
		format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%f,%f,%f\n",
		HouseInfo[idx][hEntrancex],
		HouseInfo[idx][hEntrancey],
		HouseInfo[idx][hEntrancez],
		HouseInfo[idx][hExitx],
		HouseInfo[idx][hExity],
		HouseInfo[idx][hExitz],
		HouseInfo[idx][hOwner],
		HouseInfo[idx][hValue],
		HouseInfo[idx][hHel],
		HouseInfo[idx][hInt],
		HouseInfo[idx][hLock],
		HouseInfo[idx][hOwned],
		HouseInfo[idx][hTakings],
		HouseInfo[idx][hVec],
		HouseInfo[idx][hVcol1],
		HouseInfo[idx][hVcol2],
		HouseInfo[idx][hKlass],
		HouseInfo[idx][hVehSost],
		HouseInfo[idx][hCarx],
		HouseInfo[idx][hCary],
		HouseInfo[idx][hCarz],
		HouseInfo[idx][hCarc]);
		if(idx == 0)
		{
			file2 = fopen("house/property.cfg", io_write);
		}
		else
		{
			file2 = fopen("house/property.cfg", io_append);
		}
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
	idx = 0;
	return true;
}
stock SaveHome()
{
	new idx;
	new File: file2;
	while (idx < sizeof(HouseInfo))
	{
		new coordsstring[256];
		format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%f,%f,%f\n",
		HouseInfo[idx][hEntrancex],
		HouseInfo[idx][hEntrancey],
		HouseInfo[idx][hEntrancez],
		HouseInfo[idx][hExitx],
		HouseInfo[idx][hExity],
		HouseInfo[idx][hExitz],
		HouseInfo[idx][hOwner],
		HouseInfo[idx][hValue],
		HouseInfo[idx][hHel],
		HouseInfo[idx][hInt],
		HouseInfo[idx][hLock],
		HouseInfo[idx][hOwned],
		HouseInfo[idx][hTakings],
		HouseInfo[idx][hVec],
		HouseInfo[idx][hVcol1],
		HouseInfo[idx][hVcol2],
		HouseInfo[idx][hKlass],
		HouseInfo[idx][hVehSost],
		HouseInfo[idx][hCarx],
		HouseInfo[idx][hCary],
		HouseInfo[idx][hCarz],
		HouseInfo[idx][hCarc]);
		if(idx == 0)
		{
			file2 = fopen("house/rezerv/property.cfg", io_write);
		}
		else
		{
			file2 = fopen("house/rezerv/property.cfg", io_append);
		}
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
	return true;
}
stock GN(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	return name;
}
stock LoadProperty()
{
	new arrCoords[25][64];
	new strFromFile2[256];
	new File: file = fopen("house/property.cfg", io_read);
	if (file)
	{
		new idx;
		while (idx < sizeof(HouseInfo))
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, ',');
			HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
			HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
			HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
			HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
			HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
			HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
			strmid(HouseInfo[idx][hOwner], arrCoords[6], 0, strlen(arrCoords[6]), -1);
			HouseInfo[idx][hValue] = strval(arrCoords[7]);
			HouseInfo[idx][hHel] = strval(arrCoords[8]);
			HouseInfo[idx][hInt] = strval(arrCoords[9]);
			HouseInfo[idx][hLock] = strval(arrCoords[10]);
			HouseInfo[idx][hOwned] = strval(arrCoords[11]);
			HouseInfo[idx][hTakings] = strval(arrCoords[12]);
			HouseInfo[idx][hVec] = strval(arrCoords[13]);
			HouseInfo[idx][hVcol1] = strval(arrCoords[14]);
			HouseInfo[idx][hVcol2] = strval(arrCoords[15]);
			HouseInfo[idx][hKlass] = strval(arrCoords[16]);
			HouseInfo[idx][hVehSost] = strval(arrCoords[17]);
			HouseInfo[idx][hCarx] = floatstr(arrCoords[18]);
			HouseInfo[idx][hCary] = floatstr(arrCoords[19]);
			HouseInfo[idx][hCarz] = floatstr(arrCoords[20]);
			HouseInfo[idx][hCarc] = floatstr(arrCoords[21]);
			idx++;
		}
		fclose(file);
		print("Дома успешно загружены!");
	}
	return true;
}
stock GivePlayerCash(playerid,amount)
{
    GivePlayerMoney(playerid,amount);
    PlayerInfo[playerid][pCash] += amount;
}
stock GetPlayerCash(playerid)
{
    return PlayerInfo[playerid][pCash];
}
stock SetPlayerCash(playerid,amount)
{
    ResetPlayerMoney(playerid);
	GivePlayerMoney(playerid, amount);
	PlayerInfo[playerid][pCash] = amount;
}
Команды
PHP:
CMD:exit(playerid,params[])
{
    if(PlayerInfo[playerid][pLogged] == 0 || PlayerInfo[playerid][pRegister] == 0) return SendClientMessage(playerid,-1,"{ff0000}[X]{FFFFFF} Вы не авторизованы на сервере");
	for(new i = 0; i < sizeof(HouseInfo); i++)
	{
		if (PlayerToPoint(2.0, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
		{
			if (GetPlayerVirtualWorld(playerid) == i+50)
			{
				ShowPlayerDialog(playerid,17,DIALOG_STYLE_MSGBOX,"{00ffa6}Недвижимость{FFFFFF}","{cdf93e}Вы действuтельно хотuте выйтu uз дома?", "Выйти", "Отмена");
			}
		}
	}
	return true;
}
PHP:
CMD:hmenu(playerid,params[])
{
	if(PlayerInfo[playerid][pHouse] != -1 && strcmp(GN(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
	{
		new home = PlayerInfo[playerid][pHouse];
		if(PlayerToPoint(35, playerid,HouseInfo[home][hExitx], HouseInfo[home][hExity], HouseInfo[home][hExitz]))
		{
		    ShowPlayerDialog(playerid,14,DIALOG_STYLE_LIST,"{00ffa6}Управленuе домом{FFFFFF}","Состояние двери {34d800}[Открыть]{ffffff} / {ff0000}[Закрыть]{ffffff}\nПродать дом","Выбрать","Закрыть");
			return true;
		}
		else return SendClientMessage(playerid, -1, "{ff0000}[X]{FFFFFF} Вы не у себя в доме");
	}
	else return SendClientMessage(playerid, -1, "{ff0000}[X]{FFFFFF} У Вас нет дома");
}
PHP:
CMD:buyhouse(playerid,params[])
{
	new Float:oldposx, Float:oldposy, Float:oldposz;
	GetPlayerPos(playerid, oldposx, oldposy, oldposz);
	for(new h = 0; h < sizeof(HouseInfo); h++)
	{
		if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
		{
			if(PlayerInfo[playerid][pHouse] != -1 && strcmp(GN(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0) return SendClientMessage(playerid, -1, "{ff0000}[X]{FFFFFF} У Вас уже есть дом.");
			if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue])
			{
				new string[120];
				format(string,sizeof(string),"{ff0000}[X]{FFFFFF} У Вас недостаточно денег для покупки дома. Требуется {ff684d}%d{FFFFFF} вирт",HouseInfo[h][hValue]);
				SendClientMessage(playerid,-1,string);
				return true;
			}
			PlayerInfo[playerid][pHouse] = h;
			HouseInfo[h][hOwned] = 1;
			HouseInfo[h][hHel] = 0;
			if(HouseInfo[h][hKlass] == 0)
			{
				HouseInfo[h][hTakings] = 400;
			}
			if(HouseInfo[h][hKlass] == 1)
			{
				HouseInfo[h][hTakings] = 800;
			}
			if(HouseInfo[h][hKlass] == 3)
			{
				HouseInfo[h][hTakings] = 1200;
			}
			strmid(HouseInfo[h][hOwner], GN(playerid), 0, strlen(GN(playerid)), 255);
			GivePlayerCash(playerid, -HouseInfo[h][hValue]);
			SetPlayerInterior(playerid,HouseInfo[h][hInt]);
			SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
			SetPlayerVirtualWorld(playerid,h+50);
			SendClientMessage(playerid,-1,"{cdf93e}Вы прuобрели дом. Для управленuя домом, используйте{FFFFFF} {ff684d}/hmenu{FFFFFF}");
			OnPropUpdate();
			BuyHouse();
			return true;
		}
 	}
	return true;
}
Скачать Дома:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу