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. Как это реализовать? Есть идеи?
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
21
7 лет назад
Отредактирован scopterectus
0
Уберите "return null"
и вообще, gg_trg_Senka_Bjakuja у Вас это триггер, а не юнит.
2
28
7 лет назад
Отредактирован nvc123
2
читать статьи
там сказано что начиная с версии 1,24 ретурн баг не работает
и приведение триггера к юниту невозможно
0
14
7 лет назад
0
Я пытаюсь связать триггеры со спелами через HashTable. Как это реализовать? Есть идеи?
0
4
7 лет назад
0
интегер надо возвращать, а не юнита. Если я понял че ты хочешь
0
14
7 лет назад
0
Тут можно создавать структуры? Тогда одно поле должно быть типы code? Что туда присвоить триггер.
2
16
7 лет назад
Отредактирован avuremybe
2
MATRITSA,
Я пытаюсь связать триггеры со спелами через HashTable. Как это реализовать? Есть идеи?
Принятый ответ
0
14
7 лет назад
0
Удобно. Увидел возможность создавать объекты
struct SpellEngine
integer Ability
integer Name
string Func
endstruct
можно SpellEngine закинуть в HashTable ?
0
28
7 лет назад
0
MATRITSA, SaveInteger
0
14
7 лет назад
Отредактирован nvc123
0
Сделал такой класс
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!
0
16
7 лет назад
0
MATRITSA, ты хэш-таблицу инициализировал?
0
28
7 лет назад
0
MATRITSA, используй форматирование код для кусков кода
Чтобы оставить комментарий, пожалуйста, войдите на сайт.