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

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

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

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

Мануал Система Домов + Гараж для [new.pwn]

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

Merlin

Умник
Мод: Relative СITE | |
Автор: Merlin

К #include
PHP:
#include <morphinc>
в forward
PHP:
forward CustomPickups();
forward LockCar(carid);
К new
PHP:
new Float:PosPic[3][MAX_PLAYERS];
new bool:dPic[MAX_PLAYERS];
new CreatedCar;
new IsLocked[MAX_VEHICLES];
new gCarLock[MAX_VEHICLES];
new bool:EngineState[MAX_PLAYERS];
new CarIdHouse[MAX_PLAYERS];
После в
enum pInfo
PHP:
	pHouseKey,
Рядом
PHP:
enum hInfo
{
Float:hEntrancex,
Float:hEntrancey,
Float:hEntrancez,
Float:hExitx,
Float:hExity,
Float:hExitz,
Float:hCarx,
Float:hCary,
Float:hCarz,
Float:hCarc,
Float:hGarx,
Float:hGary,
Float:hGarz,
Float:hGarc,
	hOwner[MAX_PLAYER_NAME],
	hValue,
	hHel,
	hInt,
	hLock,
	hOwned,
	hTakings,
	hClass,
	hPickup,
	hMIcon,
	hGarage,
	hOplata
};
new HouseInfo[801][hInfo];
В public OnGameModeInit()
PHP:
LoadProperty();
SetTimer("CustomPickups", 1, true);
	//==================================================  ========================
	for(new h = 0; h < sizeof(HouseInfo); h++)
	{
		if(HouseInfo[h][hOwned] == 0)
		{
			HouseInfo[h][hPickup] = CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], -1);
			HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1);
		}
		if(HouseInfo[h][hOwned] == 1)
		{
			HouseInfo[h][hPickup] = CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], -1);
			HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1);
		}
	}
    //==================================================  ========================
В
public OnPlayerConnect(playerid)
PHP:
PlayerInfo[playerid][pHouseKey] = 999;
Далее в stock SetPlayerSpawn(playerid)
PHP:
new house = PlayerInfo[playerid][pHouseKey];
    SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);//plevel
    SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);//skib
	if(house != 999)
	{
		SetPlayerInterior(playerid, HouseInfo[house][hInt]);
		SetPlayerVirtualWorld(playerid, house+50);
		SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity], HouseInfo[house][hExitz]);
		PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
		return true;
	}
PHP:
if(newkeys == 1024)
	{
		new house = PlayerInfo[playerid][pHouseKey];
		for(new i = 0; i < sizeof(HouseInfo); i++)
		{
			if(PlayerToPoint(5, playerid,2211.5476,-2967.2781,685.1125))
			{
				SetPlayerInterior(playerid, HouseInfo[house][hInt]);
				SetPlayerVirtualWorld(playerid, house+50);
				SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity], HouseInfo[house][hExitz]);
				PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
			}
			if(PlayerToPoint(3, playerid, HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
			{
				if(GetPlayerVirtualWorld(playerid) == i+50)
				{
					if(HouseInfo[house][hGarage] == 1)
					{
						SPD(playerid, 1997, DIALOG_STYLE_LIST, "Выход","Войти в гараж\nВыйти из дома", "Выбрать", "Отмена");
					}
                	if(HouseInfo[house][hGarage] == 0)
                	{
						SetPlayerInterior(playerid, 0);
						SetPlayerVirtualWorld(playerid, 0);
						SetPlayerPos(playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
						PlayerInfo[playerid][pInt] = 0;
					}
				}
			}
		}
	}
	if(newkeys == KEY_CROUCH)
	{
		new house = PlayerInfo[playerid][pHouseKey];
		if(HouseInfo[house][hGarage] == 1)
		{
			new tmpcar = GetPlayerVehicleID(playerid);
			if(IsAGarage(playerid))
			{
				if(IsPlayerInAnyVehicle(playerid))
				{
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
					SetVehicleVirtualWorld(tmpcar,0);
					SetVehiclePos(tmpcar,HouseInfo[house][hGarx], HouseInfo[house][hGary], HouseInfo[house][hGarz]);
					SetVehicleZAngle(tmpcar, HouseInfo[house][hGarc]);
				}
			}
			if(PlayerToPoint(1.8,playerid,HouseInfo[house][hGarx], HouseInfo[house][hGary], HouseInfo[house][hGarz]))
			{
				if(IsPlayerInAnyVehicle(playerid))
				{
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid,house);
					SetVehicleVirtualWorld(tmpcar,house);
					SetVehiclePos(tmpcar,2213.0229492,-2960.9060059,685.0310059);
					SetVehicleZAngle(tmpcar, 0.0000);
				}
			}
		}
	}
