Kronos Опубликовано: 18 сентября 2005 Опубликовано: 18 сентября 2005 Возникла проблема. Короче мне надо сделать так чтобы при старте или загрузке уровня начинал играть трэк. А для этого нужно задействовать скрипт,который бы триггерил MusicEvent. А как это сделать, кто-нибудь знает? Например, скрипт в MissionScript в функции PostBeginPlay()?Или может как-то по другому можно?А может сделать через VSDDX, но как?
Дед Опубликовано: 19 сентября 2005 Опубликовано: 19 сентября 2005 Сувать в Timer() if (!flags.GetBool('MS_MoscowStartUpPlayed')) { foreach AllActors(class'Dispatcher', disp, 'MapStartDispatcher') disp.Trigger(None, None); Player.StartDataLinkTransmission("DL_Startup"); flags.SetBool('MS_MoscowStartUpPlayed', True,, 5); }
VECTOR Опубликовано: 19 сентября 2005 Опубликовано: 19 сентября 2005 А может сделать через VSDDX, но как? Немного не понял суть самого вопроса. Если делать все через MissionScript то можно не вставлять на карту MusicControl, а работать классом MPlayer. class MissionX extends MissionScriptvar MPlayer MP; function PostBeginPlay(){ MP = Spawn(class'MP', Self); MP.SetBaseFolder("e://...//"); MP.SetSilence(); MP.PlayTrack("...");}
Kronos Опубликовано: 20 сентября 2005 Автор Опубликовано: 20 сентября 2005 Понимаете в чём проблема, когда вы загружаете уровень загружаете сэйв, должна начинать играть музыка.Первым способом ещё не пробовал, а вот вторым попробовал. Короче, сейчас нет времени, потом разбираться буду.Дошло до того, что я вставил функцию PlayTrack() в таймер и потом отключил таймер, но это не удобно. Надо будет сделать новый класс под MPlayer с этими функциями.Короче, а как теперь остановить проигрывание, когда мы, например титры из главного меню включаем? Музыка продолжает играть. Есть ли так какая-то функция, когда игрок покидает уровень, чтобы туда вставить остановку проигрывания?
Kronos Опубликовано: 20 сентября 2005 Автор Опубликовано: 20 сентября 2005 class MissionX extends MissionScript var MPlayer MP; function PostBeginPlay() { MP = Spawn(class'MP', Self); MP.SetBaseFolder("e://...//"); MP.SetSilence(); MP.PlayTrack("..."); }[/color] А я сделал вот так (это в Mission Script): simulated function PostBeginPlay(){ SetTimer(1.0,true);} simulated function Timer(){ MP = Spawn(class'MPlayer', Self); MP.SetBaseFolder("..//Music//"); MP.SetSilence(); MP.PlayTrack("sw.mp3"); SetTimer(0, false); }А чем отличаются обычные функции от simulated?
Дед Опубликовано: 21 сентября 2005 Опубликовано: 21 сентября 2005 Понимаете в чём проблема, когда вы загружаете уровень загружаете сэйв, должна начинать играть музыка.Первым способом ещё не пробовал, а вот вторым попробовал. Короче, сейчас нет времени, потом разбираться буду.Дошло до того, что я вставил функцию PlayTrack() в таймер и потом отключил таймер, но это не удобно. Надо будет сделать новый класс под MPlayer с этими функциями.Короче, а как теперь остановить проигрывание, когда мы, например титры из главного меню включаем? Музыка продолжает играть. Есть ли так какая-то функция, когда игрок покидает уровень, чтобы туда вставить остановку проигрывания?Я, чесно сказать, проблемы не понимаю. Ну сменил ты дефолтную музыку с помощью MusicEvent, ну сохранился, ну загрузил сэйв - музыка опять играть начнёт.А чтобы на выходе чиво сделать - ковыряй PreTravel() в missionscript.
VECTOR Опубликовано: 21 сентября 2005 Опубликовано: 21 сентября 2005 simulated вроде как то связан с мультиплеером. Есть ли так какая-то функция, когда игрок покидает уровень, чтобы туда вставить остановку проигрывания?Функция PreTravel() function PreTravel(){ StopPlayback();}
Дед Опубликовано: 21 сентября 2005 Опубликовано: 21 сентября 2005 simulated вроде как то связан с мультиплеером. Есть ли так какая-то функция, когда игрок покидает уровень, чтобы туда вставить остановку проигрывания?Функция PreTravel() function PreTravel(){ StopPlayback();}Что такое simulated? Всё, что связанно с мультиплеером, закрыто в условие if(тип игры==мультиплеер). Других реализаций не видел.
Dae Опубликовано: 21 сентября 2005 Опубликовано: 21 сентября 2005 Если не ошибаюсь, simulated говорит о том, что функция должна выполняться как на сервере, так и на клиенте.
Kronos Опубликовано: 11 января 2006 Автор Опубликовано: 11 января 2006 Я, чесно сказать, проблемы не понимаю. Ну сменил ты дефолтную музыку с помощью MusicEvent, ну сохранился, ну загрузил сэйв - музыка опять играть начнёт. Понимаешь, Дед, я не юзаю дефолтную музыку по той причине, что когда меняется State игрока (combat, dying...), меняется трэк, а мне этого не нужно. Мне надо как-то так музыку включить. Если юзать MusicEvent, трэки не меняются при смене Stat'а. Вот это мне и нужно.Проблема остаётся актуальной. Кстати, simulated выполняются только на клиенте.
Дед Опубликовано: 11 января 2006 Опубликовано: 11 января 2006 Я, чесно сказать, проблемы не понимаю. Ну сменил ты дефолтную музыку с помощью MusicEvent, ну сохранился, ну загрузил сэйв - музыка опять играть начнёт. Понимаешь, Дед, я не юзаю дефолтную музыку по той причине, что когда меняется State игрока (combat, dying...), меняется трэк, а мне этого не нужно. Мне надо как-то так музыку включить. Если юзать MusicEvent, трэки не меняются при смене Stat'а. Вот это мне и нужно.Проблема остаётся актуальной. Кстати, simulated выполняются только на клиенте.В 2027 я отключал смену состояния музыки так:0. (опционально) добавлял в DeusExLevelInfo новую bool-переменную bStaticMusic.1. В Классе игрока модифицировал функцию UpdateDynamicMusic примерно так: ... if (info.bStaticMusic != True) { //тут идёт код смены стэйта } ... Теперь музыка на этом уровне не меняла своего состояния.
Kronos Опубликовано: 11 января 2006 Автор Опубликовано: 11 января 2006 Спасибо Дед. Помогло.Только я немного по-другому сделал. Через флаги. Если флаг тру, то музыка не меняется, если фолс, меняется. Флаг же можно менять по ходу игры.
Forevener Опубликовано: 16 мая 2006 Опубликовано: 16 мая 2006 Инстигатор - тот, по чьему хотению что-то произошло...То есть например pawn, который кого-то напугал или устроил драку.Или тот, от кого исходит шум... и так далее.
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас