или вот тоже понятная и довольно большая...нет даже так БОЛЬШАЯ таблица разъяснений и описаний функций по этой таблице я даже сделал скрипт.. и он работает! вообщем ВЕЩЬ!
объясните правильное написание функции StartDialogScene
Квант
StartCutScene StartCutScene — запускает ролик. Синтаксис StartDialogScene(cutSceneName, callback = "", saveName = ""); Описание Функция запускает заданный ролик. cutSceneName — указатель на ролик в базе ресурсов callback — имя функции, которая будет вызвана после проигрывания диалоговой сцены saveName — имя save-файла (см. команду Save) который будет сделан перед диалоговой сценой.
StartDialogScene StartDialogScene — запускает диалоговую сцену. Синтаксис StartDialogScene(dialogSceneName, callback = "", saveName = ""); Описание Функция запускает заданную диалоговую сцену. dialogSceneName — указатель на диалоговую сцену в базе ресурсов callback — имя функции, которая будет вызвана после проигрывания диалоговой сц saveName — имя save-файла (см. команду Save) который будет сделан перед диалого сценой Пример 1. Пример: StartDialogScene("/DialogScenes/C6/M4/C1/DialogScene.xdb#xpointer(/DialogScene)")
+ ты уверен что осилишь диалоговую и скриптовую сцену и без них можно создать прекрасную карту
++ вобще в сети есть мапы (да может и тут есть) со скриптовыми и далоговыми сценами всё, что тебе нужно сделать, посмотреть взаимосвязь в скрпите такой мапы и понять её а потом скопипастить к себе и переделать опять же для себя
этот скрипт не работает((: function reg1 () Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg1","reg1F"); MessageBox ("/Maps/dialog.txt"); end; function reg2 () Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg2","reg2F") MessageBox ("/Maps/griffin.txt"); end; function reg3 () Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg3","reg3F"); MessageBox ("/Maps/ghost.txt"); end; подскажите что я не так написал... я уже придумал сюжет и мне надо чтоб в этих реионах появляось сообщение
Добавлено через 3 минуты когда я нажимаю "chek"(проверить ошибки он мне пишет: function reg1 not defined, line 1 function reg2 not defined, line 5 function reg3 not defined, line 9 если что reg1, reg2, reg3 это регионы
Добавлено через 56 минут и еще такой скрипт: function build () if HasArtefact ("Isabell", ID_runa); then MessageBox ("/Maps/runa.txt"); ChangeHeroStat ("Isabell", STAT_EXPERIENCE, 12000); Trigger(OBJECT_TOUCH_TRIGGER, "build", nil ); else MessageBox ("/Maps/runa1.txt"); end; end; здесь: build - function name runa - ID арефакта Isabell - скриптовое имя героя что-то не так:confused: но что:confused:
Ment
Надо вызывать Trigger после функции, а не во время. Во время нужно отменить его выполнение. Пример: function FunEx (hero) {код} Trigger(REGION_ENTER_AND_STOP_TRIGGER,"RegEx",nil); end; Trigger(REGION_ENTER_AND_STOP_TRIGGER,"RegEx","FunEx",nil); В другом скрипте принцип тот же. На сообщения внимания не нужно обращать. Редактор всегда ругается, но иногда всё-равно работает.
Добавлено через 3 минуты и вот такой вопрос: мне надо чтобы герой заходил в хижину если у него есть определенный артефакт то герой получает опыт, а если нет то выходит сообщение с извиниями о том что вы не нашли нужный артефакт. вот что я написал: function buildF () if HasArtefact ("Isabell",ID_86;); then MessageBox ("/Maps/SingleMissions/Let's go!/runa.txt"); ChangeHeroStat ("Isabell", STAT_EXPERIENCE, 12000); Trigger(OBJECT_TOUCH_TRIGGER, "build", nil ); else MessageBox ("/Maps/SingleMissions/Let's go!/runa1.txt"); end; end; Trigger(OBJECT_TOUCH_TRIGGER, "build", "buildF");
Добавлено через 35 секунд чо нетак а то чето не работает
Квант
не знаю как скрпитами, но если мне не изменяет память, то там всё что нужно можно выставить в дереве свойств этого объекта
Ох, за сложные ты скрипты взялся и тут тебе кроме тебя уже ни кто не поможет. Я как-то пытался создать нечто подобное но ни чего путного не вышло. Вот как проще:
function primer() while 1 do if HasArtefact ("Isabell",ID_86) then ChangeHeroStat ("Isabell", STAT_EXPERIENCE, 12000); MessageBox ("/Maps/SingleMissions/Let's go!/runa.txt"); sleep( 3 ); Trigger(OBJECT_TOUCH_TRIGGER, "primerreg", nil ); end; sleep( 3 ); end; end; Trigger(OBJECT_TOUCH_TRIGGER, "primerreg", "primer");
while do это цикл в языке С++ который собственно и задействован в игре. 1 значит один раз и все. Во всех скриптах у разработчика стоит 1, выводы делайте сами и экспериментируйте.
Должно работать так. Если есть срабатывает, если нет то фиг. Можешь попробовать else, а точнее elseif. Но тут опять же дерево сработает только один раз. И уже получив артефакт скрипт не заработает. Поэтому придется придумать что-то посложнее.
И да... ЧенджХироСтат кажется работает иначе, у себя гляну как нибудь и скажу если так не заработает.
Как убрать из под трупика крестьянина юбку? Никто не разобрался? Трупик с кругом под ним странно выглядит))
Кампания "Судьба Империи" - 25% готовность
SFmarat1996
function primer() while 1 do if HasArtefact ("Isabell",ID_86) then ChangeHeroStat ("Isabell", STAT_EXPERIENCE, 12000); MessageBox ("/Maps/SingleMissions/Let's go!/runa.txt"); sleep( 3 ); Trigger(OBJECT_TOUCH_TRIGGER, "primerreg", nil ); end; sleep( 3 ); end; end; Trigger(OBJECT_TOUCH_TRIGGER, "primerreg", "primer"); это все равно не работает
Ser9K
В консоле что пишет? И еще пробуй скрипт проверять на новой без других скриптов карте.
Let's go! - это карта? Вообще пробуй без пробелов, я у разработчиков ни одного пробела не видел кроме как вот так _