К public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Данная функция вызывается сервером, когда игрок выбирает любую кнопку/пункт в созданном диалоге ShowPlayerDialog.

[HR][/HR]
playerid ID игрока, который совершил действие с диалогом
dialogid ID диалога, в котором игрок совершил действие.
response Возвращает 1 - при выборе первой кнопки и 0 при выборе второй кнопки
listitem ID выбранного пункта из списка
inputtext[] Текст, введенный игроком в поле ввода или текст из выбранного пункта списка
PHP:
case 140:
		{
			if(response)
			{
				for(new i = 0; i < sizeof(HouseInfo); i++)
				{
					if(PlayerToPoint(2, playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
					{
						if(PlayerInfo[playerid][pHouseKey] == i || HouseInfo[i][hLock] == 0) return SetPlayerInterior(playerid, HouseInfo[i][hInt]), SetPlayerVirtualWorld(playerid, i+50), SetPlayerPos(playerid, HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]), PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
						else return GameTextForPlayer(playerid, "~r~Closed", 5000, 1);
					}
				}
			}
			else return true;
		}
		case 150:
		{
			if(response)
			{
				new sendername[MAX_PLAYER_NAME];
				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][pHouseKey] != 999 && strcmp(sendername, HouseInfo[PlayerInfo[playerid][pHouseKey]][hOwner], true) == 0) return SendClientMessage(playerid, COLOR_GREY, "У вас уже есть дом");
						if(PlayerInfo[playerid][pCash] > HouseInfo[h][hValue])
						{
							PlayerInfo[playerid][pHouseKey] = h;
							HouseInfo[h][hOwned] = 1;
							HouseInfo[h][hHel] = 0;
							HouseInfo[h][hTakings] = 1000;
							GetPlayerName(playerid, sendername, sizeof(sendername));
							strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
							PlayerInfo[playerid][pCash] -= HouseInfo[h][hValue];
							SetPlayerInterior(playerid,HouseInfo[h][hInt]);
							SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
							PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
							SetPlayerVirtualWorld(playerid, h+50);
							SendClientMessage(playerid, COLOR_WHITE, "Поздравляем с покупкой!");
							SendClientMessage(playerid, 0xFFD800AA, "Помощь по командам /mm [0] Дом");
							SaveProperty();
							LoadTuning(playerid);
							BuyHouse(h);
							return true;
						}
						else return SendClientMessage(playerid, COLOR_GREY, "У вас нет столько денег");
					}
				}
			}
			else return true;
		}
