В общем хочу запустить звук для одного игрока только, и в итоге получается дессинхрон
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] синий и т.д.
тогда это вернет позицию локального героя, а если герой не существует то центр карты
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
14
я написал выше что надо сделать: убрать цикл, добавить строковую переменную и т.д.
та функция не подойдет т.к. нельзя узнать с одного компа где камера у другого
И какую юзать?
22
local sound 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)
вот этот кусок проигрывает звук по строке s
а перед этим s надо задать как путь к звуку если дальность подходит
14
biridius:
я написал выше что надо сделать: убрать цикл, добавить строковую переменную и т.д.
та функция не подойдет т.к. нельзя узнать с одного компа где камера у другого
Знаешь, куда было бы проще, если бы ты вбросил эти жалкие 10 рабоспособных строк кода, вместо пустых вбросов каждое сообщение
biridius:
ocal sound 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)
вот этот кусок проигрывает звук по строке s
Ибо миллион вопросов остается, например если убирать цикл, то что юзать в качестве целочисленной для запуска функции
Мде, то чувство, когда объясняешь мне что делает мой код, вместо того, чтобы объяснить принципы работы гетлокал, и его использование.
22
ну и точки потом убить тоже, да
Загруженные файлы
14
biridius:
ну и точки потом убить тоже, да
Я не понимаю гетлокал...Что это?
biridius:
ну и точки потом убить тоже, да
Вот там PlayerID и в нем гетлокалплеер, вот это я не понимаю вообще
22
вот это код, в котором ты NecromancerPissed2 меняешь на свой звук и вставляешь в свою карту
GetPlayerId(GetLocalPlayer()) вместо целого в той функции.
14
вот это код, в котором ты NecromancerPissed2 меняешь на свой звук и вставляешь в свою карту
Ты не представляешь как я себя сдерживаю чтобы не сорваться от твоих миссов. Еще раз повторяю, я понимаю все, кроме использования GetLocal
biridius:
вот это код, в котором ты NecromancerPissed2 меняешь на свой звук и вставляешь в свою карту
GetPlayerId(GetLocalPlayer()) вместо целого в той функции.
МНе нужно объяснить только гетлокал, и все, я не понимаю как выводится айди для всех игроков сразу через гетлокал
22
ты не поймешь
но напишу еще раз: каждый компьютер (монитор, процессор) каждого игрока выполняет этот код
но каждый по своему, потому что камера у каждого в разном месте
14
biridius:
ты не поймешь
но напишу еще раз: каждый компьютер (монитор, процессор) каждого игрока выполняет этот код
но каждый по своему, потому что камера у каждого в разном месте
Но нужно понять, ибо какой толк от гетлокал, если юзать его бездумно.
22
вот у красного игрока камера там где нужно, и его комп поставит правильную строку
а вот синий смотрит не туда, и его копм сделает пустую строку
оба компа создают звук, но у красного звук есть, а у синего звука нет потому что путь пустой
14
ты не поймешь
но напишу еще раз: каждый компьютер (монитор, процессор) каждого игрока выполняет этот код
но каждый по своему, потому что камера у каждого в разном месте
Все, я понял как работает гетлокал, теперь мне нужна другая инфа, о loc, точнее о current camera.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.