|
|
Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство. |
![]() |
|
Опции темы |
![]() |
#91 | ||
Регистрация: 10.11.2012
Сообщения: 21
![]() |
![]() Цитата:
Это был такой некрасивый костыль, чтобы игрок был синего цвета. Поэтому игру я начинал за второго ![]() ![]() Цитата:
![]() Upd: Спасибо Jack_of_shadows, end-а там действительно не хватало. Но теперь встает другая проблема: квест не хочет завершаться. Код:
Я пытался закомментить кусок про проверку наличия артефакта у героя, все сработало нормально ![]() Видимо, какая-то проблема в Код:
![]()
__________________
Злой пещерный демон ![]() |
||
![]() |
![]() |
![]() |
#92 |
Регистрация: 07.08.2016
Сообщения: 1
![]() |
![]() Ребят здравствуйте я начинающий в этом деле,хотелось бы узнать вот какую вещь: Хочу увеличить кол - во существ в постройке. Как можно это сделать ?
|
![]() |
![]() |
![]() |
#93 | |
Регистрация: 10.02.2012
Сообщения: 2358
![]() ![]() ![]() |
![]() Цитата:
__________________
Карты для Героев Меча и Магии 5 Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты Кампания: Империя Единорога Существа NCF Орден Порядка: 1 Нейтралы: 1 2 3 4 |
|
![]() |
![]() |
![]() |
#94 |
Регистрация: 11.08.2016
Сообщения: 1
![]() |
![]() Уважаемые мастера "RedHeavenHero" и "Ment" прошу вашей помощи! У меня 2 задачи:
-1- Создается карта для сетевой игры от 2х до 8ми игроков, возможны команды. Нужно выполнить следующее условие - когда пример игрок1 нападает на замок вражеского игрока2 и выигрывает битву, то данный замок должен превратится в груду развалин. Потом любой игрок который своим героем "заденет/войдет" эту груду развалин должен получить сообщение "желаете отстроить замок своей фракции за N количества ресурсов ?" и предлагается выбор "да" или "нет". При выборе ответа "да" с данного игрока списывается N ресурсов и появляется вместо груды развалин замок данного игрока самого начального уровня. Если ресурсов не хватает, то выдать сообщение "не хватает ресурсов". А то надоело контролировать замки чуждых фракций, и юнитов не стыкуеш и врагу отдавать опасно! -2- (не совсем честно) В самой первой версии Героев 5 во фракции "людей" разрешалось переобучать юнитов без ограничений, лижбы золота хватало. В последующих версиях сделали максимальное ограничение в 14 юнитов в неделю, что меня сильно печалит((((! Нужно убрать это ограничение для всех игроков, кто играет фракцией "людей". ---- Это должно быть 2 отдельных скрипта или еще как реализовано, так чтобы я мог применять их по отдельности или вместе. Играть собираюсь на лицензии по домашней сети или на одном компьютере. Будет здорово если в такую модифицированную карту можно будет сыграть с другом по интернету. ---- По скольку я ценю время грамотных/опытных людей готов в разумных пределах оплатить так сказать "тех поддержку" за текущие задания. Как вариант можете указать кошелек Киви и сумму. В 4х героях где можно было составлять скрипты из готовых блоков сам разобрался, а здесь изучать долго и вопросов много. По скольку игрой интересуюсь давно, возможно еще будут вопросы/задания. Желательно для возможных пояснений встретится в скайпе или тимспике. |
![]() |
![]() |
![]() |
#95 |
Регистрация: 15.02.2016
Адрес: Это Сочи, детка!
Сообщения: 7
![]() |
![]() Ребят, добрый день. Прошу о помощи! С Героями знаком более 7 лет и вот решил заняться картостроением. Конкретно прошу помощи по скриптам. Я понимаю, что в этой теме выкладывают уже готовые функции, но всё же хотелось бы немного пояснения, какая строчка, за что отвечает. Безусловно можно потратить часик и с помощью перечня функций и т.д. можно "расшифровать" код... Вот такая вот есть идея. Что-то простенькое написать и сам могу, но тут нужен просто совет и небольшое наставление. Так вот: при загрузке карты герою должно выдаваться основное задание, как добраться до точки. Как это будет правильно реализовать? Т.е. чтобы он добрался до определённого региона на карте, а там уже выполнился квест. Буду благодарен за помощь, и было бы совсем удачей, если можно будет пообщаться с бывалым скриптером. |
![]() |
![]() |
![]() |
#96 |
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 22022
![]() ![]() ![]() |
![]() Проще всего создать регион размера 1x1 и написать триггер по входу в этот регион:
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"имя региона","FName") Где FName -- имя функции. А перед этим собственно что должна делать функция function FName(heroname) if GetObjectOwner(heroname)==1 then SetObjectiveState("имя задания", OBJECTIVE_COMPLETED) Trigger(REGION_ENTER_AND_STOP_TRIGGER,"имя региона",nil) end; end; Внутри функции мы, во-первых, сделали проверку условия, что heroname принадлежит первому игроку (если игрок-человек первый, конечно). Во-вторых, если условие выполнено, засчитали задание выполненным и отменили действие триггера, чтобы он больше не вызывался. |
![]() |
![]() |
![]() |
#97 |
Регистрация: 15.02.2016
Адрес: Это Сочи, детка!
Сообщения: 7
![]() |
![]() Спасибо большое! Помогло и всё работает.
А вот сейчас попрошу громко не смеяться. Матом покрывать можно меня или другой лексикой, обзывательного характера. Даже стыдно писать вообще с такой мелочью... Вот самый наипростейший скрипт, который каждый из вас с закрытыми глазами напишет, даже если разбудить средь ночи. Герой входит в регион и ему вылетает сообщение с единственной кнопочкой "Да". MessageBox и не паримся. Но вот на дворе 2 часа носи, а я сижу и ломаю голову - что от меня хочет этот скриптер. Код:
Пару скринов: ![]() ![]()
__________________
Завтра - это всего лишь другое название для сегодня. ![]() |
![]() |
![]() |
![]() |
#98 |
Регистрация: 10.02.2012
Сообщения: 2358
![]() ![]() ![]() |
![]() Как минимум не совпадает путь текста - пропущена s в SingleMissions.
__________________
Карты для Героев Меча и Магии 5 Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты Кампания: Империя Единорога Существа NCF Орден Порядка: 1 Нейтралы: 1 2 3 4 |
![]() |
![]() |
![]() |
#99 |
Регистрация: 08.09.2013
Сообщения: 465
![]() |
![]() Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#100 | ||
Регистрация: 15.02.2016
Адрес: Это Сочи, детка!
Сообщения: 7
![]() |
![]() Цитата:
Цитата:
А можно немного всё расшифровать, пожалуйста? Прям вот по полочками и кажду частичку, если не трудно. А насчёт print'a... Идея дельная, а самое главное - важная и полезная. Учту.
__________________
Завтра - это всего лишь другое название для сегодня. ![]() |
||
![]() |
![]() |
![]() |
#101 | ||
Регистрация: 08.09.2013
Сообщения: 465
![]() |
![]() Цитата:
Цитата:
MessageBox - достаточно короткое название функции, но можно придумать и гораздо короче. "/Maps/SingleMission/Scenario 1/" - путь у всех текстовых файлов вероятно будет один. ".txt" - расширение файла тоже не изменяется. В результате всё, что будет повторятся, описывается один раз в новой функции, с удобным для вас и желательно коротким названием. В функцию передается только изменяющаяся часть - название файла. С помощью оператора ".." строчки склеиваются в одну. Второй параметр функции cb - аналогичен такому же второму параметру оригинального MessageBox (не буду объяснять его смысл, для этого есть документация). Второй параметр необязательный, можно его не указывать. Код:
P.S. Конечно, если планируется написать для карты 100 строк кода и всё, то можно на подобные советы не заморачиваться. |
||
![]() |
![]() |
![]() |
#102 | |
Регистрация: 15.02.2016
Адрес: Это Сочи, детка!
Сообщения: 7
![]() |
![]() Вот. Теперь дошло, о чём идёт речь. Да... так ведь намного проще выходит... просто каждый раз указываем новое имя текстового файла, а сама функция вставляет его в нашу заготовку, описанной всего 1 словом: MsgBox, а после выполняется.
Цитата:
Второй параметр отвечает за вызов новой функции после нажатия "Ок" на сообщении. И верно, в руководствах сказано, что можно не писать его. Хорошо, тогда следующий вопросик. "Каскадное задание". Допустим нам нужно захватить 3 разных шахты: лесопилку, рудную и серную. Как это будет правильней оформить? Задать 3 проверки и после каждой изменять статус задания или как? Или повесить триггер, который будет сверяться... например каждый день, есть ли у нас такая шахта?
__________________
Завтра - это всего лишь другое название для сегодня. ![]() |
|
![]() |
![]() |
![]() |
#103 |
Регистрация: 08.09.2013
Сообщения: 465
![]() |
![]() Если кроме игрока никто физически не сможет захватить шахты, то можно изменять статус по триггеру касания шахты. Если будут бегать компьютерные герои - тогда проверять раз в день или в отдельном потоке (функция startThread).
upd: хотя чего это я, не зависимо от компьютера можно проверять любым из трех вариантов, лишь бы корректно проверять кто именно захватил. |
![]() |
![]() |
![]() |
#104 | |
Регистрация: 15.02.2016
Адрес: Это Сочи, детка!
Сообщения: 7
![]() |
![]() Цитата:
Теперь пришла ещё одна смешная проблемка. Простое такое задание: - Зашёл в регион - получил задание на поиск артефакта и выполнил предыдущее. - Взял артефакт и задание выполнилось. Создал неактивное задание, которое не выводится изначально, на поиск артефактов. Потом просто его активирую. Код:
![]()
__________________
Завтра - это всего лишь другое название для сегодня. ![]() |
|
![]() |
![]() |
![]() |
#105 | |
Регистрация: 08.09.2013
Сообщения: 465
![]() |
![]() Так как задание primary, возможно, что если оно было единственным, то автоматически засчитывается победа по выполнению. Обычно для этого создается какое-нибудь основное задание, которе висит с начала игры и до конца (к примеру не потерять главного героя).
Еще можно поиграться с флагом Ignore: Цитата:
|
|
![]() |
![]() |