Находим stock SavePlayer(playerid)
PHP:
ini_setInteger(iniFile,"House",PlayerInfo[playerid][pHouseKey]);
В stock OnPlayerLogin(playerid,password[])
PHP:
ini_getInteger(iniFile,"House",PlayerInfo[playerid][pHouseKey]);
В конце мода
PHP:
//=====================================
public CustomPickups()
{
	new string[256];
	NameTimer();
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			if(!PlayerToPoint(3.0, i, PosPic[0][i], PosPic[1][i], PosPic[2][i])) dPic[i] = false;
			for(new h = 0; h < sizeof(HouseInfo); h++)
			{
				if(PlayerToPoint(1.5, i, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
				{
					if(GetPlayerState(i) != PLAYER_STATE_DRIVER)
					{
						if(dPic[i] == true) continue; else GetPlayerPos(i,PosPic[0][i],PosPic[1][i],PosPic[2][i]),dPic[i] = true;
						new ttext[32];
						if(HouseInfo[h][hGarage] == 1) ttext = "{00FF00}Присутствует{FFFFFF}";
						else if(HouseInfo[h][hGarage] == 0) ttext = "{FF0000}Не присутствует{FFFFFF}";
						if(HouseInfo[h][hOwned] == 1)
						{
							new ttextt[32];
							if(IsPlayerConnected(GetPlayerID(HouseInfo[h][hOwner]))) ttextt = "{22ff00}[Online]{F2EEF0}";
							else if(!IsPlayerConnected(GetPlayerID(HouseInfo[h][hOwner]))) ttextt = "{ff001c}[Offline]{F2EEF0}";
							switch(HouseInfo[h][hClass])
							{
							case 0: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tВременное жильё\nКоличество Комнат:\t\t3\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 1: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tЭконом класс\nКоличество Комнат:\t\t4\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 2: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tСредний класс\nКоличество Комнат:\t\t5\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 3: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tБольшой дом\nКоличество Комнат:\t\t7\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 4: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tВип класс\nКоличество Комнат:\t\t6\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 5: format(string, sizeof(string), "{FFFFFF}Владелец:\t\t\t{27D0E3}%s %s{FFFFFF}\n\nТип:\t\t\t\tЛюкс класс\nКоличество Комнат:\t\t8\nНомер дома:\t\t\t%d\nСтоймость:\t\t\t%d\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт",HouseInfo[h][hOwner],ttextt,h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							}
							ShowPlayerDialog(i, 140, DIALOG_STYLE_MSGBOX, "{FFFF17}Дом занят", string, "Войти", "Отмена");
							return true;
						}
						else
						{
							switch(HouseInfo[h][hClass])
							{
							case 0: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tВременное жильё\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t3\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 1: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tЭконом класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t4\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 2: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tСредний класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t5\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 3: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tБольшой дом\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t7\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 4: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tВип класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t6\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							case 5: format(string, sizeof(string), "{FFFFFF}Тип:\t\t\t\tЛюкс класс\nНомер дома:\t\t\t%d\n\nСтоймость:\t\t\t%d\nКоличество Комнат:\t\t8\n{FFFFFF}Гараж в доме:\t\t\t%s\nЕжедневная плата:\t\t%d Вирт", h,HouseInfo[h][hValue],ttext,HouseInfo[h][hOplata]);
							}
							ShowPlayerDialog(i, 150, DIALOG_STYLE_MSGBOX, "{17FF28}Дом свободен", string, "Купить", "Отмена");
							return true;
						}
					}
				}
			}
		}
	}
	return true;
}
stock GetPlayerID(string[])
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			for(new house = 0; house < sizeof(HouseInfo); house++)
			{
				new PlayerName[MAX_PLAYER_NAME];
				GetPlayerName(i, PlayerName, sizeof(PlayerName));
				if(strcmp(PlayerName, string, true, strlen(string)) == 0 && PlayerInfo[i][pHouseKey] == house) return i;
			}
		}
	}
	return INVALID_PLAYER_ID;
}
stock BuyHouse(h)
{
	if(HouseInfo[h][hOwned] == 0)
	{
		DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
		DestroyPickup(HouseInfo[h][hPickup]);
		CreatePickup(1273, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
		HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 31, COLOR_WHITE, 0, -1, -1);
	}
	if(HouseInfo[h][hOwned] == 1)
	{
		DestroyDynamicMapIcon(HouseInfo[h][hMIcon]);
		DestroyPickup(HouseInfo[h][hPickup]);
		CreatePickup(1272, 23, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
		HouseInfo[h][hMIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, COLOR_WHITE, 0, -1, -1);
	}
}
stock LoadProperty()
{
	new time = GetTickCount();
	new arrCoords[24][64];
	new strFromFile2[256];
	new File: file = fopen("house.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]), 255);
			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][hClass] = strval(arrCoords[13]);
			HouseInfo[idx][hCarx] = floatstr(arrCoords[14]);
			HouseInfo[idx][hCary] = floatstr(arrCoords[15]);
			HouseInfo[idx][hCarz] = floatstr(arrCoords[16]);
			HouseInfo[idx][hCarc] = floatstr(arrCoords[17]);
			HouseInfo[idx][hGarx] = floatstr(arrCoords[18]);
			HouseInfo[idx][hGary] = floatstr(arrCoords[19]);
			HouseInfo[idx][hGarz] = floatstr(arrCoords[20]);
			HouseInfo[idx][hGarc] = floatstr(arrCoords[21]);
			HouseInfo[idx][hGarage] = strval(arrCoords[22]);
			HouseInfo[idx][hOplata] = strval(arrCoords[23]);
			idx ++;
		}
		fclose(file);
	}
	printf("[Загрузка домов]: Было загружено - %d потрачено %d (ms)", sizeof(HouseInfo), GetTickCount() - time);
}
stock SaveProperty()
{
	new idx;
	new File: file2;
	while(idx < sizeof(HouseInfo))
	{
		new coordsstring[128];
		format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%s,%d,%d,%d,%d,%d,%d,%d,%f,%f,%f  ,%f,%f,%f,%f,%f,%d,%d\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][hClass],
		HouseInfo[idx][hCarx],
		HouseInfo[idx][hCary],
		HouseInfo[idx][hCarz],
		HouseInfo[idx][hCarc],
		HouseInfo[idx][hGarx],
		HouseInfo[idx][hGary],
		HouseInfo[idx][hGarz],
		HouseInfo[idx][hGarc],
		HouseInfo[idx][hGarage],
		HouseInfo[idx][hOplata]);
		if(idx == 0) file2 = fopen("logs/house.cfg", io_write);
		else file2 = fopen("logs/house.cfg", io_append);
		fwrite(file2, coordsstring);
		idx ++;
		fclose(file2);
	}
}
stock LoadTuning(playerid)
{
	if(PlayerInfo[playerid][pHouseKey] != 999)
	{
		new house = PlayerInfo[playerid][pHouseKey];
		CreatedCar = CarIdHouse[playerid];
		if(HouseInfo[house][hGarage] == 0)
		{
			CarIdHouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], HouseInfo[house][hCarx], HouseInfo[house][hCary], HouseInfo[house][hCarz], HouseInfo[house][hCarc], PlayerInfo[playerid][pColor], PlayerInfo[playerid][pColor1], 86400);
		}
		if(HouseInfo[house][hGarage] == 1)
		{
			CarIdHouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], 2213.0229492,-2960.9060059,685.0310059, 0.0000, PlayerInfo[playerid][pColor], PlayerInfo[playerid][pColor1], 86400);
			SetVehicleVirtualWorld(CarIdHouse[playerid],house);
		}
		CreatedCar ++;
		LockCar(CarIdHouse[playerid]);
		IsLocked[CarIdHouse[playerid]] = 1;
		//Fuell[CarIdHouse[playerid]] = PlayerInfo[playerid][pFuelcar];
		EngineState[CarIdHouse[playerid]] = false;
		SetVehicleNumberPlate(CarIdHouse[playerid], MakeRandomNumber());
		AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pWheels]);
		AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pNitro]);
		AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pHydrawlic]);
		AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pAirCollector1]);
		AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pAirCollector2]);
		if(PJ(CarIdHouse[playerid])) ChangeVehiclePaintjob(CarIdHouse[playerid], PlayerInfo[playerid][pPaintJob]), AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pSpoiler]), AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pBumper1]), AddVehicleComponent(CarIdHouse[playerid], PlayerInfo[playerid][pBumper2]);
	}
}
После в stock CreateObjects()
PHP:
//================================= Гаражи Дом =============================
	CreateObject(3677,2208.1142578,-2964.2187500,678.5499878,0.0000000,0.0000000,179.9  945068); //object(lawnhousegreyls) (1)
	CreateObject(19364,2217.6220703,-2957.0249023,685.8629761,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2217.6220703,-2960.2070312,685.8629761,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2217.6220703,-2963.3820801,685.8629761,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2217.6220703,-2966.5759277,685.8629761,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2215.9641113,-2968.2351074,685.8629761,0.0000000,0.0000000,90.00  00000); //object(wall012) (17)
	CreateObject(19364,2212.7609863,-2968.2351074,685.8629761,0.0000000,0.0000000,90.00  00000); //object(wall012) (17)
	CreateObject(19364,2209.5681152,-2968.2351074,685.8560181,0.0000000,0.0000000,90.00  00000); //object(wall012) (17)
	CreateObject(19364,2208.0480957,-2966.5759277,685.8560181,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2208.0480957,-2963.3820801,685.8560181,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2208.0480957,-2960.2070312,685.8560181,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(19364,2208.0480957,-2957.0249023,685.8560181,0.0000000,0.0000000,0.000  0000); //object(wall012) (17)
	CreateObject(11319,2212.8750000,-2955.4460449,684.6849976,0.0000000,0.0000000,90.00  00000); //object(sprayshpdr2_sfse) (1)
	CreateObject(19437,2208.4689941,-2955.4208984,685.8560181,0.0000000,0.0000000,90.00  00000); //object(wall077) (1)
	CreateObject(19437,2217.2800293,-2955.4208984,685.8560181,0.0000000,0.0000000,90.00  00000); //object(wall077) (2)
	CreateObject(11393,2218.0654297,-2964.0976562,685.6309814,0.0000000,0.0000000,269.9  945068); //object(hubprops1_sfs) (2)
	CreateObject(1535,2210.8579102,-2968.1459961,684.1129761,0.0000000,0.0000000,0.000  0000); //object(gen_doorext14) (1)
	CreateObject(2610,2217.1489258,-2960.3889160,684.9379883,0.0000000,0.0000000,270.0  000000); //object(cj_p_fileing2) (1)
	CreateObject(1764,2217.0878906,-2960.7839355,684.1129761,0.0000000,0.0000000,270.0  000000); //object(low_couch_2) (1)
	CreateObject(2843,2216.6101074,-2962.1350098,684.5380249,0.0000000,0.0000000,0.000  0000); //object(gb_bedclothes02) (1)
	CreateObject(2689,2217.4609375,-2964.1950684,686.2639771,0.0000000,0.0000000,270.0  000000); //object(cj_hoodie_2) (1)
	CreateObject(4141,2197.0371094,-2962.4279785,708.3629761,270.0000000,0.0000000,0.0  000000); //object(hotelexterior1_lan) (1)
	CreateObject(11392,2210.1999512,-2960.3540039,684.1309814,0.0000000,0.0000000,0.000  0000); //object(hubfloorstains_sfse) (2)
В конце
PHP:
stock IsAGarage(playerid)
{
	if(IsPlayerInRangeOfPoint(playerid,10.0,2213.02294  92,-2960.9060059,685.0310059))return true; // Дома Гараж № 1
	return false;
}
Ну вот и всё )
Проблемы будут пишите !
Скачать : | файл с домами
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу