Утро доброе.
В общем, есть у меня порядка тысячи разновидностей юнитов. Я создал несколько переменных с массивом "тип боевой единицы", и триггер, где при инициализации карты каждому типу юнитов присваивается своя переменная с числом. Вроде
Танк[1] - такой-то тип танка
Танк[2] - такой-то тип танка
Пушка[1] - такой-то тип пушки
Пушка[2] - такой-то тип пушки
Пушка[3] - такой-то тип пушки
Это сделано для того, чтобы при каждом запуске карты генерировался случайный набор доступных для покупки и некоторых других действий игроку и ИИ юнитов.
Пока что в моей карте около сорока типов юнитов, которым назначены переменные, карта работает стабильно, без ощутимых тормозов и вылетов.
В общем, есть у меня порядка тысячи разновидностей юнитов. Я создал несколько переменных с массивом "тип боевой единицы", и триггер, где при инициализации карты каждому типу юнитов присваивается своя переменная с числом. Вроде
Танк[1] - такой-то тип танка
Танк[2] - такой-то тип танка
Пушка[1] - такой-то тип пушки
Пушка[2] - такой-то тип пушки
Пушка[3] - такой-то тип пушки
Это сделано для того, чтобы при каждом запуске карты генерировался случайный набор доступных для покупки и некоторых других действий игроку и ИИ юнитов.
Пока что в моей карте около сорока типов юнитов, которым назначены переменные, карта работает стабильно, без ощутимых тормозов и вылетов.
А суть вопроса вот в чём: если добавить в этот массив таким же образом ещё несколько сотен различных типов боевых единиц - это грозит проблемами в виде крашей и тормозов?
Принятый ответ
Свиборг:
Свиборг:
Вот инструкция если ты не шаришь в jass:
На скриншоте 1, там где
от большого кол-ва забитых массивов не должно лагать, т.к по сравнению с реальной нагрузкой - это копейкиFakov, насчёт фризов... Имеются ввиду фризы во время загрузки карты или же непосредственно в ходе игры? А нюансы, например, какие? Сама по себе система работает, главное, чтоб не фризило-крашило.
Свиборг:
и учти, тебе придется сделать отдельный поток для инициализации твоих массивов, это чтобы исключить вероятность того, что завершится поток main из за лимита операцийUrsaBoss, я все эти переменные делал на гуи, не на жассе.
Вот инструкция если ты не шаришь в jass:
На скриншоте 1, там где
call ExecuteFunc("Trig_MyTrig_Actions")
Это Custom Script, а MyTrig - это название нужного тебе триггера
На скриншоте 2 уже твой триггер с инициализацией массива, главное в событиях ничего не ставь
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
А самих переменных пока варкрафт от переполнения памяти не лопнет
И если ты хочешь рандомно наполнять магазин при старте - там ооочень много нюансов у тебя всплывет в последствии))
Ты попробуй для эксперимента засорить варкрафтом память, к примеру утечки и т.д.
У меня на ГБ с лишним варкрафт крашнул
Fakov: нужно было ещё дописать кое что, т.к при использовании индексов больше 8190 могут быть всякие чудеса и т.д
Fakov, насчёт фризов... Имеются ввиду фризы во время загрузки карты или же непосредственно в ходе игры? А нюансы, например, какие? Сама по себе система работает, главное, чтоб не фризило-крашило.
Второе - это покупка из этого магазина - через какое то время оттуда начинают пропадать загруженные в него предметы))
Свиборг: и учти, тебе придется сделать отдельный поток для инициализации твоих массивов, это чтобы исключить вероятность того, что завершится поток main из за лимита операций
Вот инструкция если ты не шаришь в jass:
На скриншоте 1, там где
Отредактирован Свиборг
UrsaBoss, да, на счёт того, что гуи преобразуется в жасс-скрипт, это я знаю. Но я подумывал не оставлять эти переменные в теле карты, а врезать их в Blizzard.j
Благодарю за подказку с потоком, работает.
Отредактирован Hodor