ФЭНДОМ


Написал Aidan Nutting, ведущий дизайнер.

Файл:SoD ru.jpg

СКРИПТ СЛУЧАЙНОГО ДИАЛОГА. Править

/*
cn_rnd14
  Составляя условие диалога, есть вероятность 25% что это будет сказано.
  Убедитесь, что созданные условия размещены в начале диалога, чтобы поднять шанс до максимального.
  Создал Ghostdreamer для "NWN1", модифицировал Paul V для "Ведьмака".
*/
int StartingConditional ()
{
    int iResult;
    iResult = d100 () <26;
    return iResult;
}

Вышеприведенный скрипт - пример скрипта случайного диалога. В примере указан условный скрипт на первый диалоговый узел из четырех. Второму диалоговому узлу необходимо присвоить сходный условный скрипт, но вместо

iResult = d100 () <26;

должно быть:

iResult = d100 () <51;

Д'жинни прокручивает 100 возможностей, когда инициализирует диалог. Если результат <26, запускается данный диалоговый узел. Если результат >25, проверке подвергается следующий диалог.

Важно заметить, что скрипты должны быть размещены в порядке от наименьшей вероятности до наибольшей,
сверху вниз, в диалоговых узлах в .dlg. Это нужно затем, что Д'жинни читает сверху вниз, и если главный
узел будет iResult = d100 () <100; тогда этот диалог будет проигрываться все 100% времени и потеряется
общий смысл скрипта.


Более того, каждый диалоговый узел в .dlg-файле должен иметь отдельный условный скрипт с равными возможностями прокрутки каждого, обусловленными общим числом диалоговых узлов. Что это означает? Предположим, у вас есть 10 диалоговых узлов, которые должны случайным образом выбираться каждый раз при обращении Геральта к данному персонажу; тогда условный скрипт будет таким как показан выше, но со следующими показателями:

  • iResult = d100 () <11;
  • iResult = d100 () <21;
  • iResult = d100 () <31;
  • iResult = d100 () <41;
  • iResult = d100 () <51;
  • iResult = d100 () <61;
  • iResult = d100 () <71;
  • iResult = d100 () <81;
  • iResult = d100 () <91;
  • iResult = d100 () <100;


СОГЛАШЕНИЕ О НАЗВАНИЯХ СКРИПТОВ.Править

В конце концов у вас на жестком диске наберется очень много сохраненных скриптов, и их поиск может занять много времени. Чтобы упростить поиск, и для удобства использования, было придумано следующее соглашение о названии скриптов.

cn_rnd14 (представляет собой условие-случай - 1-й из 4. iResult = <26)
cn_rnd24 (представляет собой условие-случай - 2-й из 4. iResult = <51)
cn_rnd15 (представляет собой условие-случай - 1-й из 5. iResult = <21)
и т.д.


Надеемся, вам это поможет.


Шаблон:Руководства от REDFlame Interactive

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики