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

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

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

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

Мануал Создаем актеров на сервер и разговор с ними.

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

Justin_Line

Дебютант
Здравствуйте, решил написать о том, как создать актеров и разговор с ними, через диалог, не судите строго)
Автор: Shark73


Для начала добавим инклуд. |
PHP:
#include <a_actor>
#include <streamer>

Ищем паблик OnGameModeInit и добавим
PHP:
new bot[2];
bot[0] = CreateActor(70, 275.2365, 1860.4010, 8.7578, 176.7623);
CreateDynamic3DTextLabel("{FFFFFF}Для взаимодействия\nНажмите {B03131}ALT",0xB03131FF, 275.2365, 1860.4010, 8.7578, 3.0);
ApplyActorAnimation(bot[0], "WEAPONS", "SHP_TRAY_POSE", 4.1, 1, 0, 0, 0, 0);

bot[1] = CreateActor(188, 279.2365, 1860.4010, 8.7578, 176.7623);
CreateDynamic3DTextLabel("{FFFFFF}Для взаимодействия\nНажмите {B03131}ALT",0xB03131FF, 275.2365, 1860.4010, 8.7578, 3.0);
ApplyActorAnimation(bot[0], "WEAPONS", "SHP_TRAY_POSE", 4.1, 1, 0, 0, 0, 0);
 new bot[2]; // 2 - количество ботов.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
bot[0] = CreateActor(70, 275.2365, 1860.4010, 8.7578, 176.7623);

bot[0] - первый бот
CreateActor - создает бота
70 - скин бота

275.2365, - X
1860.4010, 0 Y КООРДИНАТЫ
8.7578, - Z
176.7623 - Куда смотрит бот
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CreateDynamic3DTextLabel("{FFFFFF}Для взаимодействия\nНажмите {B03131}ALT",0xB03131FF, 275.2365, 1860.4010, 8.7578, 3.0);

CreateDynamic3DTextLabel - создает текст возле бота
0xB03131FF - цвет текста.
275.2365, - X
1860.4010, - Y КООРДИНАТЫ БОТА
8.7578, - Z

3.0 - расстояние видимости текста
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ApplyActorAnimation(bot[0], "WEAPONS", "SHP_TRAY_POSE", 4.1, 1, 0, 0, 0, 0);

ApplyActorAnimation - добавляем анимацию для бота.
bot[0] - массив первого бота.
WEAPONS - библиотека анимаций

SHP_TRAY_POSE - анимация
4.1, 1, 0, 0, 0, 0 // 4.1 - скорость анимации (по умолчанию 4.1) // 1 - повторение анимации (1 - вкл. | 0 - выкл.)
=================================================================================================
Идем в паблик OnPlayerKeyStateChange и добавляем
PHP:
   if(newkeys == 1024)
    {
        if(IsPlayerInRangeOfPoint(playerid, 1.0, 275.2365,1860.4010,8.7578))
        {
            ShowPlayerDialog(playerid, 100 ,DIALOG_STYLE_LIST, "{458B74}Доктор Филл", "Не суди строго!\nЧто мне делать?", "Закрыть", "");
        }
        if(IsPlayerInRangeOfPoint(playerid, 1.0, 274.3978,1873.1890,8.7649))
        {
            ShowPlayerDialog(playerid, 101 ,DIALOG_STYLE_LIST, "{458B74}Ильнар", "Как тебя зовут?\nУ тебя есть задания для меня?", "Закрыть", "");
        }
    }
Дальше идем в OnDialogResponse
PHP:
	if(dialogid == 100)
	{
        if(response)
        {
                if(listitem == 0)
                {
                    ShowPlayerDialog(playerid, 30, DIALOG_STYLE_MSGBOX, "{458B74}Не судите строго!)","Не судите строго мое 'Творчество' :3 ","Далее","Отмена");
                }
                if(listitem == 1)
                {
                    ShowPlayerDialog(playerid, 22, DIALOG_STYLE_MSGBOX, "{458B74}Начать продвигаться","{FFAF00}Для начала\nПосле.","Хорошо","");
                }
        }
	}
	if(dialogid == 101)
	{
        if(response)
        {
                if(listitem == 0)
                {
                    ShowPlayerDialog(playerid, 101, DIALOG_STYLE_MSGBOX, "{458B74}Мое имя","{FFAF00}Меня зовут Ильнар.","Понятно","Отмена");
                }
                if(listitem == 1)
                {
                    ShowPlayerDialog(playerid, 101, DIALOG_STYLE_MSGBOX, "{458B74}Задания","{FFAF00}На выходе есть охрана,\nони дают начальный набор выжившего,\nподойди к нему, и спроси задания.","Хорошо","");
                }
        }
	}
              }
        }
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу