Griffon
Mar 5 2007, 16:09
QUOTE(Brese @ Mar 4 2007, 16:19) [snapback]105364[/snapback]
Возник такой вопрос. Как сделать, чтобы персонаж начинал разговор первым?
Хочется сделать стражника охраняющего врата. Когда я подхожу к вратам он должен спрашивать: "чего мне надо?". А потом либо нападать, либо пропускать в зависимости от ответа. Хочу вставить в диалог возможность попытки обмануть стражника. Если герой достаточно каризматичьный и может убеждать то у него получится, если нет, то страж нападёт.
Размещаешь триггер разговора и вперед. Нужно всего лишь в переменных внести тэг нпс и разговора.
Как реализовать такую вещь?
Мне надо, чтобы при входе в локацию (то есть как только она загружается) стартовал диалог. Как сделать триггер я знаю, но мне надо чтобы это происходило сразу, а не когда персонаж куда то сдвинется. То есть загрузился например первый модуль и сразу раз и пошел диалог кинематографичного вида, ну как в начале официальной кампании.
а что мешает использовать:
- триггер, нарисованный под местом старта (те он сработает сразу)
- событие onEnter стартовой локации
?
Скажите пожалуйста, можно ли заговорить с предметом(с указателем,например)? И как сделать, чтобы диалог был односторонний, тоесть лишь приветствие NPC, и это приветствие у него будет написано над головой?
-fenix-
May 11 2007, 15:58
Цитата(Livi @ May 11 2007, 14:31) [snapback]108064[/snapback]
Скажите пожалуйста, можно ли заговорить с предметом(с указателем,например)?
Можно, просто напиши и поставь ему диалог, как и для НПС.
Цитата(Livi @ May 11 2007, 14:31) [snapback]108064[/snapback]
И как сделать, чтобы диалог был односторонний, тоесть лишь приветствие NPC, и это приветствие у него будет написано над головой?
Функции ActionSpeakString() и SpeakString()
VitNWN2
Feb 29 2008, 19:51
Объясните тупому нубу, как присоединить определённое существо к группе персонажа. У меня есть строка в диалоге:"Присоединяйся к нашей армии, Василий!" В сторке Actions я прописываю что-то вроде ga_party_add и жму на кнопочку Refresh. В появившихся окошках есть надписи. Одна из них прописывается(String), две другие-числа(Integer). Что нужно прописывать в String? Ни имя, ни тэг, ни ResRef объекта оно не принимает. Подскажите, что я сделал не так и что туда вписывать? Желательно поэтапно и по слогам.
VitNWN2
Mar 2 2008, 19:49
Народ, ну помогите тупице! Не получается у меня добавить к своей группе кролика-предателя! Подскажите хоть, как henchman'a добавить...
VitNWN2
Mar 3 2008, 12:49
Если кто-то прочитал, то что было написано здесь раньше, то знайте - я поторопился с выводами. Lex, мой редактор вообще такого скрипта не знает. Прописываю его в Аctions, жму на Refresh и... ничего, написанное мною просто исчезает. Может вы этот скрипт для тулсета НВН1?
SadoMazaXist
Nov 10 2009, 23:41
А вики у меня одного не работает?
Привет. У меня вопрос. Я создал аудио запись к диалогу. Как мне теперь эту запись вставить в игру????
И каким должен быть формат?? Я понял как засунуть голос свой в разговор, но увы. НПС не хочет шевелить губами! Кто знает, почему?
Griffon
Mar 9 2010, 10:32
Желательно начинать с диалога, а не записи. В принципе там ничего сложного:
1. создаешь диалог
2. затем пишешь .wav файл для каждой ветки диалога... скажем РС1.wav, РС2.wav, РС3.wav... NPC1.wav, NPC2.wav, NPC3.wav и т.д.
3. кидаешь все звуковые файлы в c:\my documents\neverwinter nights 2\override, чтобы получить к ним доступ в редакторе
4. запускаем редактор и открываем нужный диалог... там есть четыре закладки Conditions, Actions, Node, Animations
5. нам нужна Node. открываешь закладку, затем ищешь Behavior (выделено жирным шрифтом)... здесь нам нужен блок Sound. рядом с пустой ячейкой есть стрелка. жмешь её и из списка доступных звуковых дорожек (твои также должны быть доступны, если правильно разместил их в папку override) выбираешь нужную.
6. далее повторяем вышеописанную операцию для каждой строки диалога.
7. не забываем сохранить измененный диалог.
8. запускаешь игру и радуешься жизни.
Цитата(anybit @ Mar 9 2010, 10:19)

НПС не хочет шевелить губами! Кто знает, почему?
он и не будет шевелить, т.к. для этого нужна сихронизация
Как добиться этой синхронизации?? Звук я вставил, но как то смешно выглядит НПС. А хотелось бы, чтоб и губами пошевелил... Хоть малость
Ну конечно можно представить, что все в игре чревовещатели...
Griffon
Mar 9 2010, 13:08
Если хоть малость, то ищи на nwvault.ign.com, там был инструмент создающий FXE файлы. В самой компании персонажи тоже не всегда попадали с мимикой.
Kcapra
Mar 13 2010, 11:45
Вообще-то для того чтобы неписи шевелили губами достаточно выставить нужный аппиранс в свойствах диалога, вкладка Voiceover.
Moltean
Jun 21 2010, 17:18
Здравствуйте все.Пытался приделать диалог к двери.Не смог.Очень нужна была говорящая дверь,помогите пожалуйста
И еще-можно ли как-нибудь приделать пункт "Поговорить" к меню,которое выпадает,если щелкнуть правой кнопкой,туда,где его нету?
Merkuta
Jun 21 2010, 18:09
Цитата(Moltean @ Jun 21 2010, 17:18)

