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

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

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

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

Мануал Система гаража

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

Roy_Miller

Умник
Привет всем пользователям

Вот скрины моего гаража кто играл на Raknet тот поймет только я незнаю как сделать чтобы в каком то доме был а в другом не было и уменя не сохраняется посмотрим как будет у вас


И так начнем
добавляем в enum hInfo
PHP:
Float:hGary,
Float:hGarz,
Float:hGarc,
добавляем в команду /fixcar
PHP:
new House = PlayerInfo[playerid][pHouseKey];
			DestroyVehicle(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);
			}
Эти координаты меняйте на свои
PHP:
2213.0229492,-2960.9060059,685.0310059
В public OnPlayerKeyStateChange
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)
					{
						ShowPlayerDialog(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);
				}
			}
		}
	}
Добавляем в LoadProperty у вас может по другому СМОТРИТЕ ЧТОБЫ ЦИФРЫ ШЛИ ПО ПОРЯДКУ!!
и увеличте число допустим у вас было было 20 я добавил 4 штуки то пишем 23
PHP:
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]);
B SaveProperty
PHP:
HouseInfo[idx][hGary],
		HouseInfo[idx][hGarz],
		HouseInfo[idx][hGarc],
		HouseInfo[idx][hGarage],
Добавляем в конец мода
PHP:
stock IsAGarage(playerid)
{
	if(IsPlayerInRangeOfPoint(playerid,10.0,2213.0229492,-2960.9060059,685.0310059))return true; // Äîìà Ãàðàæ ¹ 1
	return false;
}
В public OnDialogResponse
PHP:
case 1997:
		{
			if(response)
			{
				if(listitem == 0)
				{
					new House = PlayerInfo[playerid][pHouseKey];
					SetPlayerPos(playerid, 2211.5476,-2967.2781,685.5250);
					SetPlayerFacingAngle(playerid, 1.1584);
					SetPlayerVirtualWorld(playerid,House);
					SetPlayerInterior(playerid, 0);
					OnPlayerCommandText(playerid,"/fixcar");
				}
				if(listitem == 1)
				{
					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]);
								PlayerInfo[playerid][pInt] = 0;
							}
						}
					}
				}
			}
		}
Автор: rkv1
Автор мануала: Roy_Miller
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу