Да-да, я вот думаю, что же в той карте, что я кинул ранее, ломает.
Итак, я разобрался, что же там ломало.
Вот верные итоги.
Способ с приказом move лучше не использовать, почему, я описал выше.
Способ через паузу работает, если верно приписать условия в триггере. Лучше указать в условии проверку id приказа на равенство равкодов тех зданий, что юнит может строить. Можно сделать и по-другому: исключить все остальные приказы в точку. Это возможные способности у юнита в точку, приказы "smart", "patrol", "move" и приказ 851973 (этот приказ отдаётся при стане и паузе).
И способ, который использую я (самый надёжный): удаление строения во время начала постройки.
Ломал именно приказ 851973, потому что у меня были проверки только на "smart", "patrol" и "move". Я до конца думал, что приказ 851973 немедленный, то есть не отдаётся в точку, то есть триггер не должен срабатывать. Но на самом деле приказ 851973 либо ловится всеми событиями приказа, либо при паузе отдаётся в точку. Когда я делал эту версию карты (полтора года назад), я даже не знал об этом приказе.
Способ с приказом move лучше не использовать, почему, я описал выше.
Способ через паузу. Если поставить приказы в очередь, среди которых будет постройка на неверной местности, ресурсы за башню вернутся, а сам воин всё равно побежит строить. Итог - бесплатное строение.
И способ, который использую я (самый надёжный): удаление строения во время начала постройки.
вроде норм работает у меня. пока не замечал такого. но надо будет прочекать
Если ставить приказы в очередь, а в очереди будет неверное место постройки, голда не вернётся.
Вот карта, где используется способ отмены приказом move (смотри триггер Builder's Abilities\BuildOrder). Там этот баг наблюдается, только что проверял. Запретная местность в карте находится за пределами сетки игрока, а также если башня блокирует проход. 8gabriel8:
А это не ограничение на одну единицу здания? Если да, то мне такой способ кажется красивее
Безусловно, если дело лишь в количестве строений, то правильно и проще будет поставить лимит на количество. Если же дело в местности, то только через удаление строения.
Ну раз ты используешь официальную версию, то стоит написать на форум им. Вот пока единственная ветка это форума.
Но сначала я посоветую переустановить игру. Как установить, написано на том форуме в закреплённой теме про последний патч в самом конце.
Помню как-то скачал пиратский вар, начал делать кампанию, делал до ночи, а из-за того, что репак был говном, кампания не сохранялась. Так что в таких случаях стоит проверить сборку самого вара.
Я в недавней теме скидывал торренты с сайта гарены, использую английскую версию, до сих пор никаких проблем не было. EHP_Sequence:
Только что кстати было обновление, неужели с этим связано?
В LTW (и в моей карте) при неверном расположении здания оно удаляется сразу, как начинает строиться. Ранее использовал способ с отдачей приказа движения, но возникали баги с золотом (золото отнимается на этапе отдачи приказа, и, из-за перехвата приказа, оно иногда не возвращалось), а ещё этот способ сбивает очередь приказов.
Тоже юзал до недавнего времени, но с ним есть проблема: если выбрать папки на компе для синхронизации, а потом переустановить приложение синхронизации, то при выборе тех же папок они будут загружаться как новые.
Я перешёл на Bitbucket, так как там бесплатные приватные репозитории.
можешь ещё добавить деобфусцированный код из свежих версий доты, на xgm много такого материала)
Чего не знаю, того не знаю, дотой из вара не интересуюсь, интересовала только однажды иконка, ибо облазил весь варкрафт в её поиске, а она была импортной из вова.
Сделай спел на основе канала, при применении создаёшь руну с дождём и даёшь герою, ИЛИ создаёшь даммика и приказываешь ему кастовать дождь, но с руной всё же лучше.
вызов функции пишется до её описания\содания (видел много раз, мб ошибаюсь и не так понял)
Это не так, такое только может быть в методах структур vJass, и это чревато более медленным вызовом.
Нельзя вызвать функцию через call, если она не была определена ранее. Либо через триггер, либо через ExecuteFunc, либо сахаром от vJass. Так что тут ты ошибаешься.
А вообще в ООП языках (Java, C#, Eiffel) порядок функций (фич, методов, называйте как хотите) не важен. ssbbssc:
в джазе же блоки непонятно (лично мне) в каком порядке
Потому что таковых блоков вообще нет, данные конструкции в GUI это попросту упрощение. Я могу хоть все действия в самом событии прописать, если мне будет достаточно GetFilterUnit(), но обычно это не так.
Если просто сконвертировать GUI в JASS, то внизу будет создание триггера, посередине действия, а вверху условия и доп. функции от GUI.
Более того, там даже подписано (по-английски, разумеется), что есть действия, условия и инициализация триггера (в последнем также регистрируются события).
Названия нативок и бж интуитивно понятны, если не понятны, то в помощь Blizzard.j и common.j, там есть комментарии к некоторым функциям. В крайнем случае спрашиваешь на этом форуме.
Если больше нравится C style (или не нравится синтаксис JASS), то нужно прочитать мануал по cJass и писать на нём.
Если нужно ООП и куча синтаксического сахара, читаешь мануал по vJass, на XGM есть достойный перевод.
Тогда cJass пока стоит отключить, там с ним есть некоторые непонятки (для это нужно снять только 2 первые галки).
Отключи cJass и замени в папке jasshelper файл pjass.exe на этот.
Убедись, что включён UMSWE. Если нет, то включи и перезапусти редактор.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.
» XGM Team / XGM — Премия 2018 года
Ред. PT153
» WarCraft 3 / Приказ отмены постройки орков
Вот верные итоги.
Ломал именно приказ 851973, потому что у меня были проверки только на "smart", "patrol" и "move". Я до конца думал, что приказ 851973 немедленный, то есть не отдаётся в точку, то есть триггер не должен срабатывать. Но на самом деле приказ 851973 либо ловится всеми событиями приказа, либо при паузе отдаётся в точку.
Когда я делал эту версию карты (полтора года назад), я даже не знал об этом приказе.
Ред. PT153
» WarCraft 3 / Приказ отмены постройки орков
UPD: смотрю пример, видимо где-то что у меня в карте мешает.
Ред. PT153
» WarCraft 3 / Приказ отмены постройки орков
Ред. PT153
» WarCraft 3 / Приказ отмены постройки орков
Вот карта, где используется способ отмены приказом move (смотри триггер Builder's Abilities\BuildOrder). Там этот баг наблюдается, только что проверял.
Запретная местность в карте находится за пределами сетки игрока, а также если башня блокирует проход.
8gabriel8:
Ред. PT153
» WarCraft 3 / Пропадают изменения
Но сначала я посоветую переустановить игру. Как установить, написано на том форуме в закреплённой теме про последний патч в самом конце.
Ред. PT153
» WarCraft 3 / Пропадают изменения
Я в недавней теме скидывал торренты с сайта гарены, использую английскую версию, до сих пор никаких проблем не было.
EHP_Sequence:
Ред. PT153
» WarCraft 3 / Пропадают изменения
Ред. PT153
» WarCraft 3 / Приказ отмены постройки орков
» JackCraft / WarFortress (Mini-Game Contest-2018-WIP)
» WarCraft 3 / Способность которая действует по все карте
И не надо цитировать код.
» WarCraft 3 / Приколы книги заклинаний
» WarCraft 3 / Отлично, у меня сломалась карта.
Я перешёл на Bitbucket, так как там бесплатные приватные репозитории.
Ред. PT153
» WarCraft 3 / Дота, редактор и триггеры
Ред. PT153
» WarCraft 3 / Дыхание
Но я бы сделал (если бы умел) выход пара покороче и чуть повыше.
Ред. PT153
» WarCraft 3 / Дота, редактор и триггеры
Вот ещё.
И ещё.
» WarCraft 3 / Lua
» WarCraft 3 / Lua
» WarCraft 3 / Вопрос по хеш таблице
Ред. PT153
» WarCraft 3 / Lua
» WarCraft 3 / Свиток регенерации с отрицательным восстановлением
» WarCraft 3 / Lua
Lua так-то будет полезен, если заниматься программированием вне вара, он не игрушечный, как JASS.
Ред. PT153
» WarCraft 3 / Что делать?
Нельзя вызвать функцию через call, если она не была определена ранее. Либо через триггер, либо через ExecuteFunc, либо сахаром от vJass. Так что тут ты ошибаешься.
А вообще в ООП языках (Java, C#, Eiffel) порядок функций (фич, методов, называйте как хотите) не важен.
ssbbssc:
Я могу хоть все действия в самом событии прописать, если мне будет достаточно GetFilterUnit(), но обычно это не так.
Если просто сконвертировать GUI в JASS, то внизу будет создание триггера, посередине действия, а вверху условия и доп. функции от GUI.
Более того, там даже подписано (по-английски, разумеется), что есть действия, условия и инициализация триггера (в последнем также регистрируются события).
Названия нативок и бж интуитивно понятны, если не понятны, то в помощь Blizzard.j и common.j, там есть комментарии к некоторым функциям. В крайнем случае спрашиваешь на этом форуме.
Если больше нравится C style (или не нравится синтаксис JASS), то нужно прочитать мануал по cJass и писать на нём.
Если нужно ООП и куча синтаксического сахара, читаешь мануал по vJass, на XGM есть достойный перевод.
» WarCraft 3 / Вопрос по хеш таблице
Русская версия.
Английская версия.
» WarCraft 3 / Вопрос по хеш таблице
Отключи cJass и замени в папке jasshelper файл pjass.exe на этот.
Убедись, что включён UMSWE. Если нет, то включи и перезапусти редактор.
После всех этих действий сохрани карту. Если ошибок нет, то нажми проверить карту (Ctrl+F9). Если есть ошибки, то скрины ошибок сюда.