И еще-можно ли как-нибудь приделать пункт "Поговорить" к меню,которое выпадает,если щелкнуть правой кнопкой,туда,где его нету?
Ты имеешь ввиду контекстное меню? Если да, надо редактировать файл contextmenu.xml в UI/default. Туториал по работе с ГУИ смотри здесь:
http://nwvault.ign.com/View.php?view=NWN2T....Detail&id=
Neverwinter Script
void main()
{
object oPC = GetLastUsedBy(); // последний, кто использовал объект (кликнул по нему)
object oDoor = OBJECT_SELF; // Дверь
if (!GetIsPC(oPC)) // если использовавший НЕ является PC
return;
else
{
AssignCommand(oDoor, ClearAllActions());
AssignCommand(oPC, ClearAllActions());
AssignCommand(oDoor, ActionStartConversation());
}
}
Moltean, дверь делаешь не статической, вставляешь ей диалог, в слот OnFalenOpen (или что-то такое) вставляешь скрипт, который я писал по памяти. Посему проверь его компильнув. Если функции с ошибкой, нажми F2 и появятся примеры функций.
Можно ставить скрипт на OnUsed двери.
Moltean
Jun 21 2010, 20:50

Я в скриптинге так-о-о-о-й нуб.Там все время пишет ошибку,как я понял в 12 строке,но вроде функции правильные.В чем ошипка?
Цитата(Moltean @ Jun 21 2010, 20:50)

В чем ошипка?
Neverwinter Script
// Starts a conversation with oObjectToConverseWith - this will cause their
// OnDialog event to fire.
// - oObjectToConverseWith
// - sDialogResRef: If this is blank, the creature's own dialogue file will be used
// - bPrivateConversation
// Turn off bPlayHello if you don't want the initial greeting to play
void ActionStartConversation(object oObjectToConverseWith, string sDialogResRef="", int bPrivateConversation=FALSE, int bPlayHello=TRUE)
Принимает несколько параметров.
Moltean
Jun 21 2010, 21:22
А что мне туда конкретно написать.

Я туда в скобки все по порядку из строчки этой попихал,но не компилится он.
Neverwinter Script
void main()
{
object oPC = GetLastUsedBy(); // последний, кто использовал объект (кликнул по нему)
object oDoor = OBJECT_SELF; // Дверь
if (!GetIsPC(oPC)) // если использовавший НЕ является PC
return;
else
{
AssignCommand(oDoor, ClearAllActions());
AssignCommand(oPC, ClearAllActions());
AssignCommand(oDoor, ActionStartConversation(oPC));
}
}
Ну так смотри сразу 12-ю строку. Я забыл указать с кем начать диалог.
Moltean
Jun 22 2010, 11:56
Кто помогал-огромное спасибо,но есть еще пара вопросов:
1.Почему,если разговор запускается с триггера,нету черных рамок?
2.Камера во время разговора постоянно улетает за край карты,как сделать,чтобы она смотрела в нужное место?
Griffon
Jun 23 2010, 09:10
Цитата(Moltean @ Jun 22 2010, 12:56)

1.Почему,если разговор запускается с триггера,нету черных рамок?
Странно, такого не должно быть. Попробуй создать новый диалог.
Цитата(Moltean @ Jun 22 2010, 12:56)

2.Камера во время разговора постоянно улетает за край карты,как сделать,чтобы она смотрела в нужное место?
В редакторе диалога есть закладка - камеры - вот там и выбери какая тебе больше подходит. Камеры по умолчанию не всегда хорошо отображают говорящих. Попробуй выставить кастомную камеру на каждую строку диалога.
Moltean
Jun 27 2010, 21:27
Цитата
Странно, такого не должно быть.
Но это ,к сожалению, есть.Это только у меня что ли?Может есть какой-нибудь параметр,отвечающий за эти рамки?
Kcapra
Jul 19 2010, 09:49
Цитата(Moltean @ Jun 28 2010, 02:27)

Но это ,к сожалению, есть.Это только у меня что ли?Может есть какой-нибудь параметр,отвечающий за эти рамки?
Сделай скриншот, невидел такого ниразу
Цитата(Moltean @ Jun 22 2010, 16:56)

1.Почему,если разговор запускается с триггера,нету черных рамок?
Если еще актуально, нужно выставить значение переменной CutsceneBars = 1 в настройках триггера
Orochi
Sep 22 2010, 15:11
А как сделать в диалоге красные буквы а не синие
Orochi
May 30 2011, 11:56
Возникла проблема: Поставил Speak триггер, в Variables написал тэг непися, разговора, скорость походки, кол-во раз диалога и когда активируется. Диалог работает, но чёрного обрамления (рамки) нет, чё делать? буквы не видно на местности то
denis0k
May 30 2011, 17:48
Внешний вид диалога, если я ничего не путаю, - это фишка клиента, где-то в настройках включается. По умолчанию у всех рамка выключена (ибо мешает).
Да в том-то и дело, что рамка есть, если диалог включается нажатием на непися, а при входе в триггер нифига не включается
denis0k
Jun 2 2011, 15:17
Что-то я теперь не пойму, какая именно рамка

Точнее что общего в диалогах при хождении и при тыканьи. Сделай скрин.
Епт. Чёрная рамка сверху и снизу

Когда на непися вешаеш диалог, то всё норм, а если диалог прописать в функциях триггера, то вот такой хер получается:
Короче я разобрался: в пропетах триггера дожна стоять единичка у КатсценБар (это и есть рамка)))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.