XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Darklight

offline
Опыт: 976
Активность:
Не работает Hashtable
Подскажите, почему у меня не работает HashTable
Тестовый пример прилагаю (карта во вложении)
Скрипт запускается при выборе рабочего (он один на карте)
Код скрипта:
function Trig_ggg_Actions takes nothing returns nothing
local integer i
    SaveInteger(udg_hash, 1, 0, 10)
    set i = LoadInteger(udg_hash, 1, 0)
    if not (i == 10) then
        call BJDebugMsg("Not work: "+I2S(i))
    endif
endfunction

//===========================================================================
function InitTrig_ggg takes nothing returns nothing
    set gg_trg_ggg = CreateTrigger(  )
    call TriggerRegisterUnitEvent( gg_trg_ggg, gg_unit_hpea_0001, EVENT_UNIT_SELECTED )
    call TriggerAddAction( gg_trg_ggg, function Trig_ggg_Actions )
endfunction
Любые сохраняемые значения при восстановлении = 0 (ссылки = null). В Чём трабла?
Warcraft 3 TFT 1.26.6401
Прикрепленные файлы
Тип файла: w3m test.w3m (15.6 Кбайт, 2 просмотров )
[+] замечание от Nerevar: Используйте теги форматирования кода

Отредактировано Nerevar, 25.06.2012 в 18:19.
Старый 25.06.2012, 17:32
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Darklight, инициализируй хеш таблицу, ты чё незнал что для начала переменную типа hashtable сначала нужно приравнять InitHahsTable(), где-нибуть при инициализации...
Старый 25.06.2012, 17:54
Darklight

offline
Опыт: 976
Активность:
[+] замечание от Nerevar: Используйте теги форматирования кода
Nerevar, Простите, не обратил внимание, что, если нажать "подробнее..." там намного больше информации по форматированию
инициализируй хеш таблицу, ты чё незнал что для начала переменную типа hashtable сначала нужно приравнять InitHahsTable(), где-нибуть при инициализации...
quq_CCCP, А что за функция InitHahsTable() - я такую не знаю - или что-то другое нужно выполнить с переменной hash?
Старый 25.06.2012, 18:51
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
Hashtable - это объект и он должен быть создан,вставьте эту строчку в триггере инициализации 1 раз
set udg_hash=InitHashtable()
Старый 25.06.2012, 18:57
Darklight

offline
Опыт: 976
Активность:
Nerevar, Спасибо. Только что сам разобрался. Просто у quq_CCCP была опечатка в названии функции.
С другой стороны я изначально думал, что HashTable автоматически иницилизируется (если добавлена через стандартные переменные), как, например, group, а это не так. В общем разобрался. Я раньше не работал с хештаблицами и вот решил попробовать. В общем, всем спасибо.
Старый 25.06.2012, 19:07
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 15:41.