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

Сообщения от Текущие вопросы и ответы по редактору карт

В ответ пользователю RedHeavenHero
Аватар пользователя
#3645
RedHeavenHero
1) не понял. Скриптовое имя есть у самой хижины, а есть имя задания-квеста.
2) Можно так:
function NewDay()
if GetDate(MONTH) == 25 and GetDate(WEEK) == 1 and GetDate(DAY_OF_WEEK) == 1 then
CreateMonster("имя_монстра", тип_монстра, количество_существ, х, у, этаж, настроение, отвага, угол_поворота, рост)
SetObjectiveState('имя_задания', OBJECTIVE_ACTIVE)
startThread(killDemon)
end
end

function killDemon()
while 1 do
if not IsObjectExists("имя_монстра") then
SetObjectiveState("имя_задания", OBJECTIVE_COMPLETED)
break
end
sleep(10)
end
end

Trigger(NEW_DAY_TRIGGER, "NewDay")
Задание должно быть OBJECTIVE_KIND_MANUAL, а параметры IsInitialyActive и IsInitialyVisible должны быть false.

Анимации соответственно:
обычное положение, смерть, ближняя атака, радость, принятие удара, стрельба, колдовство, спецспособность, переполох (то, что делают существа в бою, когда на них наводишь курсор).
1) Это имелось ввиду имя задания(или что это). А так, я обвела на скрине то, что я имела ввиду.
2) Момент про "CreateMonster("имя_монстра", тип_монстра, количество_существ, х, у, этаж, настроение, отвага, угол_поворота, рост)" я не поняла.
3) Спасибо.
Вложения 1
1 файл • Общий размер: 253,7 KB

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3646
^-^Furry^-^
1) Это имелось ввиду имя задания(или что это). А так, я обвела на скрине то, что я имела ввиду.
2) Момент про "CreateMonster("имя_монстра", тип_монстра, количество_существ, х, у, этаж, настроение, отвага, угол_поворота, рост)" я не поняла.
3) Спасибо.
1) Обычно не нужно.
2) Имя монстра пишите, какое хотите. Тип монстра - его идентификатор, число или переменная, их можно узнать в файле руководства HOMM5_A2_IDs_for_Scripts.pdf. Количество - их число в отряде. x, y - координаты. Этаж - 1 подземелье, 0 поверхность. Настроение - шанс присоединения. Отвага - будет ли монстр присоединяться/сбегать/воевать, тут подойдёт MONSTER_COURAGE_ALWAYS_FIGHT, настроение не влияет. Угол поворота монстра в градусах 0 - лицом на юг. Рост - будет ли количество монстров расти с течением времени (1 - нет, 0 - да).
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
#3647
RedHeavenHero
1) Обычно не нужно.
2) Имя монстра пишите, какое хотите. Тип монстра - его идентификатор, число или переменная, их можно узнать в файле руководства HOMM5_A2_IDs_for_Scripts.pdf. Количество - их число в отряде. x, y - координаты. Этаж - 1 подземелье, 0 поверхность. Настроение - шанс присоединения. Отвага - будет ли монстр присоединяться/сбегать/воевать, тут подойдёт MONSTER_COURAGE_ALWAYS_FIGHT, настроение не влияет. Угол поворота монстра в градусах 0 - лицом на юг. Рост - будет ли количество монстров расти с течением времени (1 - нет, 0 - да).
1) Поняла, спасибо.
2) Ай-яй, значит я неправильно сформулировала вопрос. Я имела ввиду демона ГЕРОЯ, а не самого монстра. Хотя....и этот скрипт мне пригодится.

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3648
^-^Furry^-^
1) Поняла, спасибо.
2) Ай-яй, значит я неправильно сформулировала вопрос. Я имела ввиду демона ГЕРОЯ, а не самого монстра. Хотя....и этот скрипт мне пригодится.
Тогда заменяете CreateMonster функцией DeployReserveHero('имя героя', x, y, этаж, угол_поворота), а самого героя формируете в свойствах карты Map Properties -> Player Properties -> Reserve Heroes List -> Add
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
#3649
RedHeavenHero
Тогда заменяете CreateMonster функцией DeployReserveHero('имя героя', x, y, этаж, угол_поворота), а самого героя формируете в свойствах карты Map Properties -> Player Properties -> Reserve Heroes List -> Add
Спасибо :)

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3650
Вот сейчас я проверила Хижину пророка, но там мне пишут: Здесь никого нет.(Сам объект я поставила рядом с героем, чтобы потом проверить) Можете сказать, что здесь не так?
Вложения 1
1 файл • Общий размер: 224,7 KB

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3651
^-^Furry^-^
Вот сейчас я проверила Хижину пророка, но там мне пишут: Здесь никого нет.(Сам объект я поставила рядом с героем, чтобы потом проверить) Можете сказать, что здесь не так?
Я уже очень давно не пользуюсь этими хижинами по-прямому, делаю всё через скрипты. Поэтому вряд ли смогу помочь в этом, но через скрипты - пожалуйста.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
#3652
RedHeavenHero
Я уже очень давно не пользуюсь этими хижинами по-прямому, делаю всё через скрипты. Поэтому вряд ли смогу помочь в этом, но через скрипты - пожалуйста.
Ну хорошо, давайте через скрипты

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3653
function defeatFenix(hero)
if GetObjectiveState('fenix') == OBJECTIVE_UNKNOWN then
SetObjectiveState('fenix', OBJECTIVE_ACTIVE)
startThread(checkFenix)
elseif GetObjectiveState('fenix') == OBJECTIVE_COMPLETED then
Trigger(4, 'seer', nil)
AddHeroCreatures(hero, CREATURE_ANGEL, 45)
end
end

function checkFenix()
while 1 do
if not IsObjectExists('Phoenix1') then
SetObjectiveState('fenix', OBJECTIVE_COMPLETED)
break
end
sleep(10)
end
end

SetObjectEnabled('seer', nil)
Trigger(4, 'seer', 'defeatFenix')
Чтобы это работало, переместите задание в основной список, назовите его fenix, а также IsInitialyActive и IsInitialyVisible = false, Kind = MANUAL, а саму хижину назовите seer.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
#3654
RedHeavenHero
function defeatFenix(hero)
if GetObjectiveState('fenix') == OBJECTIVE_UNKNOWN then
SetObjectiveState('fenix', OBJECTIVE_ACTIVE)
startThread(checkFenix)
elseif GetObjectiveState('fenix') == OBJECTIVE_COMPLETED then
Trigger(4, 'seer', nil)
AddHeroCreatures(hero, CREATURE_ANGEL, 45)
end
end

function checkFenix()
while 1 do
if not IsObjectExists('Phoenix1') then
SetObjectiveState('fenix', OBJECTIVE_COMPLETED)
break
end
sleep(10)
end
end

SetObjectEnabled('seer', nil)
Trigger(4, 'seer', 'defeatFenix')
Чтобы это работало, переместите задание в основной список, назовите его fenix, а также IsInitialyActive и IsInitialyVisible = false, Kind = MANUAL, а саму хижину назовите seer.
Хорошо, спасибо, сейчас попробую.

Добавлено через 10 минут
RedHeavenHero
function defeatFenix(hero)
if GetObjectiveState('fenix') == OBJECTIVE_UNKNOWN then
SetObjectiveState('fenix', OBJECTIVE_ACTIVE)
startThread(checkFenix)
elseif GetObjectiveState('fenix') == OBJECTIVE_COMPLETED then
Trigger(4, 'seer', nil)
AddHeroCreatures(hero, CREATURE_ANGEL, 45)
end
end

function checkFenix()
while 1 do
if not IsObjectExists('Phoenix1') then
SetObjectiveState('fenix', OBJECTIVE_COMPLETED)
break
end
sleep(10)
end
end

SetObjectEnabled('seer', nil)
Trigger(4, 'seer', 'defeatFenix')
Чтобы это работало, переместите задание в основной список, назовите его fenix, а также IsInitialyActive и IsInitialyVisible = false, Kind = MANUAL, а саму хижину назовите seer.
Минуточку, вы говорите, что задание переместить в основной список, это куда? В какой еще основной список? Да и как?

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
Аватар пользователя
#3655
Туда, где остальные задачи, в дереве свойств карты.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
#3656
RedHeavenHero
Туда, где остальные задачи, в дереве свойств карты.
Так, теперь когда я ввела скрипт и проверила, редактор выдает такое:
Вложения 1
1 файл • Общий размер: 208,6 KB

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3657
^-^Furry^-^
Так, теперь когда я ввела скрипт и проверила, редактор выдает такое:
Это ещё одна псевдопроверка, результаты которой ни на что не влияют, а только смущают лишний раз.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
#3658
Ну вот, когда я проверила, вообще ничего не работает:( Может, там, где написано (hero), написать скриптовое имя героя? Или IsInitialyActive и IsInitialyVisible = false делать и в хижине?

Прокрастинирую...
"...Завтра станет лучше
но солнце так и не взошло..."
В ответ пользователю Lucan_Porri
Аватар пользователя
#3659
^-^Furry^-^
Ну вот, когда я проверила, вообще ничего не работает:( Может, там, где написано (hero), написать скриптовое имя героя? Или IsInitialyActive и IsInitialyVisible = false делать и в хижине?
Если у вас работает консоль, то посмотрите ошибки там. Также выложите скриншоты/просто скопируйте свойства хижины и задания в дереве свойств карты.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4