Скрипты - Страница 260 - Форум HeroesWorld-а

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

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

Ответ
Страница 260 из 260
 
Опции темы
#3886
Старый 22.03.2024, 01:15
  #3886
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 46
Регистрация: 07.07.2019
Сообщения: 46
По умолчанию
Re: Скрипты

Азгалор

А он везде нужен. Во всех функциях где нужно указывать путь к какому-то файлу, требуется первым вписывать слеш:

"/Effects/_(Effect)..."
"/Characters/..."
"/Sounds/_(Sound)/..."
"/DialogScenes/..."
"/Maps/SingleMissions/..."

Везде, кроме GetMapDataPath()


Писал до этого, что с GetMapDataPath() тоже белый экран. А вот если прописать абсолютный путь обычным образом, то работает.
Shiroyasha2910 вне форума
Ответить с цитированием
#3887
Старый 21.05.2024, 02:56
  #3887
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 46
Регистрация: 07.07.2019
Сообщения: 46
По умолчанию
Re: Скрипты

Доброй ночи, есть ли способ с помощью скриптов восстановить темную энергию? Или кроме подсчета с помощью GetPlayerNecroEnergy ничего нет?
Shiroyasha2910 вне форума
Ответить с цитированием
#3888
Старый 10.06.2024, 14:30
  #3888
^
Madara_X
 
Аватар для Madara_X
📖
Регистрация: 08.06.2024
Сообщения: 5
Регистрация: 08.06.2024
Сообщения: 5
По умолчанию
Re: Скрипты

Всем привет! Вопрос по функции PlayObjectAnimation. При использовании объекты встают в раскорячку. Существа некрополиса. Читал на форуме, что это из-за того, что к существу не привязана данная анимация. Хотелось бы узнать, как можно исправить эту недоработку? Может, можно как-то прописать путь до файла анимации?
Вот пример кода:
PlayObjectAnimation("sklep5", "death", ONESHOT_STILL)
PlayObjectAnimation("archlich", "cast", ONESHOT);
Madara_X вне форума
Ответить с цитированием
#3889
Старый 10.06.2024, 16:15
  #3889
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 213
Регистрация: 24.04.2016
Сообщения: 213
По умолчанию
Re: Скрипты

Madara_XВсем привет! Вопрос по функции PlayObjectAnimation. При использовании объекты встают в раскорячку. Существа некрополиса. Читал на форуме, что это из-за того, что к существу не привязана данная анимация. Хотелось бы узнать, как можно исправить эту недоработку? Может, можно как-то прописать путь до файла анимации?
Вот пример кода:
PlayObjectAnimation("sklep5", "death", ONESHOT_STILL)
PlayObjectAnimation("archlich", "cast", ONESHOT);

Большинство существ и героев имеют 2 вида анимаций: анимации арены(например, с припиской -arena), и анимации карты приключений(например, с припиской -adv). Если вы хотите задействовать какое-то существо на карте чтобы оно проигрывало анимации с арены, нужно отредактировать конфиг из MapObjects/Раса этого существа, чтобы оно применяло модель и анимации арены как на самой арене, так и на карте приключений. Для этого возьмём к примеру Вампиров из Некрополиса, откроем файл Vampire.(AdvMapMonsterShared).xdb по пути MapObjects/Necropolis. Тут нас интересуют только первые 2 строки, Model и AnimSet. Как видим, здесь модель LOD и анимация -adv, а значит у существа низкокачественная модель и всего 1 анимация специально для карты - idle. Нужно скопировать файл в свою карту, положить по такому же пути, и в первой строке убрать приписку _LOD, а во второй строке _LOD-adv заменить на -arena. Должно получиться такое между кавычек:
Model href="/_(Model)/Creatures/Necropolis/Vampire.(Model).xdb#xpointer(/Model)"
AnimSet href="/_(AnimSet)/Creatures/Necropolis/Vampire-arena.(AnimSet).xdb#xpointer(/AnimSet)"
Азгалор вне форума
Ответить с цитированием
#3890
Старый Вчера, 12:21
  #3890
