В общем хочу запустить звук для одного игрока только, и в итоге получается дессинхрон
function PlayLocalSound takes string s, integer p returns nothing
local sound snd
if GetLocalPlayer() != Player(p) then
set s = ""
endif
set snd = CreateSound(s,false, false, false,10,10,"")
call SetSoundChannel(snd,5)
call SetSoundVolume(snd,127)
call SetSoundPitch(snd, 1)
call StartSound(snd)
call KillSoundWhenDone(snd)
set snd = null
endfunction
Код функции, который использую для звука
На скрине запуск

если тебе звук нужен только для обладателя героя, то ты используешь вместо current camera view
position of hero[GetPlayerId(GetLocalPlayer())]
где hero - массив героев, индекс это номер игрока начиная с нуля
то есть hero[0] красный геро, hero[1] синий и т.д.
тогда это вернет позицию локального героя, а если герой не существует то центр карты
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
22
кинь скрин триггера где используется функция и что за строку ты в нее передаешь
еще скрин твой не видно, нажми кнопку "вставить ссылку на файл" рядом с ним
27
Не уверен, возможно ошибаюсь, напишу вот что: в блок вставляй число, например громкость звука. обычно вставляют строки и числа, а если объекты хэндла, то фаталит. Тут ты всунул в блок звук, точнее сказать локалку звука, вот и фаталит.
14
Щас кину
Steal nerves:
Не уверен, возможно ошибаюсь, напишу вот что: в блок вставляй число, например громкость звука. обычно вставляют строки и числа, а если объекты хэндла, то фаталит. Тут ты всунул в блок звук, точнее сказать локалку звука, вот и фаталит.
Все работает не фаталит, только рассинхрон и все
Загруженные файлы
22
А что это должно делать?
Я думаю проблема в условии target of current camera view (оно проверяется у локального игрока, и из-за этого создается объект только у какого-то из игроков), но я не понимаю что этот триггер должен делать
14
А что это должно делать?
Я думаю проблема в условии target of current camera view (оно проверяется у локального игрока, и из-за этого создается объект только у какого-о из игроков), но я не понимаю что этот триггер должен делать
Он должен проигрывать звук относительно расстояния источника до камеры
biridius:
А что это должно делать?
Я думаю проблема в условии target of current camera view (оно проверяется у локального игрока, и из-за этого создается объект только у какого-то из игроков), но я не понимаю что этот триггер должен делать
Нууу, типо если рядом смотришь камерой, то звук проигрывается, вот так
22
надо сделать переменную типа строка, и в если расстояние неправильное, задавать пустую строку, а если правильная то путь к звуку. после этого проигрывать звук по этой строке. без цикла и без getlocalplayer
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.