Создания BIS разговоров. Автор: PIONEER [SARMAT]

 

Как делать?

1) Описываем классы в briefing.bikb

2) Пишем активацию в инит.скф

3) Пишем актвиации разговора куда надо


Файл briefing.bikb

 

class Sentences

{

            class STRD_PIO1

            {

                        text = "$STRD_PIO1";

                        speech[] = {"\pioneer\PIO1.ogg"};

                        class Arguments {};

            };

            class Interrupted

            {

                        text = "";

                        speech[] = {""};

                        class Arguments {};

                       

            };

};

class Arguments{};

class Special{};

startWithVocal[] = {hour};

startWithConsonant[] = {europe, university};

 

Файл: briefing_cooper.sqf

 

BIS_convMenu = [];

// начало разговора с ии

if (_from == lisa && _sentenceId == "" && !(_this kbWasSaid [_from, _topic, "STRD_PIO1", 999999])) then {
            BIS_convMenu = BIS_convMenu + [[localize "STRD_PIO1", _topic, "STRD_PIO1", []]]
};
// условие и выбор реплик
 if (lisa kbWasSaid [player, "briefing", "STRD_PIO2", 3]) then {
            BIS_convMenu = BIS_convMenu + [[localize "STRD_PIO3", _topic, "STRD_PIO3", []]];
            BIS_convMenu = BIS_convMenu + [[localize "STRD_PIO5", _topic, "STRD_PIO5", []]];
};


BIS_convMenu

Файл init.sqs

 

  lisa kbAddTopic ["briefing", "kb\briefing.bikb", ""];

  player kbAddTopic ["briefing", "kb\briefing.bikb", "", {call compile preprocessFileLineNumbers "kb\briefing_cooper.sqf"}];

 


Команда на разговор:

lisa kbTell [player, "briefing", "STRD_PIO2"];

 

Условие по окончанию разговора:

waitUntil {player kbWasSaid [lisa, "briefing", "STRD_PIO3", 3]};

 

If (player kbWasSaid [lisa, "briefing", "STRD_PIO3", 3]) then {};


Остальное:

Позывной группы

group this setGroupId ["ЗАСЛОН", "GroupColor0"];

Бессмертие

this allowdamage false

Индефикация персонажа

player setidentity "max";

Дескрипшен:

class CfgIdentities

{

      // Имя данного класса ссылается на ID солдата, указанный в файле missions.sqm

      class p1

      {

            // Имя, отображающееся в командах

            name = "$STR_p1";

            // Лицо

            face = "Face12_camo6";

            // Наличие очков. Доступные значения:

            // "none" = без очков

            // "spectacles" = обычные очки

            // "sunglasses" = темные очки

            // "Spectacles"

            // "RoundGlasses"

            // "SunGlasses"

            // "Tactical"

            // "BlackSun"

            // "BlueSun"

            // "RedSun"

            // "GreenSun"

            //"LHD_glasses"

            glasses="none";

            // Голос. Доступные значения:

            // Male01EN, Male03CZ, Male02RU. EN по англ, CZ по чернорус, RU по рус (01-05).

            speaker = "Male01RU";

            // Тональность голоса

            pitch = 1.0;

      };

 };