Многое читал о функции начисления этого ресурса после постройки здания, написанной с помощью JASS. Можно ли обойтись встроенным в ворлд эдитор редактором триггеров, чтобы создать триггер на автоматическое начисление игроку древесины?

Копируй себе все три триггера и настраивай на свой лад:
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
если в какую-то сначала поиграть.
Это было про карты с мемхаком.
26
Вряд ли, хотя возможно, потому что обсуждали это давно, мог перепутать. Но вроде бы тогда как раз в утечках была проблема. Вроде дважды читал об этом, сначала не припомню какой человек спрашивал, но в другой раз вроде гуишник был.
28
Слышал звон, да не знаю, где он.
8gabriel8:
Вряд ли
Под конкурсом мини-игр как раз-таки такое было про карты с мемхаком.

Про утечки это как минимум бред потому, что тогда все триггеры, юниты и прочие объекты висят в памяти после выхода карты.
26
Год или два назад читал, причём здесь конкурс мини-игр?

Проверить не сложно, возьми карту с утечками, дождись состояния, когда игра начнёт сильно тормозить, закончи карту и начни новую.
28
Год или два назад читал, причём здесь конкурс мини-игр?
Потому что только там в комментариях я такое увидел.
PT153:
Про утечки это как минимум бред потому, что тогда все триггеры, юниты и прочие объекты висят в памяти после выхода карты.
Всё же очень глупо оставлять объекты карты после выхода из неё, разрабы вк3 не кретины же.

Прикрепил карту. В ней во время инициализации создаётся 250000 групп.
Скриншоты потребления игры во время работающей карты и после выхода из неё.

Утечки влияют исключительно на ту карту, где они и были созданы.
Загруженные файлы
17
Утечки удаляются в момент выхода из карты, чем дольше игра виснет когда тыкаешь ок на лоадскрине, тем больше было утечек
это тестил утечные тексттаги, минут за 10 набралось 2кк, утекало по 50 тт каждые 0.01 сек
вар стал требовать почти 1гб озу, ну и фпс дико просел после 1.5кк
Загруженные файлы
33
PyCCKuu_4eJl, а месье знает толк в извращениях XD, но до такого ни 1 карта не дойдёт наверное, гуишная мапа вылетит на 100к, а не на двух миллионах
26
Если всё так, то это хорошо. Но чем тогда объяснить увеличение времени загрузки карты Survival Chaos после каждой игры в неё (без выхода из программы)?
28
Survival Chaos
Если там используется мемхак, то дело вполне может быть в нём (забыли что-то где-то почистить). Если нет, то дело может быть в импортируемых звуках и шрифтах, которые подгружаются в память, но не очищаются после выхода из игры (и это не JASS объекты).

Сам вопрос-то решён?
26
Если бы был мемхак, то не соответствует тому, что после мемхака игру всегда требуется перезапускать. Шрифтов новых вроде бы нет, но есть несколько импортированных wav-звуков английской озвучки. Только размер их слишком мал по сравнению с заметным увеличением времени загрузки. Явно есть что-то ещё. И это не только с Survival Chaos проблема, в ней лишь наиболее ярко это наблюдал, потому что много играл в неё, с многими другими картами аналогичная ситуация, поиграешь в карту, следующая медленнее загружается, потом ещё медленнее.

Какой вопрос имеешь ввиду? Если основной вопрос автора, то конечно)


Лорд13, вот карта с оптимизацией/совершенствованием триггера.
Там несколько триггеров stage x, на которых поэтапно показаны изменения. В итоге становится понятно, почему один триггер лучше не использовать, так как просто не хватает необходимого функционала для полноценной работы одного триггера.
  • stage 0 - это первый этап оптимизации, где убраны действия Ничего не делать и добавлено удаление группы, чтобы устранить утечку. Важно отметить, чтобы удаление группы стояло в нужном месте. Если бы поставил его в перебор группы с действиями Если/То/Иначе, то оно удалило бы группу после перебора первого юнита, и дальше перебор не пошёл бы;
  • stage 1 - это создание уточняющих условий, что здание не в процессе строительства и живое. К сожалению, нет условия на проверку здания, построено ли оно уже, потому использовать надо событие Юнит Завершает строительство. Но чтобы всё-таки сделать один триггер, можно использовать проверку на уровень способности. У большинства зданий, не принадлежащих Нежити, есть способность Развеивание порчи. Она имеет уровень 1, то есть активна, лишь у строящегося здания, а у построенного её уровень 0, то есть способности этой словно нет. Такая проверка на уровень способности не будет универсальным решением, так как в процессе работы над картой может появиться идея добавить здания Нежити, а у них уже способность Распространение порчи, которая и у строящегося, и у построенного здания имеет уровень 1, то есть ею этап строительства не определишь. Конечно, можно потестировать, как работают эти две способности вместе, но это всё-таки костыльный метод, а не простое триггерное решение. И ещё, это методы под версию игры 1.26а, на более поздних патчах есть дополнительные триггерные возможности, например, определение защиты юнита, а у строящихся зданий вроде защита 0;
  • stage 2 - это второй этап оптимизации, где объединены повторяющиеся проверки. Условия проверки способности и жив ли юнит указываем в фильтре группы, а вместо 3 разных Если\То\Иначе делаем 2 с условием ИЛИ, типа такое-то или такое-то здание получает золото, а такое-то или такое-то дерево;
  • stage 3 - это просто логическое улучшение, которое можно и не добавлять. Если этот триггер будет использоваться, например, в многопользовательской карте с несколькими командами игроков, один из которых ливнёт, то все его юниты замрут, перестанут атаковать и добывать ресурсы, но инком со зданий продолжит поступать. Если контроль над юнитами этого игрока получат его союзники, то можно и не менять ничего, но если нет, то и инком не нужен. Поэтому в действии на перебор группы игроков следует поставить проверку, что игрок Играет.
stage 0
stage 1
stage 2
stage 3
Загруженные файлы
32
8gabriel8, Дело в кешировании строк, строки никуда не деваются...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.