Chtěl bych naučit Jak-40 v XP11 používat zvuky posádky volně dostupné k Supronovově Yak-40 pro FS2004/FSX. Ideální by bylo použít logiku Xchecklistu, ale to by musel nějak podporovat funkci přehrávání wav souborů. Sparker se mi neozývá, takže nezbyde než to zkusit přes FlyWithLua a nějaký skript.
Je to 60 zvukových souborů, které bych chtěl přehrávat na základě datarefů postupně v pořadí 1-60.
Přehrání jednoho nebyl tímto kódem problém:
if PLANE_ICAO == YK40 then
local S1 = load_WAV_file(SCRIPT_DIRECTORY .. Yak-40_crew/Sd6015_02_007.wav)
local S1_played = false
dataref(parkingbrake, sim/flightmodel/controls/parkbrake)
function avionics_sound()
if parkingbrake > 0 and not S1_played then
play_sound(S1) S1_played = true
end
end
end
do_often(avionics_sound())
Ale jakmile jsem se snažil přidat druhý, tak už mi to nefunguje, debug mlčí a FlyWithLua se ukončuje:
if PLANE_ICAO == YK40 then
local S1 = load_WAV_file(SCRIPT_DIRECTORY .. Yak-40_crew/Sd6015_02_007.wav)
local S2 = load_WAV_file(SCRIPT_DIRECTORY .. Yak-40_crew/Sd6015_01_002.wav)
local S1_played = false
local S2_played = false
dataref(parkingbrake, sim/flightmodel/controls/parkbrake)
dataref(door, sim/cockpit2/switches/custom_slider_on[4])
function avionics_sound()
if parkingbrake > 0 and not S1_played then
play_sound(S1) S1_played = true
end
if door == 0 and not S2_played then
play_sound(S2) S2_played = true
end
end
end
do_often(avionics_sound())
Pérák nebere uvozovky, ale v kódu je mám. Na první pokus jsem jedny zapomněl, ale to mi debug napsal - na jakém rádku a za jakým výrazem je čeká. Teď to mám v Notepad++ a syntaxi jazyka nastavenou na lua, tím se snažím eliminovat problémy které bych v obyčejném notepadu přehlédl.
Poradil by mi s tímto programátorským oříškem prosím někdo, kdo je v tom zběhlejší než já?
Potřebuji hlavně blbuvzdornou principiální logiku přehrávání jednoho wav za druhým, když nezvládnu dva po sobě, nemá cenu se snažit cpát do kódu 60 wavů a 60 datarefů. V Excelu mám připraveny proměnné, datarefy, teď jen přijít na to jak to rozchodit. |
|