Герои Меча и Магии 5 - Картостроительство (Редактор карт)В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.
Это всё? Там нет не цикла, не startThread? Это неправильно, нужно же эту функцию запустить ещё, а не только объявить. И цикл бесконечный нужен.
function pokushenie() while 1 do if GetDate(DAY) == 42 then MessageBox("Maps/SingleMissions/Five Plunderers/podzhigatel.txt", TeleporateHero); break; end; sleep(2); end; end;
function TeleporateHero() SetObjectPosition("Biara", 31, 129, 0); end;
Не выходит. Может абзацы я не так расставил? можно подробнее, где какие?
Добавлено через 2 часа 39 минут И в 3 строке в конце точку с запятой не надо? А путь к сообщению... Я в правильную сторону поставил палочки? / или \?
Отступы, переходы на новую строку и прочие пробелы не влияют никак на исполнение кода. Почти то же самое можно сказать и про ";". Путь к сообщению написан правильно, однако для универсальности обычно пишут так:
GetMapDataPath() .. "имя_файла.txt"
или заносят в переменную путь:
path = GetMapDataPath()
и дальше используют уже её:
path.."имя_файла.txt"
Да, и имя функции в параметрах MessageBox пишется в кавычках.
Не знаю про тему читов, но Во первых у меня файл imput или как то так называется imput_a2, но там тоже бинды всех кнопок. Засунул туда строчку. Все по инструкции. Но ничего. Однажды у меня получалось. С годик-два назад. Но т.к. Винду переставил, то все вот заново приходится.
Добавлено через 12 часов 19 минут Все настроил. Консоль не ругается. Но по прежнему ничего не работает. Так же редактор начал просто жрать мои карты. После открытия моих копий они все весят килобайт. Благо у меня много копий. Может.. Сможет кто-нибудь проверенный помочь в доделывании скриптов для карты?
OrnsteinDragonslayer, карты некорректно сохраняются обычно из-за слишком длинного или содержащего кирилицу пути к папке с игрой. Можно попробовать перенести/переименовать ее для теста куда-нибудь повыше, скажем в D:/Heroes 5. Если не поможет, можно попробовать переустановить. По скриптам я недавно писал пару советов, может и вам будет актуально:
есть несколько направлений, в которые можно двигаться: Писать скрипты в редакторах с проверкой синтаксиса, к примеру HoMM5 MapScriptsEditor. Он как минимум будет сразу же выдавать предупреждение на всякие мелкие опечатки, плюс автодополнение названий функций и подсказка по параметрам (это правда работает немного глючно). Закомментируйте весь код скрипта, далее раскомментируйте по маленькому кусочку по несколько строк и проверяйте что он работает, или исправляйте его, пока не заработает и только потом переходите к следующему. То, что уже точно работает, можно помечать как-нибудь, чтобы в следующий раз не проверять снова. Ставьте в коде тестовые отладочные сообщения, вида print('такая-то функция выполнилась'). По ним легко видно какой участок кода был выполнен, какой нет. Особо удобная штука - отлаживать код не выходя из игры. Создаём в папке "путь_к_героям/data" txt файл в кодировке юникод и с расширением .lua, пишем в нем код, в котором не уверены, в конце файла можно добавить например print('script OK'), загружаем карту, открываем консоль, набираем @doFile('название_файла.lua'). Если видим в консоли зеленое сообщение 'script OK', значит код рабочий, если нет - сворачиваем героев, колдуем над файлом, не забываем сохранить, возвращаемся к героям, в консоли вбиваем ту же команду (можно просто нажать кнопку вверх). Повторяем пока код не заработает.
Насчет пути пробовал. Не помогает. Переустановить не смогу т.к. Нет интернета, а качается он у меня со стима => нет сетапа. Да со скриптами бы я и сам попотел, если бы не выведывался редактор. В данном случае я лишь прошу помощи у стороннего человека самостоятельно доделать скрипты по моей идее т.к. Остальная карта готова. + я уже на дизморали. Надо было первую карту хотябы мультиплеерную без скриптов делать. Так позже и поступлю...
Столкнулся с проблемой: почему герои,с отключённым AI не хотят проходить через враждебный гарнизон?
Ставлю героя,прописую EnableHeroAI и MoveHero,в MoveHero ставлю кординаты,единственная дорога к которым ведёт через враждебный (пустой) гарнизон,и... Герой стоит на месте.Ставлю кординаты перед гарнизоном и прекрасно идёт.Напасть на гарнизон тоже нападает без проблем,а просто пройти сквозь него не хочет.Подскажите,в чём дело?
Ставлю героя,прописую EnableHeroAI и MoveHero,в MoveHero ставлю кординаты,единственная дорога к которым ведёт через враждебный (пустой) гарнизон,и... Герой стоит на месте.Ставлю кординаты перед гарнизоном и прекрасно идёт.Напасть на гарнизон тоже нападает без проблем,а просто пройти сквозь него не хочет.Подскажите,в чём дело?
Пропишите MoveHero на клетку рядом с гарнизоном, потом ещё один MoveHero (на клетку гарнизона), а потом уже дальше. Или можно MakeHeroInteractWithObject ещё включить в эту последовательность для красоты (полагаю, если в гарнизоне кто-то будет, то в стабильности скрипт от этого только прибавит).
__________________ ✍
Слова что дал мне ты В моей груди всё разожгли! Они питают смелость мою Давлению вопреки.
MentПропишите MoveHero на клетку рядом с гарнизоном, потом ещё один MoveHero (на клетку гарнизона), а потом уже дальше. Или можно MakeHeroInteractWithObject ещё включить в эту последовательность для красоты (полагаю, если в гарнизоне кто-то будет, то в стабильности скрипт от этого только прибавит).
Спасибо,помогло)
А неподскажите почему игра не пишет "Задачи обновились" при обновлении списка заданий?
Жаль.Чтож,прийдется через message box писать "Задачи обновились"). А еще вопросик: можно ли както создать артефакт в нужном месте карты? Нужно чтобы при выполнении задания артефакт появлялся в нужных кординатах.Пробовал через SetObjectPosition его двигать,но почемуто артефакты эту команду игнорируют...