^
Madara_X
 
Аватар для Madara_X
📖
Регистрация: 08.06.2024
Сообщения: 5
Регистрация: 08.06.2024
Сообщения: 5
По умолчанию
Re: Скрипты

Азгалор, спасибо огромное! Выручил! Хотел еще спросить по поводу StartCombat() и SiegeTown(). Я правильно понимаю, что я не могу в функции SiegeTown() задать доп параметры в виде вражеского героя и его армии? Думаю реализовать битву через StartCombat() и задать осадную арену. Вот только не могу найти файлик. Ищу по пути /Arenas/CombatArena/Stronghold_arena, но вижу там только текстуры, материалы и объекты арены. Отсюда вопрос: где искать файл с ареной (какая у него должна быть приписка?) и возможно ли реализовать SiegeTown() с доп параметрами?
Madara_X вне форума
Ответить с цитированием
#3891
Старый Вчера, 17:13
  #3891
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 213
Регистрация: 24.04.2016
Сообщения: 213
По умолчанию
Re: Скрипты

Madara_XАзгалор, спасибо огромное! Выручил! Хотел еще спросить по поводу StartCombat() и SiegeTown(). Я правильно понимаю, что я не могу в функции SiegeTown() задать доп параметры в виде вражеского героя и его армии? Думаю реализовать битву через StartCombat() и задать осадную арену. Вот только не могу найти файлик. Возможно ли реализовать SiegeTown() с доп параметрами?

Пожалуйста, был рад помочь) Насчет SiegeTown() - принимает только 3 аргумента, а именно: heroName(герой который будет осаждать), townName(город который будет осаждать), arenaName(кастомная арена для осады. Аргумент можно не заполнять, в таком случае осада произойдёт на стандартной для города арене, т.е. трава для людей и эльфов, лава для демонов и т.д.). Заполняется, кстати говоря, вот так: SiegeTown("Godric", "/Maps/Scenario/C6M5/Ur-Hekal.xdb#xpointer(/AdvMapTown)",
'/Scenes/CombatArenas/Boss_c6m5_Biara.xdb#xpointer(/AdventureFlybyScene)'). Это кусок кода из финальной миссии оригинальной кампании за Зехира, где нужно победить Биару и Властелина. Можешь от туда подсмотреть как всё работает, там как раз и скрипты для осады города(бои с Биарой), и для битв на кастомной арене(со щитом и катапультой) с Властелином.
По поводу StartCombat как осада - посмотрел в файлах, и так понимаю что осада через эту функцию реализована только для битвы с Властелином, для которой создана специальная папка боевой арены. Находится она по пути Arenas/CombatArena/FinalCombat. Так что, если тебе нужно сделать уникальную осаду, можешь посмотреть как это реализовано на той арене. Впрочем, чуть ниже я пропишу как найти ссылки на осадные карты, и можешь попробовать использовать их для StartCombat(), но если тебе нужна просто заскриптованная осада, то проще пользоваться SiegeTown(), сам город(если не запланировано его наличие у нужного оппонента) можно поставить где-то вне зоны видимости, а во время боя на начальной стадии просто спавнить оппоненту юнитов, или же спавнить их ещё перед боем
Madara_XИщу по пути /Arenas/CombatArena/Stronghold_arena, но вижу там только текстуры, материалы и объекты арены. Отсюда вопрос: где искать файл с ареной (какая у него должна быть приписка?)

Верно, в тех папках прописаны модели арены и их расположение на ней, т.е. башни, стены и ворота. Вообще, ссылки на осадные арены прописаны в конфигах самих городов. Т.е., ставишь(или открываешь в ресурсах игры и смотришь сразу там файл, но удобней пожалуй через Shared, т.к. там сразу полный путь к файлу) город, заходишь в его Shared и там увидишь строку Combat, в которой прописана ссылка на боевую арену города. Эта ссылка ведёт на файл, который подтягивает саму карту арены и объекты(башни, стены и ворота) на неё.
Азгалор вне форума
Ответить с цитированием
#3892
Старый Вчера, 18:21
  #3892
