Есть метод InitHashtable, но можно ли уничтожить таблицу?
Я не нашел функции DestroyHashtable или типа того, как быть если я создаю таблицу, работаю с ней и хочу избавиться от неё навсегда?
Создание временных таблиц обрекает карту на утечки?
Насколько я знаю, использование массивов внутри структур сильно урезает им максимальное возможное количество экземпляров, потому я собираюсь массивы заменить на хеш-таблицы.

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

FlushParentHashtable, и вообще ждём вас на луа =)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
23
5 лет назад
5
значит ты неправильно делаеш... вот у меня 1 хештаблицу на все виды юнит статы предметы и разные хранение... все лишь 1 и не вижу проблем!
0
16
5 лет назад
0
Bergi_Bear:
Drulia_san, да читаем мы читаем, просто ты какую-то дикую и странную вещь придумал, честно скажу мб тебе прекрано подойдёт FlushParentHashtable, но за его последствия я не могу ручиться, ибо надо ли перед удалением "Родителя" удалить всех "Детей" - хз, насколько сильно это вызывает утечку - хз.
Удалить всех детей легко, там один parent key, это this.
prog:
Вот из-за обилия таких костылей автоматический переход на Lua и усложняется больше необходимого т.к. эти костыли вручную выкидывать и переделывать придется.
Такой костыль у меня только в одном месте, поудалять всё это будет проще простого, так как это я перепишу вручную потом когда перенесу всё остальное.
2
32
5 лет назад
2
Drulia_san, ну тогда попробуй чё, о результатах отпишись, не стало ли фаталить не с того ни с сего
0
16
5 лет назад
0
начит ты неправильно делаеш... вот у меня 1 хештаблицу на все виды юнит статы предметы и разные хранение... все лишь 1 и не вижу проблем!
Извини но ты явно недалекий, потому что не читаешь что я пишу и говоришь какой ты молодец. Мне тебе пирожок с полки достать? Как ты в одну хеш таблицу запихнешь целые массивы значений для каждого объекта индивидуально, учитывая что в объекте массивов будет несколько? А ты в курсе что таблица начинает лагать если её захламить одновременно кучей всего? У меня тоже есть одна общая таблица для игры и её НЕЛЬЗЯ засирать такими данными.
Bergi_Bear:
Drulia_san, ну тогда попробуй чё, о результатах отпишись, не стало ли фаталить не с того ни с сего
Окей
3
29
5 лет назад
Отредактирован nazarpunk
3
Ну если ты скажешь как перевести полторы сотни тысяч строк кода cJass на луа с сохранением комментариев, имен переменных и отступов, то буду рад перейти на луа
Достать war3map.j, сконвертировать в lua, ужаснуться кривости кода и переписать начисто.
Сколько раз мне написать что мне нужна отдельная таблица на каждый экземпляр структуры, и даже на каждый массив внутри структуры
Не забывайте о лимите в 256 таблиц на игру. А вообще такой подход очень пахнет велокостылями.
0
32
5 лет назад
0
Не забывайте о лимите в 256 таблиц на игру
это лимит одновременных живых хеш таблиц или таблиц вообще включая убитые? если 1, то бояться особо нечего и нас просто в детстве (в 2007 или когда там хештаблицы появились) , запугали, что больше 1 нельзя и так пошло, но уже никто и не вспомнит почему
4
23
5 лет назад
4
мда! ясно с автором!
у меня хеш не 2 ключ а 4 ключа из 2 ключа имеет гибридный ключ от 2 значение ключа вот тебе многомерный массив в хеш
а как делать вы уже читали
x, y + (offset_y * index)
по умолчагние я поставил 1к offset для каждого значение
4
29
5 лет назад
Отредактирован nazarpunk
4
это лимит одновременных живых хеш таблиц или таблиц вообще включая убитые?
После InitHashtable() дороги назад нет, так что 257ой вызов просто не пройдёт.
нас просто в детстве (в 2007 или когда там хештаблицы появились) , запугали, что больше 1 нельзя и так пошло, но уже никто и не вспомнит почему
Насколько я помню из-за того что таблица тяжёлая и с её огромным диапазоном значений делать несколько просто нет смысла. Есть даже наработка которая позволяет иметь одну таблицу на все случаи жизни.
0
27
5 лет назад
0
согласен с pro100master неплохой вариант. в своей наработке использовал похожий принцип с оффсетами ссылка <= жутко не хватало пространства для маневра, пришлось так делать.
2
28
5 лет назад
Отредактирован PT153
2
А ты в курсе что таблица начинает лагать если её захламить одновременно кучей всего? У меня тоже есть одна общая таблица для игры и её НЕЛЬЗЯ засирать такими данными.
Ты её просто не чистил, а чистить нужно.
Да и зачем 100500 хештаблиц? У меня карта с кастомным хп, ресурсами, способностями, баффами, 1 хештаблица и всё работает.
0
23
5 лет назад
0
PT153, автор хочет чтобы структура имел клон но данных заполняли рандомно, но выше ответ уже дали =)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.