Перейти к содержанию

Сообщения от Скрипты

Аватар пользователя
15 лет назад
Есть. Но они не отменяет музыку, которая проигрывается автоматически (например, на определённой арене), а она как раз и мешает. В принципе я сейчас просто сделал звук громче, но лучше было бы отключить на время фоновую мелодию.
15 лет назад
Как правильно использовать NEW_DAY_TRIGGER, помогите, пожалуйста!
Аватар пользователя
15 лет назад
С NEW_DAY_TRIGGER проблем быть не должно, этот триггер просто срабатывает каждый день. Проблемы лично у меня были с функцией GetDate. Пример использования (из "Адепта войны"):
if GetDate(DAY_OF_WEEK)==1 then
То есть триггер будет работать по понедельникам.
В ответ пользователю Ment
Аватар пользователя
15 лет назад
Что здесь не так?

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:
Аватар пользователя
15 лет назад
90%, что несовпадение имён (регистра или что-то в этом роде). Проверьте название текстового файла и задания. Ещё стоит удостовериться, что текстовый файл сохранён в Юникоде, если Вы печатали его не через редактор.
15 лет назад
Снова прошу помощи: как пользоваться GetDate()? Все сделал, как треуется, но не работает. Подскажите, пожалуйста.
Аватар пользователя
15 лет назад
Из-за чего может не работать 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) потом поменял на сооружение, все равно не работает.)
Аватар пользователя
15 лет назад
Эта функция работает только в том случае, если свойство объекта IsRemovable стоит на true.
Аватар пользователя
15 лет назад
Вопрос такой. На карте присутствуют замок и гарнизон, который преграждает путь к этому замку. Также есть герой AI. Мне нужно заставить этого героя ползти на захват замка. Но ничего не получается! Пробовал отключать управление AI + MoveHero (и на гарнизон и на город), не работает - герой стоит на месте.:mad: Пробовал со включенным AI + SetAIHeroAttractor (и на гарнизон и на город), не работает - герой на месте не стоит, но гарнизон захватывать не собирается. До гарнизона больше дня пути. Совпадение имен гарантирую.
Как мне заставить героя идти куда мне надо??:confused:
Аватар пользователя
15 лет назад
1) Вот Вы не попробовали самый очевидный вариант: с отключением ИИ и MoveHero ;)
2) Если Вы сразу ставите MoveHero на захват замка, то знаю по опыту, что это может не сработать. Сначала надо заставить его захватить гарнизон, а потом уже замок. Причём даже этот вариант не гарантирую: в одной из моих карт ("Гномания") мне, помнится, пришлось телепортировать героев через гарнизон. Правда там ситуация была немного другая: был не один, а сразу три героя и вместо MoveHero я использовал MoveHeroRealTime.
Аватар пользователя
15 лет назад
1) Пробовал (Пробовал отключать управление AI + MoveHero (и на гарнизон и на город), не работает - герой стоит на месте.).
2) Пытался отправить на гарнизон и не в RealTime - все равно никак
Аватар пользователя
15 лет назад
Ну да, там глюки с гарнизоном. Ещё один вариант: направить не на гарнизон, а рядом, потом запустить MakeHeroInteractWithObject.
Аватар пользователя
15 лет назад
Спасибо, попробую
Аватар пользователя
15 лет назад
Здраствуйте,вот уже 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 месяца назад я писал сложнейшие скрипты...
Кстати первая карта уже готова :) осталось только подправить этот скрипт и выложу :)

Прошу подправить скрипт (может триггер рано обнуляю, или скобки забыл :))
15 лет назад
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?

Статистика

Приветствуем новейшего участника: recijeb

Сейчас на сайте 2 пользователей 1205 гостей