Азат_TM
Новичок
И так приветствую Вас ув.форумчане, мой первый урок, думаю многим новичкам поможет.
Диалог по пикапу с выбором действия это, допустим диалог "Куда вы хотите пройти?" и будут даны два варианта. Крыша, Офис.
Поэтому примеру можно будет сделать что угодно с выбором действия.
И так приступим:
Сначала создадим собственно сам пикап.
ко всем new
Далее идем в public OnPlayerUpdate(playerid)
И ищем где стоят все пикапы, пример:
Там делаем пикап:
Объясняю:
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)
В нем после любого пикапа вставляйте вот это:
playerid - Думаю все знают что это.
8050 - это ид диалога, далее вы поймете, что это.
DIALOG_STYLE_MSBOX - это стиль диалогового окна.
А далее уже все ясно.
Теперь идём в public OnPlayerDialogResopnse(playerid,dialogid)
И там как я говорил 8050 - ид диалога пригодится. Создаем диалог.
Разбираем..
SetPlayerPos - это позиция игрока, то есть куда вы хотите переместить игрока, проделываем такую же операцию с save.
SetPlayerWorld - игровой мир игрока. если равен 0 просто уберите эту строку.
SetPlayerFacingAngle - это угол поворота игрока, то есть где x,y,z копируете еще и угол поворота, он идет сразу после координаты z.
SetPlayerInterior - интерьер игрока, если равен 0 убираем. Обычно его используют для перемещения игрока в участок полиции, мерии и т.п.
То есть серверные объекты.
Сначала идет это
Это если вы будете нажимать на "Крыша" то есть первая кнопка слева направо.
А это
Не первая кнопка, то есть вторая, "Офис".
Вот вроде и все, от +сиков не откажусь, прошу заметить что мой первый урок, и все мнения по этому поводу я буду выслушивать. И делать выводы.
Диалог по пикапу с выбором действия это, допустим диалог "Куда вы хотите пройти?" и будут даны два варианта. Крыша, Офис.
Поэтому примеру можно будет сделать что угодно с выбором действия.
И так приступим:
Сначала создадим собственно сам пикап.
ко всем new
PHP:
new pickuplessons;
И ищем где стоят все пикапы, пример:
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,"Лестница","Куда Вы хотите выйти?","Крыша","Офис");
}
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);
}
Вот вроде и все, от +сиков не откажусь, прошу заметить что мой первый урок, и все мнения по этому поводу я буду выслушивать. И делать выводы.
Последнее редактирование:
