Всем привет, возник такой вопрос:
У меня на карте есть много героев (примерно 15+), и соответственно достаточно много триггеров со скиллами на каждого героя.
Так вот, в плане оптимизации, есть ли смысл изначально выключить все триггеры связанные с героями, и включать их только тогда когда героя возьмет игрок?

Принятый ответ

Есть смысл всегда создавать лишь один общий ивент, а не плодить их. Или динамически создавать ивент при необходимости.
Поддержу.
MadeonOK:
есть ли смысл изначально выключить все триггеры связанные с героями
Офк, иначе у тебя тупо несколько параллельных потоков запускаться будут и тратить лишние ресурсы карты, ежели во всех твоих триггерах ивенты общи: по типу "юнит заюзал способность/вошёл в зону/покакал/etc.

Я тебе даже больше скажу. Есть ещё даже смысл следить за "нужностью" триггеров. А особенно - периодиков. А
особенно-особенно - БЫСТРЫХ периодиков. Если триггер обособлен [исполнен прям ОТДЕЛЬНЫМ триггером], и ему необязательно всегда работать, то можно проработать его автовыключение, когда он не нужен, ну и офк включение, когда нужен. По типу такого, например:
[на карте 12 главных героев, если кто-то из них садится в недвижущуюся лодку, то лодка ПОД КОЛПАКОМ - получает абилку на 300 МСа, а ежели ни один из ГГ не сидит в лодке вообще, то триггер выключается; всё это контрит всеобщий периодик на 5 секунд, который чекает, сидит ли ГГ в лодке, и ежели нет - отбирает абилку]

Оно так сделано, ибо ивента на выход из здания в редакторе нет, и выход определённого юнита из определённого юнита не отследишь так запросто.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
2 года назад
0
Похожие вопросы:

ответ
В конце ноября 2016 года Blizzard выпустили патч, позволяющий играть по сети в карты до 128 Мб.
ответ
ничем, кроме названий переменных. попробуй отключить морфинг имен
ответ
  1. Хорошая модель должна иметь минимальное необходимое количество полигонов. Что будет если заспавнить много юнитов можешь проверить и сам.
  1. 8 Мб - лимит для патчей до версии 1.26. В последнем патче карта может весить 100+ Мб. О скорости скачивания ничего не могу сказать.
ответ
Была проблема с загрузкой на сайт, уже починили, можешь смело заливать.
Какой предел размера карты для публикации на этом сайте?
100 мегабайт у всего ресурса, но если надо больше и есть что показать, то можно попросить модераторов залить на сайт и + ссылки на облака никто не запрещал.
Вот есть ограничение на игру по сети (8м)
Это где такое? ограничение было только на гарене, и ото оно обходилось через спец патч, сейчас всё хостуется через ирину или последний патч рефорджа
Там нет этих ограничений
Хотелось бы узнать что сколько кушает. Т.е. какую часть памяти примерно занимают триггеры (300+ штук), какую ландшафт (почти 8 тысяч декораций), юниты на карте, юниты в редакторе, спелы, переменные? На что мне сделать упор в плане оптимизации размера карты? Из моментов, к которым сам пришел это
1 -удаление юнитов с карты и добавление их уже в игре через триггеры,
2 -редактирование стандартных спелов взамен созданию новых на их основе
Можно открыть карту любой mpq программой, разумеется и посмотреть какой файл что кушает, в твоей случае после импорта на 2 месте будут гуи триггеры. Но можно вообще не заморачиваться по поводу размеров в 2020, а на сайте просто был глюк
ответ
VinerX, посмотри гуи функцию "пропустить остальные действия" по факту это слово "return" в коде, то есть после ретурна ты никак не поставишь set newUnit = null, и правильно это делать после set bj_lastReplacedUnit = newUnit, а возвращать не newUnit, а bj_lastReplacedUnit, вот код если непонятно
set bj_lastReplacedUnit = newUnit
set newUnit = null
set oldUnit = null
set indexItem = null
return bj_lastReplacedUnit

2
26
2 года назад
2
в плане оптимизации нужно делать все не на гуи, остальное иррелевантно
1
22
2 года назад
1
Да. Лишнем не будет точно. Т.е 15 героев по 6 скиллов, это. гдето около минус 100 проверок за раз.
1
19
2 года назад
1
Есть смысл всегда создавать лишь один общий ивент, а не плодить их. Или динамически создавать ивент при необходимости.
0
27
2 года назад
0
если лагает юз абилок, то лучше пересмотреть свой код)
0
5
2 года назад
0
Есть смысл всегда создавать лишь один общий ивент, а не плодить их. Или динамически создавать ивент при необходимости.
Дополню - если пилите кампанию, то делайте по одному ивенту на героя. Тогда будет гораздо проще в дальнейшем.
1
9
2 года назад
Отредактирован TechnoViking
1
Есть смысл всегда создавать лишь один общий ивент, а не плодить их. Или динамически создавать ивент при необходимости.
Поддержу.
MadeonOK:
есть ли смысл изначально выключить все триггеры связанные с героями
Офк, иначе у тебя тупо несколько параллельных потоков запускаться будут и тратить лишние ресурсы карты, ежели во всех твоих триггерах ивенты общи: по типу "юнит заюзал способность/вошёл в зону/покакал/etc.

Я тебе даже больше скажу. Есть ещё даже смысл следить за "нужностью" триггеров. А особенно - периодиков. А
особенно-особенно - БЫСТРЫХ периодиков. Если триггер обособлен [исполнен прям ОТДЕЛЬНЫМ триггером], и ему необязательно всегда работать, то можно проработать его автовыключение, когда он не нужен, ну и офк включение, когда нужен. По типу такого, например:
[на карте 12 главных героев, если кто-то из них садится в недвижущуюся лодку, то лодка ПОД КОЛПАКОМ - получает абилку на 300 МСа, а ежели ни один из ГГ не сидит в лодке вообще, то триггер выключается; всё это контрит всеобщий периодик на 5 секунд, который чекает, сидит ли ГГ в лодке, и ежели нет - отбирает абилку]

Оно так сделано, ибо ивента на выход из здания в редакторе нет, и выход определённого юнита из определённого юнита не отследишь так запросто.
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.