Герои Меча и Магии 5 - Картостроительство (Редактор карт)В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.
KusackaЗаменить на карте приключений одно здание на другое, где можно закупать существа. К примеру Demon Tower на Archers Tower. Условие я создам, почему оно должно изменится, мне сам процесс интересует. Потому что как удалить здание, я не знаю.
Удалить видимо нельзя,но есть команда - ReplaceDwelling(Заменяет жилище на жилище того же уровня указанной расы, а также предусматривает указание существ, которые там продаются.)
KusackaЗаменить на карте приключений одно здание на другое, где можно закупать существа. К примеру Demon Tower на Archers Tower. Условие я создам, почему оно должно изменится, мне сам процесс интересует. Потому что как удалить здание, я не знаю.
Во-первых, можно удалить здание, поставив в Object Properties => IsRemovable => true. Затем RemoveObject(имя двеллинга) и CreateDwelling. Но проще всего воспользоваться функцией ReplaceDwelling( name, newTownType, [creatureId1, [creatureId2, [creatureId3, [creatureId4] ] ] ] ) TownType - новая раса двеллинга. Трансформируется в двеллинг того же уровня (так, башня лучников превратится в склеп или каменный парапет). Указывать айдишники новых существ необязательно - тогда игра сама выставит в найм существ, стоящих по умолчанию в этом типе двеллингов.
То есть, есть разрушенные города Людей и Демонов. Есть ли способ изменить объект на город?
Пробовал SetObjectOwner, но он работает видимо на города только
Прямой функции восстановления города из обломков, видимо, нет. Можно попробовать костыль:
function RazeOfTown()
MakeTownMovable(nTownname);
--делаем город подвижным
SetObjectPosition(nTowname, x, y, floor);
--Телепортируем город в какую-то пустую зону, скрытую от глаз (например, в подземелье)
PlayVisualEffect(...);
--Какие-то красивые эффекты уничтожения города
CreateStatic("RazedTown", /Путь к модели.xdb#xpointer(/Model), x, y, floor);
--Создаём на месте города обломки
end;
...
...
function TownRebuilt()
RemoveObject("RazedTown");
--Убираем обломки
PlayVisualEffect(...);
--Какой-нибудь красивый эффект восстановления города
SetObjectPosition("TownName", x, y, floor);
--Возвращаем город на место
end;
}{0TT@6bI4Прямой функции восстановления города из обломков, видимо, нет. Можно попробовать костыль:
function RazeOfTown()
MakeTownMovable(nTownname);
--делаем город подвижным
SetObjectPosition(nTowname, x, y, floor);
--Телепортируем город в какую-то пустую зону, скрытую от глаз (например, в подземелье)
PlayVisualEffect(...);
--Какие-то красивые эффекты уничтожения города
CreateStatic("RazedTown", /Путь к модели.xdb#xpointer(/Model), x, y, floor);
--Создаём на месте города обломки
end;
...
...
function TownRebuilt()
RemoveObject("RazedTown");
--Убираем обломки
PlayVisualEffect(...);
--Какой-нибудь красивый эффект восстановления города
SetObjectPosition("TownName", x, y, floor);
--Возвращаем город на место
end;
Я для разрушение города использовал команду RazeTown("Название города"); Она отлично работала.
Я ток как восстановить город не знал. Спасибо. Попробую сегодня
Вот так вот смотришь, очень много людей задают различные вопросы по картостроению, а новых карт почти не выходит. А если и выходит, то от старожилов форума. Vita Городилов не в счет.
Ну, во-первых, если выходят карты от старожилов - это что, плохо, что ли? Во-вторых, уже вышли карты: одна от Мастера, ещё одна от него готовится, от EnterEsc'a, от меня что-то вышло + мультиплеер от всё того же Мастера... Заспойлерю немного: готовится у одного (не скажу, какого) пользователя кампания, ещё знаю как минимум 4-ёх человек, готовящих карты... В-третьих, Vita здесь вопросы как раз не задаёт. И в-четвёртых, не та тема для обсуждения.
Приветствую. Может кто—то объяснить за что отвечают в object properties раздел Shared, параметрЫ Blocked Tiles, active Tiles, Hole Tiles? Меняемый объект — город
BlockedTiles -- клетки, которые занимает объект, и которые будут непроходимыми, то есть красными, при выставлении объекта. ActiveTiles -- эти будут зелёными, попытка пойти на них = взаимодействие с объектом. HoleTiles -- эти не только будут непроходимыми, но и вырежут под собой текстуру поверхности, чтобы можно было увидеть подземную часть объекта (как у дварфийского города, всяких дыр в земле и проч.) Всё задаётся в относительных координатах от центральной для объекта клетки.
Спасибо большое Ещё такой вопрос, я поменял городу модель и из—за этого вокруг границ города появились так называемые дырки в текстурах, то есть видна подземная часть города. Не подскажите, как понять какой тайл нужно исправить? И где можно посмотреть центральную координату?
Чтобы понять, какие из Hole tiles клетки нужно удалять, достаточно знать лишь где находится центр. Узнать, где находится центр, очень просто: в Objects Properties Tree найти Pos => + => Выставить любую координату, нажать Enter. А потом посмотреть сверху на город, наведясь на клетку с теми же координатами: клетка, находящаяся на координатах, заданных вручную через Pos, и есть центральная. Проще удалить все Hole Tiles, а потом при надобности добавить + проще создать свой город, а не изменять старый.
}{0TT@6bI4Чтобы понять, какие из Hole tiles клетки нужно удалять, достаточно знать лишь где находится центр. Узнать, где находится центр, очень просто: в Objects Properties Tree найти Pos => + => Выставить любую координату, нажать Enter. А потом посмотреть сверху на город, наведясь на клетку с теми же координатами: клетка, находящаяся на координатах, заданных вручную через Pos, и есть центральная. Проще удалить все Hole Tiles, а потом при надобности добавить + проще создать свой город, а не изменять старый.
Спасибо вам за помощь с тайлами А есть где нибудь руководство как создай новый город? Я копировал графу Shared и работал с копией одного из городов, но по каким то причинам герой не мог в него войти (иконка для того чтобы войти в город не отображалась) хотя телепортироваться в город а также выйти из него все ещё было возможно.
Решил сделать на Отдельной карте уникальную арену, чтобы при штурме города вдобавок ко всем стенам ещё добавлялась стена из битвы с властелином. Стену добавить удалось, она даже работает, но по каким то причинам ее модель не отображается. Есть ее идеи как можно исправить сей недостаток?
Для изменения визуала боевых карт следует отправляться по адресу AdvMapDesc => CombatArenas => Ставим объект "стена Властелина" на карту на задний фон. Сохраняем, запускаем битву с этой ареной (или со своей, если новую создавали). У меня работало целиком и полностью.
P.S. Как вы определили, что стену добавить удалось, если вы не могли видеть её модель?