PeeJott17 Posted December 8, 2020 Share Posted December 8, 2020 Hi guys. I've been fiddling around with a little script, that should only fetch the base data "get_base_data()" from DCS and store it in a variable. I don't want to do anything fancy, right now, just that. As a way of knowing if it works, I did put the "Print_message_to_user" in the script as well. It looks like this: local Get_System_info = GetSelf() local dev = GetSelf() ----------------------------------------- local update_time_step = 0.01 local sensor_data = get_base_data() make_default_activity(update_time_step) ----------------------------------------- update = function () ActualMachSF = sensor_data:getMachNumber() ActualGeforceSF = sensor_data:getVerticalAcceleration() print_message_to_user (ActualMachSF) print_message_to_user (ActualGeforceSF) end need_to_be_closed = false When I start it via "dofile" from the entry.lua I get an error saying: attempt to call global 'GetSelf' (a nil value) If I erase the first 2 lines, the log says: attempt to call global 'get_base_data' (a nil value) How can I "connect" my script to the "output"-side of DCS? Any help would be greatly apreciated :-) Link to comment Share on other sites More sharing options...
PeeJott17 Posted December 10, 2020 Author Share Posted December 10, 2020 Or better: Is it possible for FC3 planes? Link to comment Share on other sites More sharing options...
PeeJott17 Posted December 13, 2020 Author Share Posted December 13, 2020 Well guys, today it dawned on me, that the problem is, that I call my script (as above) from the entry.lua or from the aircraft.lua. Those files are loaded right at the beginning when DCS initializes itself. It is not so hard to understand, that the above mentioned global variables/functions "get_base_data()" return a nil value, because there is just nothing to return, or, more precise, those functions/variables are not there when the script is executed. I tried a little workaround with: local function LoGetSelfPlane() local selfdata = LoGetSelfData() if selfdata == nil then selfdata = "XXX" end return selfdata.Name end I switched to the export.lua, since it might be, that FC3 modules hide their data from "get_base_data"... Don't know for sure, but in the above way, I don't get an error message ind those functions. I do get the same error in the: make_default_activity(update_time_step) function, which is a bit annoying...well, I'm at it and will see, how it works... If anyone has any suggestions, I'd be quite happy to be pointed in the right direction... Link to comment Share on other sites More sharing options...
brianiscool Posted February 10, 2021 Share Posted February 10, 2021 Hey PeeJott, this is Immortality from Discord, devices must contain a ID in the device.lua script and be given a value within the devices table in the device_init.lua. For example, your script could be declared this way. -- devices.lua devices["MYDEVICE"] = 1 -- or counter() should you have this function defined -- device_init.lua devices[MYDEVICE] = {"avLuaDevice", LockOn_Options.script_path.."SYSTEMS/mydevice.lua"} Additionally make sure you have the following code in you entry.lua and mainaircraft.lua -- entry.lua make_flyable('Aircraft', current_mod_path..'/Cockpit/Scripts/', nil, current_mod_path..'/Scripts/Comm.lua') -- makeflyable(aircraft_name, script_path, nil (no efm), comm_script) -- main_aircraft.lua aircraft_table = { HumanCockpit = true, -- these need to be set HumanCockpitPath = current_mod_path..'/Cockpit/Scripts/', } cppimmo - Developer for Crosstail Studios :lol::pilotfly::thumbup: AMD Ryzen 5 1600 @3.6GHz, 12GB 3200MHz, MSI GAMING X GTX1060 6GB, 256GB SSD, 500GB SSD, 124GB SDD, T1600m FCS, TrackIR 5 [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
PeeJott17 Posted February 21, 2021 Author Share Posted February 21, 2021 Hi @brianiscool Thanks a lot for your answer....cool somebody replying. Sadly, the idea was already scrapped since it was an idea to change aerodynamics_table of SFM "on the fly". The idea was to throw like 6 aerodynamic tables into the aircraft.lua and with a function like if altitude higher than x and lower than y, choose table A, if altitude higher z and lower than w choose table B and so forth. The idea behind it was to get the plane to behave exactly as it should be in the certain altitudes. The same idea (which would've been an addon) would work for AoA...but since a lot of guys said, that changing SFM tables on the fly is not possible, since SFM-tables are loaded at the very beginning into DCS and can't be modified afterwards...well the idea was not so interesting anymore ;-) Link to comment Share on other sites More sharing options...
Recommended Posts