Witam
A więc krótko i na temat. Niektórzy zapewne wiedzą co to są kostki dźwiękowe także problem odnosi się właśnie ich. Chciałbym ustawić sobie słyszalność danego dźwięku na mapie o odpowiedniej porze. Przypuszczam, że trzeba "rozebrać" tą kostkę lub jej plik dźwiękowy i edytować, a więc tutaj mogę zadać pytanie, co konkretnie muszę zrobić - dajmy na to - aby pewne odgłosy było słychać wyłącznie w nocy, a inne zaś nad ranem?
Pozdrawiam
/ Pozwoliłem sobie edytować tytuł na bardziej precyzyjny. - skawek /
Wystarczy dołączyć odpowiedni skrypcik, wykorzystując zmienną czasu (liczoną w sekundach od północy). Jeśli chcemy, by dana kostka była słyszalna od piątej do ósmej na przykład, skrypt o nazwie
soundcube_kogut.osc w podkatalogu
Script wygląda tak:
Kod:
{init}
0 (S.L.odtworz_koguta)
{end}
{frame}
(L.S.Time) 18000 >
(L.S.Time) 28800 < &&
{if}
1 (S.L.odtworz_koguta)
{else}
0 (S.L.odtworz_koguta)
{endif}
{end}
Poza tym trzeba utworzyć plik ze zmienną, która pojawiła się w skrypcie, również w tym podkatalogu, przykładowo będzie to
soundcube_kogut_varlist.txt a w nim umieszczamy:
Do .sco należy dołączyć deklarację tego skryptu i pliku, na przykład:
Kod:
[script]
1
script\soundcube_kogut.osc
[varnamelist]
1
script\soundcube_kogut_varlist.txt
Zdaje się, że w konfiguracyjnym pliku dźwiękowym, trzeba dopisać jeszcze
[conditionSingle] i ma wyglądać na przykład tak:
Kod:
[sound]
dzwiek_koguta.wav
0.6
[3d]
0
0
0
30
[conditionSingle]
odtworz_koguta
1
1
Powinno działać, jeśli nie - no to jeszcze sprawdzę, bo nie mam siły przetestować dzisiaj
A gdybym chciał żeby dźwięk był wyzwalany konkretnie o 4.43 później o 12.16. Da się ?
Oczywiście, że tak, tylko w skrypcie musisz zmienić warunek pojawiania się dźwięku. Zatem bierzesz z posta skawka varlist, wpisy do .sco i plik konfiguracji dźwięku, natomiast skrypt wyglądałby tak:
Kod:
{init}
0 (S.L.odtworz_koguta)
{end}
{frame}
(L.S.Time) 16980 =
(L.S.Time) 44160 = ||
{if}
1 (S.L.odtworz_koguta)
{else}
0 (S.L.odtworz_koguta)
{endif}
{end}
Co odpowiada za zasięg słyszalności ? bo może tego nie ustawiłem, błędu nie wywala. Ale coś nie dźwięczy.
Jakby wyglądał skrypt z pięcioma punktami godzinowymi ?
Problem może być w tym że skrypt działa tylko w określonej sekundzie podanej w skrypcie. Dla pięciu wartości trzeba by było obliczyć odpowiednią sekundę doby i dodać linijkę definiującą
odczyt zmiennej | czas w sekundach | znak równości | zaznaczenie bramki logicznej OR
(L.S.Time) XXXXX = ||
Z tym że tak jak napisałem, prawdopodobnie dźwięk odtwarza się tylko o sekundzie podanej w skrypcie, przyjrzę się temu jutro wieczorem.
W dalszym ciągu nic. Wczoraj próbowałem jeszcze coś zrobić, dodałem linkę sound. i dźwięk się pojawił ale jakby ktoś pause/play non stop naciskał, a wychodząc do menu dzwiek się otworzył. Ale to i tak niezależnie od godziny.
Oczywiście, że skrypt się odtwarza tylko w sekundzie a nawet mniej o podanych godzinach, trzeba zrobić dwa małe zakresy czasowe czyli np
Kod:
(L.S.Time) 16980 >
(L.S.Time) 16700 < &&
(L.S.Time) 44160 >
(L.S.Time) 44180 < && ||
gdzie różnica od pierwszej liczby do drugiej to czas trwania wyzwalacza. By dodać kolejne zakresy czasu to po prostu dodawać po takich segmentach ||
Kod:
(L.S.Time) x >
(L.S.Time) x+y < && ||
Odtwarza o wybranych godzinach, ale jest jedno ale. Gdzie mam dać tą linijkę (T.L.sound) ?
Nigdzie, nikt nie wspominał nawet o czymś takim