В прошлом вопросе внезапно выяснилось, что function PlaySound takes string soundName returns nothing утечна
Мне не сложно создать локалку и обнулять только записанный в нее звук. но меня смутило вот что :
Ведь звук проигрывается в карте из заранее созданных звуковых переменных,которые только в карте? Так работают все звуки. Ну это сделано как я понял для того, чтобы не приходилось перебирать все звуки варика.
Только зачем тогда создание отдельно локалки или глобалки звука если мы их берем из звуковой переменной? Или виноват хэндл у бж звука?
Короче делаю :
function Trig_____________________________________001_Actions takes nothing returns nothing
local sound u
call PlaySoundBJ( gg_snd_AltarOfKingsWhat1 )
set u = bj_lastPlayedSound
call : destroy u
set u = null
endfunction
===========================================================================
function InitTrig_____________________________________001 takes nothing returns nothing
set gg_trg_____________________________________001 = CreateTrigger( )
call TriggerAddAction( gg_trg_____________________________________001, function Trig_____________________________________001_Actions )
endfunction
Так что ли?😕

Принятый ответ

Создание звука на ходу утечно и с этим ничего не сделать. Избежать утечки можно только если создать один звук, через редактор звука или в коде, и использовать всегда его.
Разумеется есть минус, в один момент времени звук можно играть только один раз. Если необходимо проигрывать один и тот же звук несколько раз одновременно, то придется костылить, например создавать 3-4 экземпляра одного звука и играть поочередно.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
20
3 года назад
0
Кстати выдает ошибку почему то....
2
20
3 года назад
Отредактирован biridius
2
Кстати выдает ошибку почему то....
call : destroy u
функция убийства звука вроде KillSoundWhenDone
0
27
3 года назад
Отредактирован rsfghd
0
SсRealm, смешно наверное самому придумывать названия нативных функций?)
Посмотри Function List используя ключевые слова, например Sound

К тому же
local sound u
call PlaySoundBJ( gg_snd_AltarOfKingsWhat1 )
set u = bj_lastPlayedSound
call : destroy u
Зачем создавать локалку, если можно сразу уничтожать bj_lastPlayedSound. В таких действиях нет смысла

А, и в ошибке вроде указывается проблема, там минимальные знания английского, например, что такой функции не существует
0
20
3 года назад
0
В чем был вопрос то? А нафига делать переменную звукам, если все переменные проигрываются из внутренней переменных звуков?!

rsfghd:
SсRealm, смешно наверное самому придумывать названия нативных функций?)
Посмотри Function List используя ключевые слова, например Sound

К тому же
local sound u
call PlaySoundBJ( gg_snd_AltarOfKingsWhat1 )
set u = bj_lastPlayedSound
call : destroy u
Зачем создавать локалку, если можно сразу уничтожать bj_lastPlayedSound. В таких действиях нет смысла

А, и в ошибке вроде указывается проблема, там минимальные знания английского, например, что такой функции не существует
Потому что я не доверяю понятиям варика, когда что то там проигралось. Проиграться может все что угодно. Мне нужна конкретная локалка, чтобы точно знать что удалиться в данный момент!
Загруженные файлы
2
28
3 года назад
2
Вы что тут несёте...
call PlaySoundBJ( gg_snd_AltarOfKingsWhat1 )
Это неверный код.
SсRealm, нафиг тебе вообще PlaySoundBJ?
0
27
3 года назад
0
Проиграться может все что угодно.
Проиграется только то, что ты и указал, это раз, во вторых, локалка бы тебе ничем не помогла проиграть звук, потому что всё что ты делаешь с ней, это пытаешься уничтожить
0
20
3 года назад
0
PT153:
Вы что тут несёте...
call PlaySoundBJ( gg_snd_AltarOfKingsWhat1 )
Это неверный код.
SсRealm, нафиг тебе вообще PlaySoundBJ?
Я тут пытаюсь утечку звука обнулить. Пока не особенно понятно

rsfghd:
Проиграться может все что угодно.
Проиграется только то, что ты и указал, это раз, во вторых, локалка бы тебе ничем не помогла проиграть звук, потому что всё что ты делаешь с ней, это пытаешься уничтожить
Поставлю вейт и через пару сек удалю. Там все равно проигрываются разные звуки выстрела
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.