Текущие вопросы и ответы по редактору карт - Страница 295 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 295 из 384
 
Опции темы
#4411
Старый 18.07.2017, 21:48
  #4411
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

	Trigger(PLAYER_REMOVE_HERO_TRIGGER, PLAYER_2, 'Player2LoseHero');

function Player2LoseHero(looser, winner)
  if(looser == 'имя_героя') then
    ...
  end
end
Возможно нужны дополнительные проверки, если целевой герой может быть потерян иным способом, чем убит игроком.
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4412
Старый 19.07.2017, 02:06
  #4412
^
Пошлость
 
Аватар для Пошлость
📖
Регистрация: 16.07.2017
Сообщения: 24
Регистрация: 16.07.2017
Сообщения: 24
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

До прописки второго триггера все катсцены и первый триггер - работали.
EnableHeroAI('Brem', nil);
EnableHeroAI('Straker', nil);
StartAdvMapDialog(0);
function rewF()
StartAdvMapDialog(1);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "rew", "rewF" );

После добавления триггера про смерть героя и последующие после этого действия - все катсцены и триггеры перестали работать.

EnableHeroAI('Brem', nil);
EnableHeroAI('Straker', nil);
StartAdvMapDialog(0);
function rewF()
StartAdvMapDialog(1);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "rew", "rewF" );
Trigger(PLAYER_REMOVE_HERO_TRIGGER, PLAYER_2, 'Player2LoseHero');
function Player2LoseHero(looser, winner)
if(looser == 'Brem') then
StartAdvMapDialog(2);
StartAdvMapDialog(3);
CreateMonster(134,inferno,134,90,10,0,mood= MONSTER_MOOD_AGGRESSIVE,courage= MONSTER_COURAGE_CAN_FLEE_JOIN,rotation= 0 );
StartAdvMapDialog(4);
StartAdvMapDialog(5);
StartAdvMapDialog(6);
StartAdvMapDialog(7);
StartAdvMapDialog(8);
end;
end;
Пошлость вне форума
Ответить с цитированием
#4413
Старый 19.07.2017, 10:21
  #4413
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Пошлость, с ходу могу только сказать, что CreateMonster вызывается неправильно, lua такое не понимает:
mood= MONSTER_MOOD_AGGRESSIVE,courage= MONSTER_COURAGE_CAN_FLEE_JOIN,rotation= 0
Вероятно парсер на этой строке и слетел.

Второе, если скрипт крашится, хорошим тоном всё таки является заглянуть в консоль и привести здесь текст ошибки (да он и вам часто может помочь понять проблему самостоятельно).

Третье, если вы нацелились на более-менее скриптовую карту (>200 строчек кода), рекомендую другой подход к структуре кода. Сейчас все ваши инициализирующие функции расположены на верхнем уровне в разнобой, в результате чего достаточно одной мелкой ошибки в коде, чтобы интерпретатор вылетел, скрипты полностью перестали работать, и главное непонятно где искать проблему.
Рекомендую всё, что выполняется непосредственно при старте карты, поместить в отдельную функцию, дополнив её периодически printa'ми:
	function InitMap()
  print('init start');

  EnableHeroAI('Brem', nil);
  EnableHeroAI('Straker', nil);
  print('init heroes OK');

  Trigger(REGION_ENTER_AND_STOP_TRIGGER, "rew", "rewF" );
  Trigger(PLAYER_REMOVE_HERO_TRIGGER, PLAYER_2, 'Player2LoseHero');
  print('init triggers OK');

  print('init finish');
end

InitMap();
Этот код помещается в самый конец скрипта и при запуске карты первым делом заглядываем в консоль.
Если в коде была ошибка синтаксиса, которую lua-интерпретатор не переварил, консоль будет пустая, до функции InitMap() дело просто не дойдёт.
Если всё хорошо, консоль будет заканчиваться строчкой 'init finish'.
Если мы попытаемся что-то инициализировать неправильно, к примеру ошибемся с названием региона "rew", то в консоли будет:
init start
init heroes OK
какая-нибудь ошибка красным шрифтом
и по этому логу сразу ясно в каких строчках искать ошибку.
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4414
Старый 19.07.2017, 14:33
  #4414
^
Пошлость
 
Аватар для Пошлость
📖
Регистрация: 16.07.2017
Сообщения: 24
Регистрация: 16.07.2017
Сообщения: 24
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Я убрал спавн монстра и ещё одну катсцену. Теперь катсцены работают до убийства героя, после убийства - завершение игры.

EnableHeroAI('Brem', nil);
EnableHeroAI('Straker', nil);
StartAdvMapDialog(0);
function rewF()
StartAdvMapDialog(1);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "rew", "rewF" );
Trigger(PLAYER_REMOVE_HERO_TRIGGER, PLAYER_2, 'Player2LoseHero');
function Player2LoseHero(looser, winner)
if(looser == 'Brem') then
StartAdvMapDialog(2);
StartAdvMapDialog(3);
StartAdvMapDialog(4);
StartAdvMapDialog(5);
StartAdvMapDialog(6);
StartAdvMapDialog(7);
end;
end;
Пошлость вне форума
Ответить с цитированием
#4415
Старый 19.07.2017, 15:39
  #4415
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Теперь катсцены работают до убийства героя, после убийства - завершение игры.
скрипты то тут точно не при чём, они самопроизвольно игру не завершают. Надо смотреть условия победы.
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4416
Старый 19.07.2017, 16:05
  #4416
^
Пошлость
 
Аватар для Пошлость
📖
Регистрация: 16.07.2017
Сообщения: 24
Регистрация: 16.07.2017
Сообщения: 24
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

У меня два задания для игрока.
1) уничтожить героя
2) игрок должен выжить.
В качестве награды ничего нет.
Пошлость вне форума
Ответить с цитированием
#4417
Старый 20.07.2017, 00:25
  #4417
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Получается что при убийстве героя оба задания в true, всё выполнено, сценарий автоматически завершается. Непонятно что хочется, и что получается. Если цель: игрок убивает героя, показываются финальные ролики, сценарий завершается, то это реализуется иначе: вручную отлавливаем событие убийста героя, показываем ролики, вызываем функцию Win(). Квест на убийство героя при этом трансформируем во что-нибудь другое (описание можно оставить то же, но тип задания сменить на manual).
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4418
Старый 20.07.2017, 14:00
  #4418
^
Пошлость
 
Аватар для Пошлость
📖
Регистрация: 16.07.2017
Сообщения: 24
Регистрация: 16.07.2017
Сообщения: 24
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Спасибо, всё заработало.
И ещё вопросик. В редакторе подземелья можно как-нибудь светлее сделать, а то ставлю объект и вижу его, только когда выделил. Попытался на форуме поискать что-то внятное, но ничего толком не нашёл.
Пошлость вне форума
Ответить с цитированием
#4419
Старый 20.07.2017, 22:32
  #4419
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

В редакторе подземелья можно как-нибудь светлее сделать
можно либо временно тип освещения сменить на дневное, либо поставить на какой-нибудь объект источник освещения и задать ему радиус 200-300, будет очень ярко всё освещать (можно несколько таких источников света бахнуть в разных местах, перед релизом их просто удалить).
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4420
Старый 20.07.2017, 22:44
  #4420
^
Пошлость
 
Аватар для Пошлость
📖
Регистрация: 16.07.2017
Сообщения: 24
Регистрация: 16.07.2017
Сообщения: 24
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

А какой точнее параметр в MapProperties ставить?
Пошлость вне форума
Ответить с цитированием
#4421
Старый 20.07.2017, 23:19
  #4421
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Что-то со словом light, там нужно кликнуть добавить, выставить цвет и смещение относительно объекта (z нужно ставить больше нуля, x и y оставить нулями). Если взять какое деревце, то у него этих свойств всего ничего, легко найти нужное.
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4422
Старый 20.07.2017, 23:35
  #4422
^
Пошлость
 
Аватар для Пошлость
📖
Регистрация: 16.07.2017
Сообщения: 24
Регистрация: 16.07.2017
Сообщения: 24
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Спасибо, теперь хоть что-то вижу)
Пошлость вне форума
Ответить с цитированием
#4423
Старый 24.07.2017, 11:15
  #4423
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Имеем скриптовую команду, которая заставляет Аларика один раз отыграть анимацию каста. Но в игре ничего не происходит, данная команда не срабатывает, но скрипт играет дальше без проблем. Ошибок в консоли нет, а сама команда с нейтралами прекрасно работает

Вопрос: можно скриптом заставить героя отыграть анимацию?
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#4424
Старый 24.07.2017, 20:12
  #4424
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

AstralLein, у Аларика в AnimSet прописаны только idle00 и move. Если они проигрываются нормально (скорее всего так и есть), то значит стандартная функция анимации работает и для героев. Чтобы он ещё и кастовал на карте, наверное надо создать свою копию Аларика (или менять прямо существующего) и изменить ему список анимаций. Я лично такое никогда не делал, ничего не подскажу.
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#4425
Старый 24.07.2017, 21:02
  #4425
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Сейчас гляну анимы, благое дело специалист в этом деле.

Добавлено через 8 минут
Неа все анимации есть. Полней комплект плюс три вида разговора и много еще чего. Кстати, оцените сам скрипт. Работать работает, но оценка не помешает.



Добавлено через 2 минуты
Тут есть добавление к заданию заметки. Как сделать так что бы появление обновления квеста стало видно игроку без знания методики "зайти в задания и посмотреть что там изменилось". Команда SetObjectiveProgress то на глобальную карту не влияет.
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
Ответ
Страница 295 из 384


Опции темы



Часовой пояс GMT +4, время: 23:38.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru