Есть. Но они не отменяет музыку, которая проигрывается автоматически (например, на определённой арене), а она как раз и мешает. В принципе я сейчас просто сделал звук громче, но лучше было бы отключить на время фоновую мелодию.
Сообщения от Скрипты
Как правильно использовать NEW_DAY_TRIGGER, помогите, пожалуйста!
Дайте мне всего шесть строк, написанных рукой самого честного человека, и я найду, за что его можно повесить.
Весьма хороший попутчик... До первого перекрестка.
Весьма хороший попутчик... До первого перекрестка.
С NEW_DAY_TRIGGER проблем быть не должно, этот триггер просто срабатывает каждый день. Проблемы лично у меня были с функцией GetDate. Пример использования (из "Адепта войны"):
if GetDate(DAY_OF_WEEK)==1 then
То есть триггер будет работать по понедельникам.
if GetDate(DAY_OF_WEEK)==1 then
То есть триггер будет работать по понедельникам.
Что здесь не так?
SetObjectEnabled("zd1", false);
function zd1F ()
MessageBox("Maps/SingleMissions/Gardholm/kluch.txt");
SetObjectiveState("zadanie4", OBJECTIVE_COMPLETED);
Trigger(OBJECT_TOUCH_TRIGGER, "zd1", nil);
end;
Trigger(OBGECT_TOUCH_TRIGGER, "zd1", "zd1F");
Здание отключается, а вот все, что ниже не работает :smile45:
SetObjectEnabled("zd1", false);
function zd1F ()
MessageBox("Maps/SingleMissions/Gardholm/kluch.txt");
SetObjectiveState("zadanie4", OBJECTIVE_COMPLETED);
Trigger(OBJECT_TOUCH_TRIGGER, "zd1", nil);
end;
Trigger(OBGECT_TOUCH_TRIGGER, "zd1", "zd1F");
Здание отключается, а вот все, что ниже не работает :smile45:
90%, что несовпадение имён (регистра или что-то в этом роде). Проверьте название текстового файла и задания. Ещё стоит удостовериться, что текстовый файл сохранён в Юникоде, если Вы печатали его не через редактор.
Снова прошу помощи: как пользоваться GetDate()? Все сделал, как треуется, но не работает. Подскажите, пожалуйста.
Дайте мне всего шесть строк, написанных рукой самого честного человека, и я найду, за что его можно повесить.
Весьма хороший попутчик... До первого перекрестка.
Весьма хороший попутчик... До первого перекрестка.
Из-за чего может не работать RemoveObject? Вот кусок скрипта:
function silF ()
if HasArtefact("Nadaur", 77) then
MessageBox("Maps/SingleMissions/Moon glade/derevo.txt");
PlayVisualEffect( "/Effects/_(Effect)/Spells/HolyWord.xdb#xpointer(/Effect)", "sil", 0, 0, 0, 6, 0 );
RemoveArtefact("Nadaur", 77);
SetObjectiveState("zadanie2", OBJECTIVE_COMPLETED);
sleep(2);
RemoveObject("ubr");
MessageBox("Maps/SingleMissions/Moon glade/sil.txt");
Trigger(OBJECT_TOUCH_TRIGGER, "sil", nil);
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "sil", "silF");
Все, кроме выделенной строчки работает. Имя объекта точно не перепутано. (объект - 1)дерево, (2) потом поменял на сооружение, все равно не работает.)
function silF ()
if HasArtefact("Nadaur", 77) then
MessageBox("Maps/SingleMissions/Moon glade/derevo.txt");
PlayVisualEffect( "/Effects/_(Effect)/Spells/HolyWord.xdb#xpointer(/Effect)", "sil", 0, 0, 0, 6, 0 );
RemoveArtefact("Nadaur", 77);
SetObjectiveState("zadanie2", OBJECTIVE_COMPLETED);
sleep(2);
RemoveObject("ubr");
MessageBox("Maps/SingleMissions/Moon glade/sil.txt");
Trigger(OBJECT_TOUCH_TRIGGER, "sil", nil);
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "sil", "silF");
Все, кроме выделенной строчки работает. Имя объекта точно не перепутано. (объект - 1)дерево, (2) потом поменял на сооружение, все равно не работает.)
Эта функция работает только в том случае, если свойство объекта IsRemovable стоит на true.
Вопрос такой. На карте присутствуют замок и гарнизон, который преграждает путь к этому замку. Также есть герой AI. Мне нужно заставить этого героя ползти на захват замка. Но ничего не получается! Пробовал отключать управление AI + MoveHero (и на гарнизон и на город), не работает - герой стоит на месте.:mad: Пробовал со включенным AI + SetAIHeroAttractor (и на гарнизон и на город), не работает - герой на месте не стоит, но гарнизон захватывать не собирается. До гарнизона больше дня пути. Совпадение имен гарантирую.
Как мне заставить героя идти куда мне надо??:confused:
Как мне заставить героя идти куда мне надо??:confused:
1) Вот Вы не попробовали самый очевидный вариант: с отключением ИИ и MoveHero ;)
2) Если Вы сразу ставите MoveHero на захват замка, то знаю по опыту, что это может не сработать. Сначала надо заставить его захватить гарнизон, а потом уже замок. Причём даже этот вариант не гарантирую: в одной из моих карт ("Гномания") мне, помнится, пришлось телепортировать героев через гарнизон. Правда там ситуация была немного другая: был не один, а сразу три героя и вместо MoveHero я использовал MoveHeroRealTime.
2) Если Вы сразу ставите MoveHero на захват замка, то знаю по опыту, что это может не сработать. Сначала надо заставить его захватить гарнизон, а потом уже замок. Причём даже этот вариант не гарантирую: в одной из моих карт ("Гномания") мне, помнится, пришлось телепортировать героев через гарнизон. Правда там ситуация была немного другая: был не один, а сразу три героя и вместо MoveHero я использовал MoveHeroRealTime.
1) Пробовал (Пробовал отключать управление AI + MoveHero (и на гарнизон и на город), не работает - герой стоит на месте.).
2) Пытался отправить на гарнизон и не в RealTime - все равно никак
2) Пытался отправить на гарнизон и не в RealTime - все равно никак
Ну да, там глюки с гарнизоном. Ещё один вариант: направить не на гарнизон, а рядом, потом запустить MakeHeroInteractWithObject.
Спасибо, попробую
Здраствуйте,вот уже 4 месяца не занимался маппингом в героях,решил снова взятся за дело :) Но вот даже с самыми простыми скриптами туго.
Вот собственно кусок скрипта:
function gloriaF ()
if HasArtefact ("RedHeavenHero04", 58);
then MessageBox (GetMapDataPath().."gloriaF.txt");
ChangeHeroStat ("RedHeavenHero04", STAT_EXPERIENCE 8000);
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, nil );
else MessageBox (GetMapDataPath().."gloria1F.txt");
end;
end;
SetObjectEnabled(”gloria”, false);
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, ”gloriaF” );
Кодировка верная вроде (выдрал из карты файл "name" и всё время изменял его и переименовывал) как бы я этот скрипт не ковырял не хочет он работать. 4 месяца назад я писал сложнейшие скрипты...
Кстати первая карта уже готова :) осталось только подправить этот скрипт и выложу :)
Прошу подправить скрипт (может триггер рано обнуляю, или скобки забыл :))
Вот собственно кусок скрипта:
function gloriaF ()
if HasArtefact ("RedHeavenHero04", 58);
then MessageBox (GetMapDataPath().."gloriaF.txt");
ChangeHeroStat ("RedHeavenHero04", STAT_EXPERIENCE 8000);
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, nil );
else MessageBox (GetMapDataPath().."gloria1F.txt");
end;
end;
SetObjectEnabled(”gloria”, false);
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, ”gloriaF” );
Кодировка верная вроде (выдрал из карты файл "name" и всё время изменял его и переименовывал) как бы я этот скрипт не ковырял не хочет он работать. 4 месяца назад я писал сложнейшие скрипты...
Кстати первая карта уже готова :) осталось только подправить этот скрипт и выложу :)
Прошу подправить скрипт (может триггер рано обнуляю, или скобки забыл :))
SetObjectEnabled(”gloria”, nil);
function gloriaF (heroname)
if HasArtefact ("RedHeavenHero04", 58) then
MessageBox (GetMapDataPath().."gloriaF.txt");
ChangeHeroStat ("RedHeavenHero04", STAT_EXPERIENCE, 8000);
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, nil );
else MessageBox (GetMapDataPath().."gloria1F.txt");
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, ”gloriaF” );
"else MessageBox (GetMapDataPath().."gloria1F.txt");" лучше убрать.
Добавлено через 2 минуты
А вы не знаете, как правильно сипользовать GetDate и NEW_DAY_TRIGGER?
function gloriaF (heroname)
if HasArtefact ("RedHeavenHero04", 58) then
MessageBox (GetMapDataPath().."gloriaF.txt");
ChangeHeroStat ("RedHeavenHero04", STAT_EXPERIENCE, 8000);
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, nil );
else MessageBox (GetMapDataPath().."gloria1F.txt");
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, ”gloria”, ”gloriaF” );
"else MessageBox (GetMapDataPath().."gloria1F.txt");" лучше убрать.
Добавлено через 2 минуты
А вы не знаете, как правильно сипользовать GetDate и NEW_DAY_TRIGGER?
Дайте мне всего шесть строк, написанных рукой самого честного человека, и я найду, за что его можно повесить.
Весьма хороший попутчик... До первого перекрестка.
Весьма хороший попутчик... До первого перекрестка.
Статистика
Приветствуем новейшего участника:
Emil