Впервые здесь? Я Роха — провести быструю экскурсию?
Ошибка соединенияНеверный запросСтраница устарелаСессия истеклаТребуется входЗапрещеноНе найденоСлишком много запросовВнутренняя ошибка сервераПлохой шлюзСервис недоступенТайм-аут шлюзаВерсия HTTP не поддерживается
Сессия истекла
Ваша сессия истекла. Пожалуйста, войдите снова.
Требуется вход
Для этого нужна учётная запись. Войдите или создайте её — это займёт минуту.
Страница устарела
Токен безопасности отклонён — обычно потому, что страница была открыта слишком долго или вы вошли в систему в другом месте. Ничего не сохранено. Обновите страницу и повторите.
Запрос не выполнен
При обработке вашего запроса возникла проблема.
Проверьте подключение к интернету и попробуйте снова.
Я не тестировал, эффекты каких бафов можно наложить скриптом, в этом вопросе более компетентен Waterfall, который это тестировал
Ну я как бы тоже не тестировал что можно накладывать скриптом (потому что никогда не писал ни одного скрипта). Но каждый скилл имеет графу БАФЫ и вот туда что-то можно всунуть xD Допустим вот пример, в графу бафы вписана руна берсеркерства и теперь центр-перк рыцаря позволяет его армии бить дважды.
Здравствуйте ещё раз! 👻 Возник ещё один вопрос: можно ли выносить изменение счётчика прогресса из скриптов в текстовый файл? Я знаю, что такое работает с MessageBox, вскрыв 3 карту кампании за Орнеллу и Арантира. Там это выглядит вот так:
"Вы наняли на этом погосте <value=quantity> зомби!"
Мне же хочется использовать подобное на SetObjectiveProgress. Прописал скрипт:
red_troops_count = 0;
function red3() print("Проверяем сколько челов собрал Влад"); if red_troops_count ~= 3 then red_troops_count = red_troops_count + 1; print("Влад собрал ", red_troops_count ," демонов из 3"); sleep(1); SetObjectiveProgress( "test_obj", red_troops_count ); else if red_troops_count == 3 then SetObjectiveProgress( "test_obj", red_troops_count ); print("Влад собрал всех демонов. Arrivederci Signor Giocatore!"); end; end; end;
for i = 1, 3 do Trigger( OBJECT_TOUCH_TRIGGER, "rh"..i, "red3" ) end;
И текст прогресса квеста:
Собрано <value=red_troops_count> из 3 демонов
Скрипт работает(хотя научил бы кто-нибудь расставлению end'ов, а то порой +100500 перезапусков сценария на наличие ошибок скрипта начинает выводить), но вот текст в прогрессе квеста не видит этот самый прогресс, оставляя место между "Собрано" и "из" пустым.
Азгалор, описание квестов данную фичу не поддерживает, к тому же у вас синтаксис выдуман из головы, а чтобы оно работало (там где может работать), должно быть написано ровно так, как в примере - в фигурных скобках, через точку с запятой, в виде приравнивания имени из текстового файла и значения. Но если прогрессов квеста всего несколько, можно создать для каждого своё описание "Собрано 1 из 3 демонов", "Собрано 2 из 3 демонов" и т.д. В ЧаВо из моей подписи это описано. Азгалор
научил бы кто-нибудь расставлению end'ов
Так просто делайте все внутренние блоки кода с отступом относительно внешнего блока, например:
function red3() print("Проверяем сколько челов собрал Влад"); if red_troops_count ~= 3 then red_troops_count = red_troops_count + 1; print("Влад собрал ", red_troops_count ," демонов из 3"); sleep(1); SetObjectiveProgress( "test_obj", red_troops_count ); else if red_troops_count == 3 then SetObjectiveProgress( "test_obj", red_troops_count ); print("Влад собрал всех демонов. Arrivederci Signor Giocatore!"); end; end; end;
И никаких проблем с end'ами не будет, всё будет видно визуально.
РПГ-сценарий для HoMM5: Путь героя ЧаВо по созданию карт для HoMM5: ЧаВо
Азгалор, описание квестов данную фичу не поддерживает, к тому же у вас синтаксис выдуман из головы, а чтобы оно работало (там где может работать), должно быть написано ровно так, как в примере - в фигурных скобках, через точку с запятой, в виде приравнивания имени из текстового файла и значения. Но если прогрессов квеста всего несколько, можно создать для каждого своё описание "Собрано 1 из 3 демонов", "Собрано 2 из 3 демонов" и т.д. В ЧаВо из моей подписи это описано. Так просто делайте все внутренние блоки кода с отступом относительно внешнего блока, например:
function red3() print("Проверяем сколько челов собрал Влад"); if red_troops_count ~= 3 then red_troops_count = red_troops_count + 1; print("Влад собрал ", red_troops_count ," демонов из 3"); sleep(1); SetObjectiveProgress( "test_obj", red_troops_count ); else if red_troops_count == 3 then SetObjectiveProgress( "test_obj", red_troops_count ); print("Влад собрал всех демонов. Arrivederci Signor Giocatore!"); end; end; end;
И никаких проблем с end'ами не будет, всё будет видно визуально.
Это да, после отправки своего вопроса я попробовал прописать обжективпрогресс как тот msg бокс, и получил ошибку о том что неверен первый аргумент. Обидно что разрабы не сделали этот функционал и на обжективпрогрессы, а то например мне нужно чтобы прогресс менялся на каждом существе, а их планируется 20-30(для теста скрипта поставил только 3), и мне для этого придётся целых 30 txt файлов клёпать?... Ладно уж, нормальные герои всегда идут в обход, как говорится. 😄 Пока что скачаю ЧаВо из вашей подписи и почитаю что там есть)
Внутренние блоки кода относительно внешнего блока - это всякие проверки и подфункции? Типа if, while, SetObjectiveState? Просто я в скриптовых терминах полный 0. 💀
Добавлено через 1 минуту }{0TT@6bI4
Также порекомендую пользоваться редактором скриптов, который любезно подсказывает о нехватке end'ов и подсвечивает, какой блок не закрыт.
Скачал его, но не пользовался. Лишь прочитал вступление про Lua, и какие есть проверки и т.д. Благодаря ему узнал что такое массив)) Надо попробовать на нём помастерить.
И ещё вопрос, который меня давненько беспокоит. В общем, есть функция MakeHeroReturnToTavernAfterDeath. Ситуация: Есть у меня союзник-рыцарь с героем Дугал. Этому союзнику я прописал чтобы он никого не нанимал кроме Дугала, то есть всё в ноль через AllowPlayerTavernRace, а Дугала AllowPlayerTavernHero(player, "Orrin", 1), и MakeHeroReturnToTavernAfterDeath чтобы храбрый рыцарь дрался пока его не похоронят. Приходит время и это действительно происходит, игрок-Дугал проигрывает, и теперь возникает то ли баг то ли какое-то моё незнание: Не могу Дугала себе перестроить. То есть, блокирую его для найма у павшего игрока, разрешаю у себя и, чтоб наверняка "сработало", обнуляю его возвращение в таверну после смерти, а он не появляется. Неделя-другая, а его всё нет и нет. Можно ли это как-то поправить?
Здравствуйте. У меня возникла пара любопытных вопросов. 1) Можно ли специализацию любого героя (Шадии например) передать герою другой фракции, однако со своим описанием и иконкой (скорее всего так сделать можно, но на всякий случай спрашиваю). 2) При создании собственного двеллинга, возникла проблемка: индикатор принадлежности к игроку наполовину скрыт в текстуре(скрин прилагается). Можно ли её решить? 3) Помнится, где-то видел старую иконку Годрика (Где он меч держит на плече). Облазил половину Интернета, смотрел среди иконок Повелителей орды, нигде не нашел. Может, кто-нибудь знает о её местонахождении.
1) Как создать своего героя? 2) Честно, не знаю. Разве что поменять расположение эффекта, но тогда и везде в остальных местах он уползёт вверх. 3) Эта иконка?
Здравствуйте. И снова я со своими проблемами. Первая связана с 4 миссией моей кампании. Судя по отзывам на форуме и прохождению на Youtube замок некромантов не разрушается. Хотя в графе Razed стоят руины людского города. Лично у меня всё работает, город взрывается под "Метеоритный дождь" (скрины прилагаются). С чем связан этот баг не понимаю. Вторая проблема: не понимаю, как систематизировать появление "красных героев" в таверне. У некоторых игроков герои вообще не нанимаются. Перезапуск карты решает проблему, однако, хочется узнать: можно ли исключить эту случайную вероятность?
Насчет замка — пока идей нет, а вот с наймом героев все достаточно просто. Нужно воспользоваться функцией AllowPlayerTavernRace(номеригрока, TOWN_XXX, nil) для всех рас, кроме людской, и AllowPlayerTavernHero(номеригрока, "имя героя", nil) для всех героев, кроме красных.