![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#121
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Chimeric @ May 4 2006, 18:21) [snapback]80750[/snapback] тот "бокс" в Свойствах не делает ничего) он для другого. зы: не забыть после разговора катсцену снять. |
![]()
Сообщение
#122
|
|
Пушкин ![]() Класс: Обыватель Характер: Chaotic Neutral Раса: Гигант NWN: Тексты ![]() |
Сейчас у меня стоит вот что в ActionTaken первых строк разговора, принадлежащих NPC.
NSS void main() { SetCutsceneMode(GetPCSpeaker(), TRUE); } Результат: разговор не происходит, начинается фильм, из которого не выбраться не Эскейпом и никак иначе. |
![]()
Сообщение
#123
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Попробуй установить режим кутсцены до начала диалога.
(Например при наступании на триггер, вход в локу и т.п...) Сообщение отредактировал Dik Morris - May 5 2006, 12:10 |
![]()
Сообщение
#124
|
|
Пушкин ![]() Класс: Обыватель Характер: Chaotic Neutral Раса: Гигант NWN: Тексты ![]() |
Что же мне, каждый раз так изворачиваться? У меня диалогов тьма. Пробовал, между прочим, вписать OWNER_SELF через oTarget вместо игрока, тогда вообще ничего не происходит.
|
![]()
Сообщение
#125
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
не, зачем же так?
стандартный скрипт на начало разговора nw_c2_default4 берем и впихиваем туда сценку: NSS //:://////////////////////////////////////////////////
//:: nw_c2_default4 /* Default OnConversation event handler for NPCs. */ //::////////////////////////////////////////////////// //:: Copyright © 2002 Floodgate Entertainment //:: Created By: Naomi Novik //:: Created On: 12/22/2002 //::////////////////////////////////////////////////// #include "nw_i0_generic" void main() { // See if what we just 'heard' matches any of our // predefined patterns int nMatch = GetListenPatternNumber(); object oShouter = GetLastSpeaker(); object oSelf = OBJECT_SELF; if (nMatch == -1) { // Not a match -- start an ordinary conversation if (GetCommandable(OBJECT_SELF)) { if (GetIsPC(oShouter)) SetCutsceneMode(oShouter, TRUE); // наша катсцена ClearAllActions(); BeginConversation(); } } // Respond to shouts from friendly non-PCs only else if (GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter)) { object oIntruder = OBJECT_INVALID; // Determine the intruder if any if(nMatch == 4) { oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER"); } else if (nMatch == 5) { oIntruder = GetLastHostileActor(oShouter); if(!GetIsObjectValid(oIntruder)) { oIntruder = GetAttemptedAttackTarget(); if(!GetIsObjectValid(oIntruder)) { oIntruder = GetAttemptedSpellTarget(); if(!GetIsObjectValid(oIntruder)) { oIntruder = OBJECT_INVALID; } } } } // Actually respond to the shout RespondToShout(oShouter, nMatch, oIntruder); } // Send the user-defined event if appropriate if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT)) { SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_DIALOGUE)); } } |
![]()
Сообщение
#126
|
|
Level 8 ![]() ![]() ![]() Класс: Теневой Танцор Характер: True Neutral Раса: Эльф ![]() |
По моему, достаточно просто сделать так:
З.Ы.:В своем модуле проверял... NSS void main() { SetCutsceneMode(GetFirstPC()); ActionStartConversation(GetFirstPC(), "Res Ref диалога"); } Можно на триггер какой-нить поставить или но OnConversation, но дык на энто не пробовал... Сообщение отредактировал Elf-Drow - May 5 2006, 15:31 |
![]()
Сообщение
#127
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(Elf-Drow @ May 5 2006, 16:31) [snapback]80835[/snapback] Можно на триггер какой-нить поставить или но OnConversation, но дык на энто не пробовал... Стандартный диалоговый скрипт (nw_c2_default4) есть у каждого НПС после его размещения на карте. Зачем находить себе лишний геморой, если можно одну строчку написать? |
![]()
Сообщение
#128
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
не знаю как ты проверял, но данный скрипт на триггере запустит диалог с триггером в режиме катсцены. а надо то с НПС.
|
![]()
Сообщение
#129
|
|
Пушкин ![]() Класс: Обыватель Характер: Chaotic Neutral Раса: Гигант NWN: Тексты ![]() |
Что ж, рецепт Феникса помог. Штука, конечно, в том, что теперь на все-все ветки в конце придется ставить скрипт, выключающий режим фильма...
|
![]()
Сообщение
#130
|
|
![]() Класс: Пьяный Мастер Характер: Lawful Good Раса: Тварь MySQL, PHP, JavaScript Порядок Времени ![]() |
Chimeric (IMG:style_emoticons/kolobok_light/wink3.gif) дык есть и стандартный скрипт запускаемый при завершении диалога, добавь еще и туда строчку
|
![]()
Сообщение
#131
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Хм. Данную проблему решал давно и с успехом. Извиняюсь что так поздно заглянул в тему...
В каждом диалоге, создаешь служебную корневую строку В САМОМ ВЕРХУ. Она никогда не появится, но будет работать на нас. На нее вешаешь скрипт первый. Самое главное запомни, если на РС навешать функцию катсцены два раза или три то будут глюки. Это даже в комментах биовар есть. Второй скрипт вешаешь на строку в диалоге. Все. NSS //::////////////////////////////////////////////// //:: Включаем РС режим катсцены //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 30.12.2005 //::////////////////////////////////////////////// int StartingConditional() { object oPC = GetPCSpeaker(); object oSelf = OBJECT_SELF; //------------------------------------------------------- if(GetCutsceneMode(oPC)==FALSE) { SetCutsceneMode(oPC, TRUE); AssignCommand(oSelf, ClearAllActions(TRUE)); AssignCommand(oSelf, ActionStartConversation(oPC)); } return FALSE; } NSS //::////////////////////////////////////////////// //:: Отключает РС режим катсцены //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 30.12.2005 //::////////////////////////////////////////////// void main() { object oPC = GetPCSpeaker(); if(GetCutsceneMode(oPC)==TRUE) { SetCutsceneMode(oPC, FALSE); } } QUOTE(Chimeric @ May 5 2006, 21:45) [snapback]80877[/snapback] выключающий режим фильма... Проверь на хертбите НПС, если он разговаривает и с объектом РС, то ретурн. Если не разговаривает то катсцену удали у РС. Так в ПЛ было. |
![]()
Сообщение
#132
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Aiwan @ May 5 2006, 20:16) [snapback]80883[/snapback] Проверь на хертбите НПС, если он разговаривает и с объектом РС, то ретурн. Если не разговаривает то катсцену удали у РС. Так в ПЛ было. там было на хб модуля |
![]()
Сообщение
#133
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
А еще проще поставить Alternative Core и все глобальные события как на ладоне. (IMG:style_emoticons/kolobok_light/biggrin.gif)
|
![]()
Сообщение
#134
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
привет,
доскажите почему на определенной фразе разговора не запускается КатСцена? Такая же как на первой страничке первая катСцена от Айвана.. |
![]()
Сообщение
#135
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
в режиме диалога катсцена не врубается, насколько я знаю. Надо до, или после.
|
![]()
Сообщение
#136
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Lex, как определить конец диалога?
У меня кат-чцена была на последней фразе диалога (IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#137
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Nashman, наши телепаты никак не могут тебе помочь? Могу сказать точную причину - ты что то затупил.
|
![]()
Сообщение
#138
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(Aiwan @ May 11 2006, 10:11) [snapback]81353[/snapback] Nashman, наши телепаты никак не могут тебе помочь? Открываю третий глаз. (IMG:style_emoticons/kolobok_light/biggrin.gif) QUOTE(Aiwan @ May 11 2006, 10:11) [snapback]81353[/snapback] Могу сказать точную причину - ты что то затупил. Судя по имеющейся инфе: QUOTE(Nashman @ May 9 2006, 23:53) [snapback]81225[/snapback] Такая же как на первой страничке первая катСцена от Айвана.. Ты что-то намудрил в проверке: NSS if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1) Или что у тебя там. |
![]()
Сообщение
#139
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Мне нужно сделать такое(это ка-сценка):
Появляется ПС возле НПС, далее после разговора выбирается путь куда они пойдут, в зависимости от варианта ответа ПС... ПС: Примерно такую сценку надо сделать (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#140
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Nachman
Ну, а какие проблемы то ? Отслеживай игрока, включай режим кутсцены, начинай диалог... PS: готовый код в этой теме никто выкладывать не будет - тема не о том. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#141
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Зачем сцека вообще? Там все в диалоге решается. Строка выход.
|
![]()
Сообщение
#142
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Модуль в первом посте топика отсутствует..
|
![]()
Сообщение
#143
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Тебе что надо то? Говори выложу (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#144
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Спасибо Айв., но уже все(IMG:style_emoticons/kolobok_light/wink3.gif) ,
Только вопрос есть у меня, знаю не очень хороший, так, как ответ где-то видел но вот где не знаю.... Вопрос: Как камерой управлять? Типа понять смыл этих цифр. |
![]()
Сообщение
#145
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(Nashman @ May 20 2006, 18:21) [snapback]82380[/snapback] Вопрос: Как камерой управлять? Типа понять смыл этих цифр. Читаем мануал: QUOTE CAMERA_TRANSITION_TYPE_SNAP немедленно переместит камеру на новую позицию, тогда как другие типы, перемещают постепенно в позицию.
CAMERA_TRANSITION_TYPE_MEDIUM - переместит камеру в то положение, которое мы укажем из исходного. SetCameraFacing(0.0, 20.0, 45.0); (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South) начертите на бумаге схему с градусами и сторонами света, вам будет удобнее ориентироваться. 20.0 удаление от игрока. (Мин 5 мах 20) 45.0 наклон (1 - вертикально, 50.0 мах почти в горизонт) Сообщение отредактировал Dik Morris - May 20 2006, 15:53 |
![]() ![]() |
Текстовая версия | Сейчас: 7th July 2025 - 16:52 |