PDA

Просмотр полной версии : [Мануал] Добавляем интерьер в pickup.



P!ncho
19.05.2013, 10:39
Здравствуйте уважаемые пользователи форума Pro-Pawn.
Сегодня я расскажу как же сделать так, что когда мы встаем на пикап ( На пример: Мэрия ), и на телепортирует в определенный интерьер.
Давайте начнём, где же взять координаты интерьеров и id интерьера.
Для этого есть специальный сайт Кликабельная ссылка (http://weedarr.wikidot.com/interior).
Давайте разберём что там и с чем едят.



http://s2.hostingkartinok.com/uploads/images/2013/02/457e88baf2e2b8f55440189afaaca026.png


Первый столбик отвечает за название интерьера, в данном случае у нас "Planning Dept".
Второй столбик отвечает за ID интерьера, в данном случае у нас "3".
Третий столбик отвечает за координаты телепортации в интерьер, в данном случае у нас "384.808624,173.804992,1008.382812".


И так, давайте создадим наш Pickup.
Ко всем переменным добавляем:

new pickup_mayority[2];
Почему именно "[2]", потому что у нас будет 2 пикапа, то есть вход и выход.

Идем дальше..
Нам надо поставить сами пикапы в какое-либо место, я дам вам готовые координаты мерии ( пикапов ).
В OnGameModeInit(), добавляем:

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), добавляем тело пикапа.

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, удачи в работе!:)

Mike
19.05.2013, 17:51
Полезно для новичков!

P!ncho
20.05.2013, 08:25
Полезно для новичков!
Для них родных писал.

Takeshi
23.05.2013, 22:38
КрасаУчик=D

William_Pilipa
20.06.2013, 16:42
Бред, распиши какая функция отвечает за вход какая за поворот игрока, какая за ид интерьера. Пока не чего не буду ставить...