Guest Makoy

Turbulenssin tärinät takapuoleen

15 viestiä aiheessa

Kyselin aikoinaan miten tuo olis mahdollista toteuttaa, vastaus on lua-scripti ( ei minun tekemä). Ihan eri fiilis kun pilvissä alkaa penkki jytisemään, ennen oli jotenkin oudon tasaista menoa. Tossa scripissä oli sellainen ongelma, että tärinä ei koskaan lakannut laskeutuessa ja jatkoi niin kauan kun täristimen sammutti. Tappelin sen kanssa jonkun aikaa ja onnistuin vahingossa ratkaisemaan sen. Pitää vielä testata ettei se vaikuta muihin Scriptin ääniin, mutta nyt tutinat loppuu kun pilvestä tulee alemmaksi. Pilvien yläpuolella ei ongelmaa ollutkaan. Mulla on tää lua yhdellä clientillä, jossa on ainoastaan kiinni täristin, ei kajareita. Ajatus on laittaa samalla scriptillä toiselle clientille sit kajareilla täristys äänet, bling blingit, ja kuuluutukset. Laitan scriptin tähän, jos lua-guruilla löytyy korjattavaa tai jotain muuta mitä tulee mieleen.t-Marco

 

 

------------------------------------------------------------------------------

-- Turbulence looping sound -- Seat Belts Messages -- ATC Radio Chatter

-- Initializing flags --

sndflg=0 -- turbulence sound flag

seatfl=0 -- seat belt flag

ref=0

 

-- Function to play sound if and until turbulence is detected --

 

function turbulence(offset,value)

        ground=ipc.readUW(0x0366)

        if (value > 0) and (sndflg == 0) and (ground == 0) then

                ref=sound.playloop("C:\\WideClient\\Sounds\\Turbulence.wav")

                sndflg=1

                ipc.sleep(1000)

                if (seatfl == 2) or (seatfl == 4) then

                        sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                        ipc.sleep(1000)

                end

                sound.play("C:\\WideClient\\Sounds\\nattend.wav")

        end

        if (value == 0) and (sndflg == 1) then

                sound.stop(ref)

                sndflg=0

                if (seatfl == 2) or (seatfl ==4) then

                        sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                        ipc.sleep(1000)

                        sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                end

        end

end

 

 

-- Function to manage messages when seat belts sign changes - welcome on board -- descent --- on cruise ---- parked at the arrival gate

 

function seatbelt(offset,value)

        if (value == 1) and (seatfl == 0) then

                sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                ipc.sleep(1000)

                sound.play("C:\\WideClient\\Sounds\\welcomeonboard.wav")

                seatfl=1

        end

        if (value == 1) and (seatfl == 2) then

                sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                ipc.sleep(1000)

                sound.play("C:\\WideClient\\Sounds\\descent.wav")

                seatfl=3

        end

        if (value == 0) and (seatfl == 1) then

                sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                ipc.sleep(1000)

                sound.play("C:\\WideClient\\Sounds\\levelautobelt.wav")

                seatfl=2

        end

        if (value == 0) and (seatfl == 3) then

                sound.play("C:\\WideClient\\Sounds\\nattend.wav")

                ipc.sleep(1000)

                sound.play("C:\\WideClient\\Sounds\\atgate.wav")

                seatfl=4

        end

end     

 

-- Function to play ATC chatter - COM2 freqs 118.10 and 118.20 - 70 wavs for each freq - y var to make the frequency of chat random - x var to make the messages random

 

function ATC_Radio()

 

-- Radio squelch if a valid freq is selected

 

        n = ipc.readUW(0x3118)

        if (n == 0x1810) or (n == 0x1820) then

                if (n1 ~= n) then

                        sound.play("C:\\WideClient\\Sounds\\Radio.wav")

                        n1=n

                end

        end

 

  -- Radio chatter play routine

 

        y= math.random(1,5)

        if (y == 2) or (y == 4) then

                if (n == 0x1810) then

                        x=math.random (1,70)

                        suono = "C:\\WideClient\\Sounds\\chatter1.wav"

                        sound.play(suono)

                end

                if (n == 0x1820) then

                        x=math.random (1,70)

                        suono = "C:\\WideClient\\Sounds\\chatter2.wav"

                        sound.play(suono)

                end

        end

end

 

-- FSUIPC LUA calls for the different events -- timer to exec the ATC function every 1 min

event.offset(0x0E88,"UW","turbulence")

event.offset(0x0E98,"UW","turbulence")

event.offset(0x341D,"UB","seatbelt")

event.timer(60000,"ATC_Radio")

------------------------------------------------------------------------

 

Jaa viesti


Link to post
Jaa muulla sivustolla

Tuo vaikuttaa vähintäänkin kokeilemisen arvoiselta. Ei vaan tuo LUA ole tuttu, eli taas on uuden asian opiskelu edessä  :)

Jaa viesti


Link to post
Jaa muulla sivustolla

LUA vaikuttaa aika mielenkiintoiselta, olen sitä ohimennen vähän katsellut  :)

Imeekö tuo scripti tiedon turbulenssistä FSUIPC:n kautta? Ts. missä osassa tuota scriptiä tutkitaan onko turbulenssia vai ei?

Juha

Jaa viesti


Link to post
Jaa muulla sivustolla

LUA vaikuttaa aika mielenkiintoiselta, olen sitä ohimennen vähän katsellut  :)

Imeekö tuo scripti tiedon turbulenssistä FSUIPC:n kautta? Ts. missä osassa tuota scriptiä tutkitaan onko turbulenssia vai ei?

Juha

 

Fsuipc:n kautta toimii, scripti on ihan alkupuolella siinä missä on mainittu turbulence sound.

Tossa on vissiin kaksi offsettiä siihen tarkoitukseen.

Jaa viesti


Link to post
Jaa muulla sivustolla

Moro,

 

Mistäs tuo Turbulence.wav -tiedosto löytyy?

 

 

Scriptiin piti lisätä omat wav tiedostot mitä haluaa käyttää ja tietysti pathi missä äänet on. Mä laitoin yhden groundroll äänen turbulence ääneksi ja se täristää mukavan epätasaisen välein, siinä kyllä sais olla enemmänkin tyhjää välissä ja enemmän voluumivaihtelua. Jos haluat kokeilla sitä, niin voin lähettää sen sulle.

Jaa viesti


Link to post
Jaa muulla sivustolla

Asensin tuon luan client koneelle tälläviisiin:

Kopioin Fsuipc:n Lua example kansiosta yhden lua tiedoston, jonka avasin notepadilla. Tyhjensin tiedoston ja laitoin tuon scriptin sisään. Nimesin tiedoston turbulencesoundiksi ja laitoin sen Fsclient kansioon. Loin samaan paikkaan sounds kansion, missä on sitten tarvittavat äänet ( tossa scriptissä toimii myös bling bling äänet ennen ja jälkeen turbulenssin ja myös kuuluutukset eri vaiheissa) jos haluaa niitäkin käyttää. Kun wideclient käynnistyy, se etsii automaattisesti lua tiedostoja ja käynnistää ne. Ei tossa scriptissä muuta kun vaihtaa nuo äänien nimet, jos haluaa käyttää omia ja sit ei kun kokeilemaan.

t-Marco

Jaa viesti


Link to post
Jaa muulla sivustolla

Täältä löytyy apuja ensi metreille: http://forum.simflight.com/index.php?app=core&module=attach&section=attach&attach_id=97606

 

Tuli mieleeni, että oliskohan koodilla mahdollista toteuttaa eritasoisia tärinöitä. Eri tasoisille turbulensseille olisi omat äänensä. Esim Turb_LOW, Turb_Heavy jne. Todennäköisesti nuo arvot offseteissa ovat välillä jotain (0-255?) ???

 

EDIT:

 

Näyttäisi olevan seuraavanlaiset arvot:

OFFSET 0E88

At aircraft altitude: cloud turbulence level 0-255 (see 0EFC).

(Actual values 0, 72, 144, 216, 252)

 

ja 0E98

At aircraft altitude:  Wind turbulence value, 0–255, just like

offset 0ED2, etc (Actual values 0, 64, 128, 192, 255)

 

Nyt pitäisi vielä noille arvoille määritellä oma äänitiedosto jokaiselle ja eikun kokeilemaan :)

Jaa viesti


Link to post
Jaa muulla sivustolla

Scriptiin piti lisätä omat wav tiedostot mitä haluaa käyttää ja tietysti pathi missä äänet on. Mä laitoin yhden groundroll äänen turbulence ääneksi ja se täristää mukavan epätasaisen välein, siinä kyllä sais olla enemmänkin tyhjää välissä ja enemmän voluumivaihtelua. Jos haluat kokeilla sitä, niin voin lähettää sen sulle.

 

Joo, puikkaa sähköpostiin      ohcku.simulaattori(at)gmail.com, kiitos :-)

Jaa viesti


Link to post
Jaa muulla sivustolla

Kun olette testailleet tätä omilla lisäyksillä/parannuksilla/waveilla yms, niin laittakaa scriptiä jakoon  ;)

Tähän vissiin vaikuttaa myös sääohjelma mitä käyttää, eikös niissä voi olla eri määrä layereitä jos oon oikein ymmärtänyt. Pitäis saada houkuteltua mukaan toi Törmäsen Jouni, on vissiinkin hyvin perillä näistä Lua jutuista. Meikäläinen on näissä aika pihalla......mutta mikäs siinä tällaisella ilmalla  ;D

Jaa viesti


Link to post
Jaa muulla sivustolla

Huomenia vaan!

Tuli taas eilen illalla hakattua päätä seinään. Muokkasin koodia lyhyemmäksi ja kokeilin. Kaikki näytti hyvältä kunnes client koneen WideClient lakkasi toimimasta. PIeniä muutoksia koodiin ja uutta kokeilua - sama toistui. Tätä jatkui parin tunnin ajan tietoa netistä etsien ja koodia muokaten. Vikakin lopulta löytyi. Client koneen WideClient versio oli vanha kuin taivas  :-[ Päiviyksen jälkeen toimi kuin unelma...

 

Koodia en ehtinyt kummemmin vielä fiksata mutta jos joku haluaa pelkästään nuo turbulenssiäänet niin tässä tämä:

------------------------------------------------------------------------------

-- Turbulence looping sound

-- Initializing flags --

sndflg=0 -- turbulence sound flag

 

-- Function to play sound if and until LIGHT turbulence is detected --

function turbulence(offset,value)

        ground=ipc.readUW(0x0366)

        if (value > 0) and (value <72) and (sndflg == 0) and (ground == 0) then

                ref=sound.playloop("C:\\turb_LIG.wav")

                sndflg=1

                ipc.sleep(1000)

               

        end

        if (value == 0) or (value > 72) and (sndflg == 1) then

                sound.stop(ref)

                sndflg=0

end               

        end

 

-- FSUIPC LUA calls for the different events

event.offset(0x0E88,"UW","turbulence")

event.offset(0x0E98,"UW","turbulence")

------------------------------------------------------------------------

 

Jos tässä joku ilta ehtisi kokeilla noita omia ääniä eri asteisille tärinöille...

 

EDIT:

 

Helpoiten tuon sai ratkaistua siten, että tein jokaiselle tyypille oman scriptin. Scriptit soittavat tietyn äänen aina, kun turbulenssit ovat annettujen rajojen sisäpuolella. Soitto lakkaa, kun arvot muuttuvat. Ei välttämättä paras vaihtoehto mutta ainakin toimiva. Vielä tosin pitää testata, ettei tärisytä maassa mutta ainakin ilmassa toimi hyvin :)

 

EDIT2:

Muokkasin vielä koodin malliksi LIGHT turbulenssille. Tuolla periaatteella muuttaa noita arvoja sopivaksi muillekin "vahvuuksille".

Jaa viesti


Link to post
Jaa muulla sivustolla

Joo ja pitää olla vähintään fsuipc:n versiot 3.998p fs9:lle tai 4.752 fsx:lle. Aiemmat ei vissiin tue noita offsetteja.

Jaa viesti


Link to post
Jaa muulla sivustolla

  Tällä lailla kai kovemmat tärinät?                 

if (value > 72) and (value <255) and (sndflg == 0) and (ground == 0) then

                ref=sound.playloop("C:\\kovempi_turbulenssi.wav")

                sndflg=1

                ipc.sleep(1000

 

Hhmmmm... mites jos eroittas nuo offsetit omiksi lua-fileiksi tai laittais erilleen sriptiin, niin sais windturbulencelle ja cloudturbulencelle omat äänensä ja säätönsä?. Mä olen lennellyt koelentoja could frontsilla. Kun lentää pilvissä, täristys jatkuu samanlaisena vaikka tulee pilvetön kohta. Tuntuis paremmalta jos silloin tärinä olis lievempi ja kun sukeltaa takas pilveen niin tärinä voimistuis. Pitää huomenna testailla tuota sun linkin ääntä, kiitokset vinkistä. t-Marco

Jaa viesti


Link to post
Jaa muulla sivustolla

Kannattaa muuttaa tuo 255 arvoksi 252.

Noihan saa nopeesti copy pastella ja sitten vaan toinen offset pois. Äänien kanssa säätäminen voikin sitten viedä aikaa.

Jaa viesti


Link to post
Jaa muulla sivustolla

Luo uusi käyttäjätunnus tai kirjaudu sisään

Sinun täytyy olla jäsen osallistuaksesi keskusteluun

Luo käyttäjätili

Rekisteröi uusi käyttäjätili helposti ja nopeasti!


Luo uusi käyttäjätili

Kirjaudu sisään

Sinulla on jo käyttäjätili?


Kirjaudu sisään