PlayDialogScene -- функция запуска ролика. После выполнения задания -- поставить триггер Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,... В общем, несложно, во многом похоже на штуку с регионом из соседней темы.
Как вставить свою озвучку? Нужный формат есть, а вставить в диалоговую сцену не получается. Заранее спасибо!
Нужно экспортировать звук, как ресурс, в игру. А в ролике соответственно вставить этот звук (или звуки). Вообще, не совсем тривиальная задача, частичное представление о ней можно получить тут: http://psatkha.narod.ru/tutorial_ru.html. Не уверен, что овчинка стоит выделки, в домашних условиях адекватно озвучить ролики практически нереально, а потом ещё мучиться, учиться их вставлять.
function Objective() StartDialogScene("/DialogScenes03/New Object03/DialogScene.xdb#xpointer(/DialogScene)"); end; Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"obj1","Objective");
Что не так в этом коде? :confused: миссию завершает, а ролик не запускает
Ment
миссию завершает, а ролик не запускает
Я так думаю, он сначала завершает миссию, а потом запускает ролик. Такие штуки имеют больший приоритет, чем скрипты и выполняются в первую очередь. Вам надо сделать так, чтобы задание не завершало миссию, запустить ролик, подождать немного (функция sleep), и вот тогда завершить миссию скриптовой функцией Win() (там вроде с большой буквы, но я точно не помню, проверьте меня).
function Objective() StartDialogScene("/DialogScenes03/New Object03/DialogScene.xdb#xpointer(/DialogScene)"); sleep(20) Win() end;
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"obj1","Objective"); Не работает. Задание завершается, а ролика нет. И у меня как бы из одного вопроса два вытекает: 1)Как сделать, чтобы после завершения задания проигрывался ролик, и я продолжал играть и выполнять другие задания? 2)Как сделать, чтобы после завершения задания проигрывался ролик, и я выигрывал? Вот эти два момента не дают мне спокойно жить:confused:
Ment
Как сделать, чтобы после завершения задания проигрывался ролик, и я продолжал играть и выполнять другие задания?
Не писать win.
Как сделать, чтобы после завершения задания проигрывался ролик, и я выигрывал?
Писать win ;) Не знаю, почему не работает. Потенциальных ошибок может быть много -- это и заглавные/строчные буквы (они воспринимаются игрой по-разному), и слеши в StartDialogScene (не уверен, что в эту сторону повёрнуты). Консоль что пишет?
Код рабочий, просто название задачи почему-то не существовало, вернее в Properties Tree оно было написано, в скрипте то же самое написано, но консоль говорила, что этой задачи не существует. В итоге я из кода скопировал название задачи, запихнул в Properties Tree, и все заработало:D(возможно, что в коде было написано на английском, а в Properties Tree на американском, или наоборот.) Спасибо вам большое, больше пределов творчеству нет:)
xv13
Подскажите как сделать специализацию героя-командира: +1 к защите и нападению за 2 уровня для заданного существа. В оригинальных файлах командирских специализаций не нашел, так что, наверное, надо скриптом прописывать.
Подскажите, как скриптами настраивать задания к миссии
metufona
О великие знатоки, подскажите как показать игроку сообщение в ПЕРВЫЙ день игры? Пыталась сделать через Trigger(NEW_DAY_TRIGGER, "new_day" ); function new_day() if GetDate(DAY) == 1 then MessageBoxForPlayers(PLAYER_1,GetMapDataPath().."hello.txt"); end; end; Но увы, не работает =( Меняю день на второй и сообщение отображается.
Ment
Потому что триггер срабатывает при наступлении некого события. А первый день игры не наступает, но идёт с самого начала. Просто надо MessageBoxForPlayers(PLAYER_1,GetMapDataPath().."hello.txt"); и всё.
function kill_army() a=14 while a>13 do MakeHeroInteractWithObject('Arantir','altar1') sleep(2) a=1 for i=1,119 do a=a+GetHeroCreatures('Arantir',i) end if a>12 then do StartAdvMapDialog(2) sleep(2) end end end StartAdvMapDialog(3)
вот кусок функции в результате которой я хочу увидеть следующее: герою предлагается порезать армию на алтаре потом происходит проверка на количество существ в армии героя если их больше 12 - запускается диалог(2) если нет, тогда диалог(3) Проблема в том, что герой только начинает взаимодействовать с алтарем, а программа уже успела посчитать его войско и после жертвоприношения показывает диалог(2), а вот как бы сделать так, чтобы проверка количества существ запускалась после того, как герой пожертвует войско?
и немедленно выпил...
Jack_of_shadows
Medyan, вы как-то описали туманно все. Если нужно
если их больше 12 - запускается диалог(2) если нет, тогда диалог(3)
тогда и код должен быть
if a>12 then StartAdvMapDialog(2) else StartAdvMapDialog(3) end
Если проверка количества существ должна быть после взаимодействия с алтарем, то и писать ее надо в обработчике тыкания в алтарь.
xxxRustamxxx
Нужна помощь, как сделать скрипт который будет давать все скиллы которые есть в игре? Я видел такое в карте "Эльфийская песнь", там если написать @gsall skillsall artefacts, ГГ дадут все скиллы и артефакты, но мне нужны только скиллы, карту я в редакторе открыть не могу, так как её нету в папке с картами. И да, в 2016 году играют в героев 5. И ещё одно, если это возможно, можно как-то сделать этот скрипт, что-бы он на всех картах работал? Я имею ввиду через @DoFile. Хотя тогда придется каждый раз редактировать скрипт файл, у героев ведь разные скриптовые имена... Ну команда add_skill и прочие ведь работают на выделенном герое, вот я и хочу как-то сделать что-бы скрипт работал на выделенном герое. Надеюсь это возможно. В любом случае заранее спасибо за помощь, буду ждать ответа.
Нужна помощь, как сделать скрипт который будет давать все скиллы которые есть в игре? Я видел такое в карте "Эльфийская песнь", там если написать @gsall skillsall artefacts, ГГ дадут все скиллы и артефакты, но мне нужны только скиллы, карту я в редакторе открыть не могу, так как её нету в папке с картами. И да, в 2016 году играют в героев 5. И ещё одно, если это возможно, можно как-то сделать этот скрипт, что-бы он на всех картах работал? Я имею ввиду через @DoFile. Хотя тогда придется каждый раз редактировать скрипт файл, у героев ведь разные скриптовые имена... Ну команда add_skill и прочие ведь работают на выделенном герое, вот я и хочу как-то сделать что-бы скрипт работал на выделенном герое. Надеюсь это возможно. В любом случае заранее спасибо за помощь, буду ждать ответа.
Можно так:
for i=1,3 do for j=1,220 do consoleCmd('add_skill ' .. j) end end
Даст все навыки и умения выделенному герою. Скрипт можно сохранить в файл и вызывать через doFile.
Огромное спасибо! Просто у меня была задумка для карты. Месть Эльрата называется карта которую я хочу сделать. Сюжет: На совете богов выясинили, что людей которые поклоняются Эльрату стает все меньше и меньше, если так и будет, Эльрата вовсе забудут и он больше не будет богом! Эльрату это очень не нравится, он решил спуститься к смертным в облике архангела под именем Ратиэль. Но как только он спускается к смертным он увидел ужасное... Демоны берут в плен подданых Эльрата, его народ, и увозят в Шио. Зачем и почему, сам Эльрат должен узнать... P.S. Скрипт нужен был для ГГ, ну он типа БОГ, должен уметь всё. Я карту хотел создать с существами NCF. У Эльрата в армии будут 10 Ангелов Хранителей, и 15 обычных ангелов. Я думаю задумка неплохая, но реализовать будет очень сложно, я уже пытался дать герою модель ангела, вставил аним сет ему, но он не использует анимации которые я ему задал. Просто в форме Т всё делает...
Добавлено через 1 минуту Хотя я вообще хочу кампанию сделать, это только первая миссия, кампания "Война Богов". Я не уверен что у меня терпения хватит....