function SimError takes player ForPlayer, string msg returns nothing
local sound s=CreateSoundFromLabel( "InterfaceError",false,false,false,10,10)
if (GetLocalPlayer() == ForPlayer) then
call ClearTextMessages()
call DisplayTimedTextToPlayer( ForPlayer, 0.52, -1.00, 2.00, "|cffffcc00"+msg+"|r" )
call StartSound(s)
endif
call KillSoundWhenDone(s)
set s=null
endfunction
Вексовая функция, в отличии от этой, может проигрываться один раз в время воспроизведения этого самого звука. Я понимаю, что создание хендла занимает больше времени чем воспроизведение созданного, но то что ошибка может проигрываться почаще важнее. ИМХО
Есть предложение для оптимизатора, если НЕ используется InitTrig_%trigname% или функция используется не для создания триггера, то удалять gg_trg_%trigname% из глобалок.
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / Библиотека функций
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS