Доступ к архиву

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

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

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

Создание диалога по пикапу с выбором действия.

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

Азат_TM

Новичок
И так приветствую Вас ув.форумчане, мой первый урок, думаю многим новичкам поможет.
Диалог по пикапу с выбором действия это, допустим диалог "Куда вы хотите пройти?" и будут даны два варианта. Крыша, Офис.
Поэтому примеру можно будет сделать что угодно с выбором действия.
И так приступим:
Сначала создадим собственно сам пикап.
ко всем new
PHP:
new pickuplessons;
Далее идем в public OnPlayerUpdate(playerid)
И ищем где стоят все пикапы, пример:
PHP:
CreatePickup(1318,23,11.11,12.12,13.13)
Там делаем пикап:
PHP:
pickuplessons = CreatePickup(19130,23,x,y,z, виртуальный мир)
Объясняю:
x,y,z - это координаты пикапа. виртуальный мир это игровой мир в котором будет находится пикап. если пикап стоит не в здании, или еще что то просто не ставьте не чего после Z закрывайте скобку.
Что бы найти координаты пикапа, зайдите в игру, и где хотите поставить пикап пропишите /save
Далее идите в "Мои Документы >> Gta San Anderas User Files >> Samp >> savedposition"
Там скопируйте координаты, вы их сразу увидите, выглядит примерно так:
AddPlayerClass(456,13.001,-46.11,1316.11,41.3681,0,0)
Скопировать нам нужно только 13.001,-46.11,1316.11, это и есть x,y,z.
И так вставили координаты, и пикап создан.
Теперь нам нужно самое главное создать действие для пикапа.
OnPlayerPickUpPickup(playerid, pickupid)
В нем после любого пикапа вставляйте вот это:
PHP:
if(pickupid == pickuplessons)
    {
        ShowPlayerDialog(playerid,8050,DIALOG_STYLE_MSGBOX,"Лестница","Куда Вы хотите выйти?","Крыша","Офис");
    }
playerid - Думаю все знают что это.
8050 - это ид диалога, далее вы поймете, что это.
DIALOG_STYLE_MSBOX - это стиль диалогового окна.
А далее уже все ясно.
Теперь идём в public OnPlayerDialogResopnse(playerid,dialogid)
И там как я говорил 8050 - ид диалога пригодится. Создаем диалог.
PHP:
if(dialogid == 8050)
{
    if(response)
    {
      SetPlayerPos(playerid,146.3793,1875.2629,17.8359); 
      SetPlayerVirtualWorld(playerid, 126); 
      SetPlayerFacingAngle(playerid,180); 
      SetPlayerInterior(playerid,3); 
    }
    else
    { 
      SetPlayerPos(playerid,146.3793,1875.2629,17.8359); 
      SetPlayerVirtualWorld(playerid, 126); 
      SetPlayerFacingAngle(playerid,180); 
    }
}
Разбираем..
SetPlayerPos - это позиция игрока, то есть куда вы хотите переместить игрока, проделываем такую же операцию с save.
SetPlayerWorld - игровой мир игрока. если равен 0 просто уберите эту строку.
SetPlayerFacingAngle - это угол поворота игрока, то есть где x,y,z копируете еще и угол поворота, он идет сразу после координаты z.
SetPlayerInterior - интерьер игрока, если равен 0 убираем. Обычно его используют для перемещения игрока в участок полиции, мерии и т.п.
То есть серверные объекты.
Сначала идет это
PHP:
if(response)
    {
      SetPlayerPos(playerid,146.3793,1875.2629,17.8359); 
      SetPlayerVirtualWorld(playerid, 126); 
      SetPlayerFacingAngle(playerid,180); 
      SetPlayerInterior(playerid,3); 
    }
Это если вы будете нажимать на "Крыша" то есть первая кнопка слева направо.
А это
PHP:
else
    { 
      SetPlayerPos(playerid,146.3793,1875.2629,17.8359); 
      SetPlayerVirtualWorld(playerid, 126); 
      SetPlayerFacingAngle(playerid,180); 
    }
Не первая кнопка, то есть вторая, "Офис".

Вот вроде и все, от +сиков не откажусь, прошу заметить что мой первый урок, и все мнения по этому поводу я буду выслушивать. И делать выводы.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу