Помогите с Cutscene
|
|
|
Vghost (В тени)
Наг
Сообщений: 1
|
Дата: 13.03.2010, 10:39 | Сообщение # 1
Всем привет хотел создать cutscene но у меня несофпадает интерфейс с интерфейсом в видеообучении на вашем сайте. нет Time Line нет Active camera немогу выбрать Area там вообще ничего нельзя выбрать. У меня только 4 черных окна с надписью User. [img][/img] плиз помогите
|
|
|
Darkspawn (В тени)
Сообщений: 1690
|
Дата: 13.03.2010, 13:13 | Сообщение # 2
Vghost, В windows выбери нужные окна)
Not all people are annoyng. Some of them are dead.
|
|
|
Leonsfan (В тени)
Прошедший Истязание
Сообщений: 96
|
Дата: 21.04.2010, 21:57 | Сообщение # 3
Всем привет! У меня следующие вопросы: - Как можно запустить стадию (stage) в период и/или сразу после окончания катсцены без каких либо движений ГГ после окончания Катсцены и начала стадии (попаданию гг в примерную точку действия стадии). - есть ли скрипт( какая командная строка в скрипте), чтоб по окончании катсцены гг перенесло в другу Area, отличную от Area в которой играет катсцена? - да еще интересный вопрос можно ли из DA Awakining (карта Амарантайна) перейти на общую карту Ферелдена в DA origin? Это может пригодиться для размещения квест-мода в Single campain (основная компания используется в DA origin), после прохождения DA Awakining (или в период прохождения). Чтобы мод смотрелся современным отражением дествий происходящих по сюжету игры( а то он пока у нас только в DA origin устанавливается, представь переходик из Карты амарантайна на полную карту ферелдена - поле для маневров открыто))! Теоритечиски можно используя карту из фотошопа - амарнтайн и в промежуток картового перехода (по аналогии с Картой Денерима как города и как метки на основной карте ферелдена) вставить к основной карте ферелдена Single campain, меня смущает вопрос о файловом обменой с конкретной картой обеих игр (но решение должно быть). Благодарю за внимание!
|
|
|
Donor (В тени)
Совершенный
ВЕЛИКИЙ МАГИСТР
Сообщений: 1156
|
Дата: 22.04.2010, 02:13 | Сообщение # 4
Leonsfan, Quote (Leonsfan) вопрос можно ли из DA Awakining (карта Амарантайна) перейти на общую карту Ферелдена Использовать ресурсы Awakening можно только перетащив их по частям в тулсет. Т.е надо создавать точную копию карты Awakining, и потом уже делать переход с одной на другую. Вот чуток покопался в ресурсах Awakening и загнал её в тулсет. (путь из точки в точку - это я пририсовал) Собственно для этого было нужно всего два файла, которые я нашел, если найти остальное, то можно создать точную копию карты Awakining. Карта - картой. Но вслед за ней придется перетаскивать все area, обьекты итд, что бы использовать эти территории в моде. А иначе - как? Если только Bioware выпустят новую версию тулсета и включат в неё базу данных с контентом Awakening... Файл полной карты Awakening - gxa_world_map.map я тоже экспортировал из ERF пакета, но он скомпилированный и в тулсете открывается как таблица и в Core Game Resource его не запихнуть.
Сообщение отредактировал Donor - Четверг, 22.04.2010, 03:15
|
|
|
nominator (В тени)
Страж-магистр
Сообщений: 137
|
Дата: 22.04.2010, 18:07 | Сообщение # 5
Leonsfan, stage должна быть частью катсцены или диалога, что тебе конкретно нужно сделать? http://social.bioware.com/wiki/datoolset тебе в помощь, там есть полное описание скриптов по перемещению персонажа в частности можно использовать Code void main() { DoAreaTransition("destination_area_tag", "destination_waypoint_tag"); } в качестве конечного скрипта катсцены, с соответственной заменой переменных
|
|
|
Leonsfan (В тени)
Прошедший Истязание
Сообщений: 96
|
Дата: 22.04.2010, 23:12 | Сообщение # 6
Donor, nominator, большое спасибо за интерес и поучительные ответы, а теперь по порядку: Насчет карты,то есть своему моду нет смысла придавать значения авакенинга(такого и не найдешь в тулсете), так как тулсет с этими файлами не сработает, максимум, что можно сделать это просто использовать карту авакининга в сингл компании на подобии с картой денерима, только как пустую болванку с возможностью загрузки с нее создаваемых лок (вот бы открыть хотя бы Ареа Башни Бдения и амарантайна, уже бы хватило с головой), понел насчет этого, но сам полюбому попробую. Насчет скрипта: Блин точно вспомнил! Ты прав этот скирпт подойдет, вот блин, сам же в январе тестил переход из бара с загрузкой катсцены и возвращение назад на основную карту редклифа (лирическое отступление). а насчет вопроса с катсценой, мне нужно чтобы стадия была частью катсцены т.е. играет катсцена по сюжету, НПС говорят между собой и задают вопросы ГГ, а ответ должен быть как по стадии(вместе с диалогом) или достаточно во временную сетку на разметке ГГ вставить несколько спиклайнов с вариантами ответа и он сам их предложит как в диалоге?
Сообщение отредактировал Leonsfan - Четверг, 22.04.2010, 23:15
|
|
|
nominator (В тени)
Страж-магистр
Сообщений: 137
|
Дата: 22.04.2010, 23:27 | Сообщение # 7
хм, насколько я знаю во время катсцены нельзя сделать диалог, я решил эту проблему просто соединив их при помощи скриптов: катсцены кончается и запускает диалог, а с помощью скриптов вставленных в диалог можно запустить другую катсцену
Сообщение отредактировал nominator - Четверг, 22.04.2010, 23:27
|
|
|
Leonsfan (В тени)
Прошедший Истязание
Сообщений: 96
|
Дата: 22.04.2010, 23:34 | Сообщение # 8
Если не трудно скинь скрипты, нам позарез нужно!!!
|
|
|
nominator (В тени)
Страж-магистр
Сообщений: 137
|
Дата: 23.04.2010, 10:08 | Сообщение # 9
самый простой - UT_Talk("тэг того с кем ведется диалог", oPC(собственно игрок), "диалог"); этот скрипт передвинет игрока к существу с диалогом и начнет егоДобавлено (23.04.2010, 10:08) --------------------------------------------- object oPC = GetHero(); object oDial = GetObjectByTag("тэг того с кем говорим"); UT_Talk(oDial, oPC, "сам диалог"); или так, чтоб понятнее
|
|
|
Leonsfan (В тени)
Прошедший Истязание
Сообщений: 96
|
Дата: 27.04.2010, 09:43 | Сообщение # 10
ок спасибо, протестим отпешусь.Добавлено (27.04.2010, 09:29) --------------------------------------------- nominator а что прописывать в скрипте констант_constants_h.nss - ? Не понимает основной скрипт значений диалога, с кем говорить я прописал, а как обозначить ресурс диалога в констант скрипте? Добавлено (27.04.2010, 09:43) --------------------------------------------- пишет следующее в строке UT_Talk(oDial, oPC, "talk") E: 09:42:16 - cutalistertalk1.nss - cutalistertalk1.nss(31): Declaration does not match parameters (while compiling var_constants_h.nss)
|
|
|
nominator (В тени)
Страж-магистр
Сообщений: 137
|
Дата: 27.04.2010, 11:36 | Сообщение # 11
Leonsfan, попробуй заменить значение "talk" на R"talk.dlg", а лучше выложи весь свой скрипт, я поищу ошибки
|
|
|
Leonsfan (В тени)
Прошедший Истязание
Сообщений: 96
|
Дата: 27.04.2010, 15:08 | Сообщение # 12
#include "Log_h" #include "utility_h" #include "wrappers_h" #include "events_h" #include "plt_alistertalk" void main() { event ev =GetCurrentEvent(); int nEventType = GetEventType(ev); string sDebug; object oPC = GetHero(); int nEventHandled = FALSE; switch (nEventType) { case EVENT_TYPE_AREALOAD_SPECIAL: { if (!WR_GetPlotFlag(PLT_ALISTERTALK, DEMO_INTRO_COMPLETE)) { CS_LoadCutscene(R"demo1.cut"); WR_SetPlotFlag(PLT_ALISTERTALK, DEMO_INTRO_COMPLETE,TRUE); } break; } case EVENT_TYPE_DIALOGUE: { object oPC = GetHero(); object oDial = GetObjectByTag("qwestgiver"); UT_Talk(oDial, oPC, R"talk.dlg"); } break; case EVENT_TYPE_AREALOAD_PRELOADEXIT: { break; } case EVENT_TYPE_AREALOAD_POSTLOADEXIT: { break; } case EVENT_TYPE_ENTER: { object oCreature = GetEventCreator(ev); break; } case EVENT_TYPE_EXIT: { object oCreature = GetEventCreator(ev); break; } } if (!nEventHandled) { HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE); } } Добавлено (27.04.2010, 15:08) --------------------------------------------- и такой непашет #include "Log_h" #include "utility_h" #include "wrappers_h" #include "events_h" #include "global_objects_h" #include "plt_alistertalk" void main() { event ev =GetCurrentEvent(); int nEventType = GetEventType(ev); string sDebug; object oPC = GetHero(); int nEventHandled = FALSE; switch (nEventType) { case EVENT_TYPE_ENTER: { if (!WR_GetPlotFlag(PLT_ALISTERTALK, DEMO_INTRO_COMPLETE)) { object _PC = GetHero(); object oDial = GetObjectByTag("alister"); UT_Talk(oDial, oPC, R"tal_kalister1.dlg"); DisplayFloatyMessage(_PC, "Test", FLOATY_MESSAGE, 16777215, 2.f); CS_LoadCutscene(R"curt.cut"); PlayCutscene(); WR_SetPlotFlag(PLT_ALISTERTALK, DEMO_INTRO_COMPLETE,TRUE); } break; } } if (!nEventHandled) { HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE); } } ХОТЯ СЕЙВЕТСЯ БЕЗ ПРОБЛЕМ
|
|
|
nominator (В тени)
Страж-магистр
Сообщений: 137
|
Дата: 27.04.2010, 15:46 | Сообщение # 13
ща посмотрю че можно сделать Добавлено (27.04.2010, 15:46) --------------------------------------------- Leonsfan, напиши какой скрипт что должен делать? а то я без остальных твоих файлов не разберусь в этом и ставь [code][/code] вокруг твоих скриптов
Сообщение отредактировал nominator - Вторник, 27.04.2010, 15:51
|
|
|
Leonsfan (В тени)
Прошедший Истязание
Сообщений: 96
|
Дата: 27.04.2010, 15:58 | Сообщение # 14
последний скрипт должен запускать катсцену сразу с загрузкой зоны и заканчивать катсцену, плавно входя в диалог. Так все и просиходит за исключением плвного вхождения в диалог, катсцена просто заканчивается
|
|
|
nominator (В тени)
Страж-магистр
Сообщений: 137
|
Дата: 27.04.2010, 16:04 | Сообщение # 15
просто сделай два скрипта: один начинает катсцену с загрузкой зоны Code #include "utility_h" #include "wrappers_h" #include "events_h" #include "global_objects_h"
#include "plt_alistertalk" void main() { event ev =GetCurrentEvent(); int nEventType = GetEventType(ev); string sDebug; object oPC = GetHero(); int nEventHandled = FALSE;
switch (nEventType) { case EVENT_TYPE_ENTER: { if (!WR_GetPlotFlag(PLT_ALISTERTALK, DEMO_INTRO_COMPLETE)) { CS_LoadCutscene(R"curt.cut");
WR_SetPlotFlag(PLT_ALISTERTALK, DEMO_INTRO_COMPLETE,TRUE); } break; } } if (!nEventHandled) { HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE); } } другой запускает диалог, когда катсцена заканчивается: Code #include "utility_h" #include "wrappers_h" #include "events_h" #include "global_objects_h"
#include "plt_alistertalk" void main() { event ev =GetCurrentEvent(); int nEventType = GetEventType(ev); string sDebug; object oPC = GetHero(); int nEventHandled = FALSE;
switch (nEventType) { case EVENT_TYPE_ENTER: { object _PC = GetHero(); object oDial = GetObjectByTag("alister"); UT_Talk(oDial, oPC, R"tal_kalister1.dlg"); DisplayFloatyMessage(_PC, "Test", FLOATY_MESSAGE, 16777215, 2.f); } break; } } if (!nEventHandled) { HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE); } } второй скрипт вставь в поле End Script в Properties катсцены
|
|