Добавлен Koladik
Мне нужен такой handle объект, создание которого, бы генерировало уникальный handleID при этом занимало минимальное количество памяти. Для того, чтобы можно было сохранять на его ID в хештаблицу другой ID такого же простого объекта, на которой можно было сохранять еще один handle, и так далее
Я это вижу примерно следующим образом
set handle1 = CreateHandle()//функция создания какого-то виртуального объекта, который я ищу
set handle2 = CreateHandle()
set handle3 = CreateHandle()
local integer ID_1 = GetHandleId(handle1)
local integer ID_2 = GetHandleId(handle2)
local integer ID_3 = GetHandleId(handle3)
set mainHash = InitHashtable()
call SaveInteger(mainHash,ID_1,0,ID_2)
call SaveInteger(mainHash,ID_2,0,ID_3)
Вообще, очевидно, что мне просто нужно резервировать уникальный простой handleID, чтобы можно было вереницей доставать потом объекты, чтобы создавать что-то похожее на список. Но какой тип для этого мне подходит?
Принятый ответ
Используйте структруры или lua.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Vlod
Какой язык, jass/.../lua?
Так же можно почитать про Fogstate exploit - первая ссылка в поиске тык
Отредактирован Koladik
Hate: Чтобы имелась возможность создать дерево, например, под ID игрока записать много пустых других ID каждый из которых под свою уникальную задачу, которые могли также ссылаться на еще какие-то пустые ID
quq_CCCP, да, я видел этот тип но так и не нашел как его создать в чистом виде, так-как мне сначала показалось, что он и есть то, что мне нужно
NazarPunk, мне показалось на jass структуры реализованы слишком костыльно. Я не помню, чтобы в jass можно было хранить в структуре туже самую в структуру (ссылку на нее), тем более, что структуру нельзя хранить в хештаблице.
На счет луа, наверное, это лучший вариант но пока нормальную официальную поддержку не завезли и я не знаю как он тут может мне помочь, разве, что там имеется возможность напрямую выделять место в памяти как в c++
Отредактирован nazarpunk