Имеются 3 функции, нас интересует предпоследняя "Biorobot_Test_Func_3" , она выводит Имена Функций, "Biorobot_Test_Func_1" и "Biorobot_Test_Func_2", Имена Функций игра считает как число и позволяет их вывести, в данном случае вывод будет "1" "2" "1", так вот ближе к делу,
эти функции далеко не первые и не единственные на карте, то есть это не их порядковый номер и т.д., числа так же не случайные, то есть Имени Функции присваивается число только в тот момент когда собственно и идёт вывод через "DisplayTextToForce" или когда оно попадает в функцию "DI"
(я ещё не тестил), вопрос -
В какие ЕЩЁ моменты Имени Функции присваивается число? Ну просто если это посреди разработки где-нибудь внезапно случайно обнаружится (конечно же оно как обычно мне всё сломает), будет плохо (мне), вот и спрашиваю
function DI takes integer i returns nothing
        DisplayTextToForce( GetPlayersAll(), I2S(i)) 
    endfunction

function Biorobot_Test_Func_1 takes nothing returns nothing
    //UnitAddAbility(Hero[0], 'AEbl')
    //UnitAddAbility(Hero[0], 'ASCQ')
endfunction

function InitTrig_Biorobot_Test_Func_1 takes nothing returns nothing
    local trigger test_Func = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( test_Func, Player(0), "1", true )
    call TriggerAddAction( test_Func, function Biorobot_Test_Func_1 )
endfunction



function Biorobot_Test_Func_2 takes nothing returns nothing
    //GoldAndExp_TextOnUnit_GoldAndExp(Hero[0], 100, 200)
endfunction

function InitTrig_Biorobot_Test_Func_2 takes nothing returns nothing
    local trigger test_Func = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( test_Func, Player(0), "2", true )
    call TriggerAddAction( test_Func, function Biorobot_Test_Func_2 )
endfunction




function Biorobot_Test_Func_3 takes nothing returns nothing
    DI(Biorobot_Test_Func_1)
    DI(Biorobot_Test_Func_2)
    DI(Biorobot_Test_Func_1)
endfunction

function InitTrig_Biorobot_Test_Func_3 takes nothing returns nothing
    local trigger test_Func = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( test_Func, Player(0), "3", true )
    call TriggerAddAction( test_Func, function Biorobot_Test_Func_3 )
endfunction

В любые моменты где другая функция, пытается принять имя функции как число
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Рекомендую прочитать эту статью
Дефолтными средствами джасса не выйдет преобразовать function в integer (не считая GetHandleId, да и то это не преобразование)
30
Не конвертируй функции в числа, оно тебя сожрет.
32
Функция это тип code, это хенд, ссылка на код, подробнее о jass писал в своихистатьях isefog.
8
В любые моменты где другая функция, пытается принять имя функции как число
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.