Если у структура вызвать функция create то есть пример
	Struct.create(...) 
Если получить данные по структур то вернет пустой хеш если оно было вызвано
// внутри структура
private static method onInit takes nothing returns nothing
	set data_units = InitHashtable()
endmethod

// или внешний вызов через initializer Init но каким то образом хеш запаздывает 
Смотрел другие примеры ресурс там при инициализация хеш нормально работает внутри структур, а у меня схожая но не заносит изменение а если получить данные через 5 сек после таймера то работает..... Всю голову ломаю почему так

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

Ige, потому что делал 2 сек после инициализация.... Так что выложу исправлений и оптимизированный мемхак с инициализацией...
PS Терь работает нормально при инициализация с мемхак
PSS Пользуйтесь на здоровье, планирую сделать набор для rpg с мемхак
Загруженные файлы

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
28
7 лет назад
0
вот пример
у меня ничего не запаздывает
проверял по таймеру через 0 секунд
library testLib initializer init{

    struct testStruct{
        static hashtable type_units;
    
        static method operator [] takes integer id returns thistype
            return LoadInteger(thistype.type_units, 0, id) // из него вытаскиваю тип юнита стурктура
        endmethod

        static method create takes integer id returns thistype
            local thistype this = thistype.allocate()
            call SaveInteger(thistype.type_units, 0, id, this)
            call BJDebugMsg("type_unit_create: " + I2S(id))
            return this
        endmethod
    }
    
    private void init(){
        set testStruct.type_units = InitHashtable()
        call BJDebugMsg("type_unit_hash: " + I2S(GetHandleId(testStruct.type_units)))
    }

}
avuremybe, эм
карта это архив
вы и правда думаете что если запихнуть архив в архив то он будет меньше весить?
0
23
7 лет назад
0
nvc123, кидал пишет что такой карта запрешено заливать =) не вини меня...
nvc123, ты без мемхак проверял с ней пробуй конечно писал выше что причина было мемхак... который не выполнил функция
Поэтому пришлось мемхак чуток переписать не нарушая... при инициализация
0
28
7 лет назад
0
pro100master, кстати осторожнее с операторами
большинство из них использует триггеры что работает очень медленно и жрёт оперативку
0
23
7 лет назад
0
nvc123, разве оператор не массив??? если читал вроде
0
28
7 лет назад
0
0
7
7 лет назад
Отредактирован Ige
0
nvc123, инфа в мануале не соответствует действительности

pro100master, скачал твою карту, вроде бы все работает о_О
0
23
7 лет назад
Отредактирован pro100master
0
Ige, потому что делал 2 сек после инициализация.... Так что выложу исправлений и оптимизированный мемхак с инициализацией...
PS Терь работает нормально при инициализация с мемхак
PSS Пользуйтесь на здоровье, планирую сделать набор для rpg с мемхак
Загруженные файлы
Принятый ответ
0
21
7 лет назад
Отредактирован scopterectus
0
немного не по теме, но что если Хеш-таблицу инициализировать сразу же после объявления?
	globals
		constant hashtable HASHTABLE = InitHashtable( )
	endglobals
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.