Всем добра, вот такая проблема мне нужно проиграть звук для опр.игрока я на хгм много чего нашел, вставлял в игру заменял переменную звука на свою, и игра просто не шла, писались какие-то неясные ошибки, наработки нигде не нашел, надеюсь джассеры помогут, через гетплэйер делал... И вот 2 вопрос, как сделать так чтобы если до таймера оставалось 5 секунд то шло действие какое-нибудь, например в игре показывалось сообщение. Пробовал так, запускал таймер, затем окно для него сделал, и сделал если/то/иначе если оставшееся время до таймера меньше или равно 5 то игра показать... но не работает, я попрошу наработки по 2 случаям, буду очень благодарен
Imba_pvL, что же тебе не удалось? О_о недавно была тема от q1 про сабж. Там дело оказалось в использовании ранома внутри. Должно всё работать нормально. Вспомни доту - там оунинг воспроизводится только если овнишь ты, но никогда - если враг.
function StartSoundForPlayerBJ takes player whichPlayer, sound soundHandle returns nothing if (whichPlayer == GetLocalPlayer()) then call StartSound(soundHandle) endif endfunction
Добавлено (07 Мая 2013, 14:38:36) ---------------------------------------------
Код
function LocalSound takes player whichPlayer returns nothing if GetLocalPlayer()==whichPlayer then call StartSound(udg_ErrorSound) endif endfunction
Добавлено (07 Мая 2013, 14:48:10) --------------------------------------------- Хотя не, допустим герой делает спел и для владельца игрока должен играть звук вот код
Код
function Trig_Soundss_Conditions takes nothing returns boolean if ( not ( GetSpellAbilityId() == 'AHds' ) ) then return false endif return true endfunction
function Trig_Soundss_Actions takes nothing returns nothing endfunction
//=========================================================================== function LocalSound takes player whichPlayer returns nothing if GetLocalPlayer()==whichPlayer then call PlaySoundBJ( gg_snd_Lever ) endif endfunction
//=========================================================================== function InitTrig_Soundss takes nothing returns nothing set gg_trg_Soundss = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Soundss, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Soundss, Condition( function Trig_Soundss_Conditions ) ) call TriggerAddAction( gg_trg_Soundss, function Trig_Soundss_Actions ) endfunction
Imba_pvL, ну, у меня не достаточно информации на данный момент, попробуй МАКСИМАЛЬНО подробно описать суть проблемы, я пожалуй опишу что я понял насчет твоей проблемы: 1) возможность проигрывать "звук" для конкретного игрока 2) сделать таймер, который на последних ~10 секунд выполнял функцию(мб лучше триггер?). Ну вот.
1) после того как нажимаешь на кое-что (способность) то для игрока который сделал спел, должен играть музыка 2) начался таймер, после того как остается 5 секунд до таймера то всем игрокам проигрывается звук 5 раз, каждую секунду то есть раз звук, два звук, три звук, и так до 5...
1) боюсь, это вызовет десинхронизацию, есть выход, просто уменьшение громкости музыки\звука для всех игроков, кроме нашего нужного. 2) это элементарно, создаешь периодический триггер, и проверяешь сколько было тиков (переменная "целочисленная"). Дальше все по маслу, просто, не стоит решать проблемы более сложными методами - жизненный совет, если что.