function H2U takes handle h returns unit
return h
return null
endfunction
call SaveUnitHandle(udg_Hash, 'A00V', 0, H2U(gg_trg_Senka_Bjakuja))
с синтаксисом всё нормально но когда пытаюсь включить варик меня выкидовает из игры случилоси это после добавление вот этого кода как мне это исправеть

MATRITSA,
Я пытаюсь связать триггеры со спелами через HashTable. Как это реализовать? Есть идеи?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
4
интегер надо возвращать, а не юнита. Если я понял че ты хочешь
14
Тут можно создавать структуры? Тогда одно поле должно быть типы code? Что туда присвоить триггер.
23
MATRITSA,
Я пытаюсь связать триггеры со спелами через HashTable. Как это реализовать? Есть идеи?
Принятый ответ
14
Удобно. Увидел возможность создавать объекты
struct SpellEngine
integer Ability
integer Name
string Func
endstruct
можно SpellEngine закинуть в HashTable ?
14
Сделал такой класс
struct Spell
        integer Ability
        string Name
        string Func
        
        static method create takes integer pAbility, integer pAct, string pFunc, string pName returns thistype
            thistype this = thistype.allocate()
            set this.Ability = pAbility
            set this.Name = pName
            set this.Func = pFunc
            SaveInteger(udg_Hash, pAbility, pAct, this)
            call DisplayTimedTextToPlayer(Player(0), 0,0,60, pFunc)
            return this
        endmethod
        
        static method execute takes integer pAbility, integer pAct returns nothing
            thistype this = LoadInteger(udg_Hash, pAbility, pAct)
            call DisplayTimedTextToPlayer(Player(0), 0,0,60, this.Func)
            ExecuteFunc(this.Func)
        endmethod
endstruct
Сохраняю так:
Spell.create('A00V', 0, "Trig_Senka_Bjakuja_Actions", "Byakua")
Зарегистрировал триггер на все спелы и в нем
Spell.execute(GetSpellAbilityId(), 0)
В отладочном сообщении вижу NULL
Идеи?
Нашёл в чем дело тестом
SaveInteger(udg_Hash, 100, 0, 1000)
local integer test = LoadInteger(udg_Hash, 100, 0)
в test содержиться 0!
23
MATRITSA, ты хэш-таблицу инициализировал?
28
MATRITSA, используй форматирование код для кусков кода
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.