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

Сообщения от Банки существ

Пока нет оценок — будьте первым!
Аватар пользователя
Добрый вечер, геройщики! Появилось желание изменить сокровищницы в HoMM 5 (по типу vault of magi, blood temple, crypt и т.д.), чтоб вместо ресурсов они выдавали существ, как в тройке. Кто достаточно шарит, есть способ это сделать? Как я понял, в defaultstats можно только изменять тип охраны и в качестве награды выдавать ресурсы/ спеллы/ арты.
"Один против всех, и каждый сам за себя!"
Аватар пользователя
Скриптами можно.
И да, существует способ сделать так, чтобы с вашим модом эти скрипты работали на всех картах, см. NHF.
 

К А
Стикеры GBF в Telegram
Аватар пользователя
Вроде бы вы разбираетесь в скриптах, поэтому просто напишу общий список действий:
- составить скриптовые таблицы с охранами и наградами (организуйте так, как вам удобно)
- на старте карты обходить все банки такого типа при помощи GetObjectNamesByType("BUILDING_BLOOD_TEMPLE") и вешать триггеры касания
- вообще, можете создать аля класс здание-банк с соответствующими инициализаторами..
- касание банка эмулирует бой от StartCombat, а в коллбэке при победе героя ему выдаётся случайная награда (или привязанная к силе охраны)
- в коллбэке также зануляется триггер касания (или по красоте вешается сообщение "Сокровищница уже разграблена" +MarkObjectAsVisited())
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя

}{0TT@6bI4
Вроде бы вы разбираетесь в скриптах, поэтому просто напишу общий список действий:
- составить скриптовые таблицы с охранами и наградами (организуйте так, как вам удобно)
- на старте карты обходить все банки такого типа при помощи GetObjectNamesByType("BUILDING_BLOOD_TEMPLE") и вешать триггеры касания
- вообще, можете создать аля класс здание-банк с соответствующими инициализаторами..
- касание банка эмулирует бой от StartCombat, а в коллбэке при победе героя ему выдаётся случайная награда (или привязанная к силе охраны)
- в коллбэке также зануляется триггер касания (или по красоте вешается сообщение "Сокровищница уже разграблена" +MarkObjectAsVisited())

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

"Один против всех, и каждый сам за себя!"
В ответ пользователю Картошечка_Pro
Аватар пользователя
В data.pak есть папка scripts. Вам интересен advmap-startup.lua. В нём в конце нужно написать doFile с ссылкой на ваши триггеры.
В ответ пользователю Долгий
Аватар пользователя

Долгий
В data.pak есть папка scripts. Вам интересен advmap-startup.lua. В нём в конце нужно написать doFile с ссылкой на ваши триггеры.

Благодарю за навигацию 

"Один против всех, и каждый сам за себя!"
В ответ пользователю Долгий
Аватар пользователя

Долгий
В data.pak есть папка scripts. Вам интересен advmap-startup.lua. В нём в конце нужно написать doFile с ссылкой на ваши триггеры.

Совет помог, спасибо. Но есть одна проблема. В одиночной игре скрипты отрабатывают, сокровищницы работают как надо, но это не распространяется на мультиплеер. При попытке начать игру на рмг карте с оппонентом все банки существ сбрасывают свои скрипты и действуют согласно своим функциям до изменений. При попытке сыграть ту же самую карту в одиночном режиме, все снова становится хорошо. Разумеется, модификация у оппонента тоже имеется. В чем может быть проблема?

"Один против всех, и каждый сам за себя!"
В ответ пользователю Картошечка_Pro
Аватар пользователя
Картошечка_Pro

 

Совет помог, спасибо. Но есть одна проблема. В одиночной игре скрипты отрабатывают, сокровищницы работают как надо, но это не распространяется на мультиплеер. При попытке начать игру на рмг карте с оппонентом все банки существ сбрасывают свои скрипты и действуют согласно своим функциям до изменений. При попытке сыграть ту же самую карту в одиночном режиме, все снова становится хорошо. Разумеется, модификация у оппонента тоже имеется. В чем может быть проблема?

advmap-startup.lua подгружается только если в MapScript карты указана ссылка на скрипт. Нужно либо патчить карты, либо вручную прописывать ссылки
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя

}{0TT@6bI4
advmap-startup.lua подгружается только если в MapScript карты указана ссылка на скрипт. Нужно либо патчить карты, либо вручную прописывать ссылки

Понял, буду думать

"Один против всех, и каждый сам за себя!"

Статистика

Приветствуем новейшего участника: Emil