Добрый вечер, геройщики! Появилось желание изменить сокровищницы в HoMM 5 (по типу vault of magi, blood temple, crypt и т.д.), чтоб вместо ресурсов они выдавали существ, как в тройке. Кто достаточно шарит, есть способ это сделать? Как я понял, в defaultstats можно только изменять тип охраны и в качестве награды выдавать ресурсы/ спеллы/ арты.
__________________ ✍
"Один против всех, и каждый сам за себя!"
Вроде бы вы разбираетесь в скриптах, поэтому просто напишу общий список действий: - составить скриптовые таблицы с охранами и наградами (организуйте так, как вам удобно) - на старте карты обходить все банки такого типа при помощи GetObjectNamesByType("BUILDING_BLOOD_TEMPLE") и вешать триггеры касания - вообще, можете создать аля класс здание-банк с соответствующими инициализаторами.. - касание банка эмулирует бой от StartCombat, а в коллбэке при победе героя ему выдаётся случайная награда (или привязанная к силе охраны) - в коллбэке также зануляется триггер касания (или по красоте вешается сообщение "Сокровищница уже разграблена" +MarkObjectAsVisited())
__________________ ✍С уважением, }{0TT@6bI4 _________________ Группа картостроителей Там ответы на вопросы, руководства, гайды и прочее _________________
С уважением, }{0TT@6bI4 _________________ Группа картостроителей Там ответы на вопросы, руководства, гайды и прочее _________________
}{0TT@6bI4Вроде бы вы разбираетесь в скриптах, поэтому просто напишу общий список действий: - составить скриптовые таблицы с охранами и наградами (организуйте так, как вам удобно) - на старте карты обходить все банки такого типа при помощи GetObjectNamesByType("BUILDING_BLOOD_TEMPLE") и вешать триггеры касания - вообще, можете создать аля класс здание-банк с соответствующими инициализаторами.. - касание банка эмулирует бой от StartCombat, а в коллбэке при победе героя ему выдаётся случайная награда (или привязанная к силе охраны) - в коллбэке также зануляется триггер касания (или по красоте вешается сообщение "Сокровищница уже разграблена" +MarkObjectAsVisited())
Ну, в рамках одного сценария вопросов не возникает. А куда и как записать скрипт, чтоб он распространялся на все карты, включая RMG?
__________________ ✍
"Один против всех, и каждый сам за себя!"
ДолгийВ data.pak есть папка scripts. Вам интересен advmap-startup.lua. В нём в конце нужно написать doFile с ссылкой на ваши триггеры.
Совет помог, спасибо. Но есть одна проблема. В одиночной игре скрипты отрабатывают, сокровищницы работают как надо, но это не распространяется на мультиплеер. При попытке начать игру на рмг карте с оппонентом все банки существ сбрасывают свои скрипты и действуют согласно своим функциям до изменений. При попытке сыграть ту же самую карту в одиночном режиме, все снова становится хорошо. Разумеется, модификация у оппонента тоже имеется. В чем может быть проблема?
__________________ ✍
"Один против всех, и каждый сам за себя!"
Совет помог, спасибо. Но есть одна проблема. В одиночной игре скрипты отрабатывают, сокровищницы работают как надо, но это не распространяется на мультиплеер. При попытке начать игру на рмг карте с оппонентом все банки существ сбрасывают свои скрипты и действуют согласно своим функциям до изменений. При попытке сыграть ту же самую карту в одиночном режиме, все снова становится хорошо. Разумеется, модификация у оппонента тоже имеется. В чем может быть проблема?
advmap-startup.lua подгружается только если в MapScript карты указана ссылка на скрипт. Нужно либо патчить карты, либо вручную прописывать ссылки
__________________ ✍С уважением, }{0TT@6bI4 _________________ Группа картостроителей Там ответы на вопросы, руководства, гайды и прочее _________________
С уважением, }{0TT@6bI4 _________________ Группа картостроителей Там ответы на вопросы, руководства, гайды и прочее _________________
}{0TT@6bI4advmap-startup.lua подгружается только если в MapScript карты указана ссылка на скрипт. Нужно либо патчить карты, либо вручную прописывать ссылки
Понял, буду думать
__________________ ✍
"Один против всех, и каждый сам за себя!"