Ну ладно, различие можно увидеть так, допустим есть код:
Code
function MyFunc takes nothing returns nothing
call TriggerSleepAction(99.99)
call BJDebugMsg("Просто сообщение")
endfunction
function Start takes nothing returns nothing
call MyFunc() <------ Сначала запустится и выполнится функция MyFunc.
call DestroyTrigger(T) <------ Триггер T уничтожится через 99.99 секунд, по окончанию работы MyFunc и вывода "Просто сообщение".
endfunction
Также пусть есть такая конструкция:
Code
function MyFunc takes nothing returns nothing
call TriggerSleepAction(99.99)
call BJDebugMsg("Просто сообщение")
endfunction
function Start takes nothing returns nothing
call ExecuteFunc("MyFunc") <------ Мы запускаем функцию MyFunc и идем дальше.
call DestroyTrigger(T) <------ Триггер T уничтожится сразу, через 99.99 секунд мы получим сообщение "Просто сообщение".
endfunction
То есть в 1 случае (через call) мы ждем выполнение (99.99 секунд), во 2 просто запускаем и не ожидая переходим к уничтожению.
В инициализации это обычно используется для уменьшения нагрузки и времени, ведь все идет не по очереди, а одновременно.