Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
Сообщения от Скрипты
Скопируйте это к себе в файл "MapScript.lua"
function hatF ()
Trigger(OBJECT_TOUCH_TRIGGER, "hat" nil );
MessageBox (GetMapDataPath().."text.txt");
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "hatF" );
Создайте файл в юникоде с названием text и поместите в архив с данными карты,в нём напишите сообщение,создайте объект (в Вашем случае крестьянская хижина, назовите его "hat" в древе объекта,которое будет находится справа.
Добавлено через 1 минуту
Тоесть нужно сначала активировать триггер,а потом уже обнулить? Сейчас попробую
Добавлено через 8 минут
Может я чего-то не понял,что-то недописал, но скрипт всёравно не работает :( на данный момент он выглядит так:
function dopF ()
prog = 1;
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", nil );
sleep (5);
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, PLAYER_1 );
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" );
end;
function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");
elseif prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
AddHeroCreatures("hero", 64, 30);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );
end;
function fenixF ()
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
prog = prog +1;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
должна находиться после строки
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
Также строка Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" ); определённо должна быть после end'а, а не до. Также строка Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" ); должна находиться после ближайшего енда, а не до.
но скорее всего строка
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
должна находиться после строки
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
Добавлено через 7 минут
Кое-что заработало...
Теперь выводится сообщение,которое я хотел,если prog равняется одному,триггер не обнулился,всё как задумано, НО почему-то не сработала выдача задания,основной триггер,там где SetObjectiveState... однако прогресс есть. На данный момент скрипт выглядит так:
function dopF ()
prog = 1;
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", nil );
sleep (5);
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, PLAYER_1 );
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" );
end;
function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");
elseif prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
AddHeroCreatures("hero", 64, 30);
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );
function fenixF ()
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
prog = prog +1;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
prog = 1
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", nil );
sleep (5)
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, 1 );
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" );
end;
function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");
end;
if prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
AddHeroCreatures("hero", 64, 30);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );
function fenixF (heroname)
prog = prog +1
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
Добавлено через 47 секунд
Примерно вот так
Весьма хороший попутчик... До первого перекрестка.
Добавлено через 1 минуту
Если кому интересно,рабочий скрипт выглядит вот так:
function dopF ()
prog = 1;
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way", nil );
sleep (5);
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, PLAYER_1 );
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way", "dopF" );
function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");
elseif prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
AddHeroCreatures("hero", 64, 30);
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );
function fenixF ()
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
prog = prog +1;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
при входе в reg1 на первой неделе-сообщение mes1
при входе в reg1 на второй неделе-сообщение mes2
при входе в reg1 на третьей неделе-сообщение mes3
при входе в reg1 на четвёртой неделе-сообщение mes4
и т.д.
Заранее спасибо!
Три недели: /topic/at/583154/
Неспокойные земли: /topic/9211/
Неравное Противостояние: /topic/9473/
Можно сделать так: Триггер на регион, GetDate в условие, и с помощью elseif варьировать разными датами. (Этой функцией не пользовался, по этому точно не знаю - можно ли возвратить только день или в зависимости от параметра возвратить день, неделю, месяц... Это можно посмотреть в мануале)
GetDate(week)-возвращает номер недели относительно месяца. (1,2,3,4)
NHF 0.90 : NHF - группа в VK
Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
А что за абсолютный и относительный дни?
Вроде-бы так.
Три недели: /topic/at/583154/
Неспокойные земли: /topic/9211/
Неравное Противостояние: /topic/9473/
Карту создал а ничего интересного в ней нет.:confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused:
Например, так:
PlayObjectAnimation("priest","attack00",IDLE);
Имя нужно своё, скриптовое. Для того, чтобы наименовать существо таким именем, нужно его выделить, найти в левой панели строку Name и вписать туда имя (в нашем случае
priest
).