Добавляем интерьер в pickup.
Здравствуйте уважаемые пользователи форума Pro-Pawn.
Сегодня я расскажу как же сделать так, что когда мы встаем на пикап ( На пример: Мэрия ), и на телепортирует в определенный интерьер.
Давайте начнём, где же взять координаты интерьеров и id интерьера.
Для этого есть специальный сайт Кликабельная ссылка.
Давайте разберём что там и с чем едят.
Первый столбик отвечает за название интерьера, в данном случае у нас "Planning Dept".
Второй столбик отвечает за ID интерьера, в данном случае у нас "3".
Третий столбик отвечает за координаты телепортации в интерьер, в данном случае у нас "384.808624,173.804992,1008.382812".
И так, давайте создадим наш Pickup.
Ко всем переменным добавляем:
PHP код:
new pickup_mayority[2];
Почему именно "[2]", потому что у нас будет 2 пикапа, то есть вход и выход.
Идем дальше..
Нам надо поставить сами пикапы в какое-либо место, я дам вам готовые координаты мерии ( пикапов ).
В OnGameModeInit(), добавляем:
PHP код:
pickup_mayority[0] = CreatePickup(1318,23,1481.0634,-1772.3105,18.7958); // Мерия г.Лос-Сантос (Вход)
pickup_mayority[1] = CreatePickup(1318,23,390.7653,173.8120,1008.3828,1); // Мерия г.Лос-Сантос (Выход)
Отлично, теперь мы поставили наши пикапы, но они стоят визуально, никаких действий они не выполняют.
Для того чтобы они ожили, работаем дальше...
В OnPlayerPickUpPickup(playerid, pickupid), добавляем тело пикапа.
PHP код:
if(pickupid == pickup_mayority[0]) // Мерия г.Лос-Сантос ( Вход )
{
SetPlayerPos(playerid,387.4944,173.4876,1008.3828); // Координаты куда мы попадем.
SetPlayerFacingAngle(playerid,89.9938); // Координаты куда смотрит наша голова.
SetPlayerInterior(playerid,3); // Это ID интерьера, то есть мерия.
SetPlayerVirtualWorld(playerid,1); // Виртуальный мир.
SetCameraBehindPlayer(playerid); // Поправляем голову ровно по центру.
return 1;
}
if(pickupid == pickup_mayority[1]) // Мерия г.Лос-Сантос ( Выход )
{
SetPlayerPos(playerid,1480.8832,-1769.0471,18.7958); // Координаты куда мы попадем когда выйдем.
SetPlayerFacingAngle(playerid,0.6852); // Координаты куда смотрит голова.
SetPlayerInterior(playerid,0); // ID интерьера, в данном случае ставим "0" ( улица )
SetPlayerVirtualWorld(playerid,0); // Виртуальный мир возвращаем на "0".
SetCameraBehindPlayer(playerid); // Выравниваем голову.
return 1;
}
Всё, теперь у нас есть полноценный pickup.
Всем спасибо, думаю я подробно всё описал.
С вами был Сhupa, удачи в работе!:)