^
Madara_X
 
Аватар для Madara_X
📖
Регистрация: 08.06.2024
Сообщения: 5
Регистрация: 08.06.2024
Сообщения: 5
По умолчанию
Re: Скрипты

Спасибо, сейчас буду пробовать!
upd.
Чем дальше в лес, тем толще партизаны... Выдает ошибку скрипта Hero is not reserved (для вражеского героя). Хотя герой стоит на карте, другие скрипты с ним работают. Возможно ли вообще начать бой с героем на карте?
P.S. Добавлять в резерв через Player Properties тоже пробовал, не работает(
Madara_X вне форума
Ответить с цитированием
#3893
Старый Вчера, 19:40
  #3893
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 213
Регистрация: 24.04.2016
Сообщения: 213
По умолчанию
Re: Скрипты

Madara_XСпасибо, сейчас буду пробовать!
upd.
Чем дальше в лес, тем толще партизаны... Выдает ошибку скрипта Hero is not reserved (для вражеского героя). Хотя герой стоит на карте, другие скрипты с ним работают. Возможно ли вообще начать бой с героем на карте?
P.S. Добавлять в резерв через Player Properties тоже пробовал, не работает(

Чтобы работать с функцией DeployReserveHero(), нужно добавить героя в резерв игроку и чтобы этот герой не находился на карте
Азгалор вне форума
Ответить с цитированием
#3894
Старый Вчера, 19:46
  #3894
^
Madara_X
 
Аватар для Madara_X
📖
Регистрация: 08.06.2024
Сообщения: 5
Регистрация: 08.06.2024
Сообщения: 5
По умолчанию
Re: Скрипты

АзгалорЧтобы работать с функцией DeployReserveHero(), нужно добавить героя в резерв игроку и чтобы этот герой не находился на карте

Опытным путем я выяснил, что я могу вызывать героя из резерва для StartCombat(), правда он нейтральный, даже если я в редакторе присваиваю ему принадлежность. Однако я хочу провести бой с конкретным персонажем, который уже есть на карте, но функция отказывается его воспринимать(

Я видел эту реализацию скрипта у других. Возможно, ты подскажешь, как вытащить карту из кампании? Тогда бы я смог сам покопаться в коде) И потом, если интересно, поделиться решением)
Madara_X вне форума
Ответить с цитированием
#3895
Старый Вчера, 19:51
  #3895
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 213
Регистрация: 24.04.2016
Сообщения: 213
По умолчанию
Re: Скрипты

Madara_XВозможно, ты подскажешь, как вытащить карту из кампании?

Создаёшь новую карту, открываешь ресурсы нужной тебе карты кампании, экспортируешь их в корневую папку новой карты. Закрываешь карту, открываешь повторно, и у тебя карта становится картой из кампании
Азгалор вне форума
Ответить с цитированием
#3896
Старый Вчера, 22:28
  #3896
^
Madara_X
 
Аватар для Madara_X
📖
Регистрация: 08.06.2024
Сообщения: 5
Регистрация: 08.06.2024
Сообщения: 5
По умолчанию
Re: Скрипты

Посмотрел, как это реализовано у RedHeavenHero (2 миссия) - в итоге там все оказалось гораздо банальнее, чем я думал. Там просто гарнизону присвоен тип города. Никаких сложных скриптов. Пойду пробовать реализовывать)

Добавлено через 40 минут
Выяснилось, что игре стабильно пофиг на параметр TownType. Уже даже полазил в Shared гарнизона, там есть интересный параметр TerrainAlign, который тоже ни на что не влияет...

Добавлено через 1 час 20 минут
Решение для будущих поколений: ставите Outpost (для которого работают модификаторы города), а затем заменяете его модельку через Shared на то, что вам нужно
Madara_X вне форума
Ответить с цитированием
Ответ
Страница 260 из 260


Опции темы



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


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

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