Hi,
Can you elaborate on this, as I haven't seen such things in the lua exposed functions list posted on the web site !!!
For what I understood, I should say guessed, most of the functions are geared toward local client usage like for a cockpit with data replication screens (all the LoGetxxxx functions) and switch for input (see Input section of export.lua on web site). Note that only two can accept arguments in input:
LoGetObjectById() -- (args - 1 (number), results - 1 (table))
LoGetNameByType () -- args 4 (number : level1,level2,level3,level4), result string
Few of these functions are more global and can be used in the case of the AWACS project:
LoGetObjectById()
LoGetWorldObjects()
Other functions do not take arguments in input to specify the Object on which we would need to apply the function. Example, how could an external application, like the AWACS one, get the routes of all flights ?
It cannot with the current function set.
So how could the server check the payload of a plane through currently exposed Lua functions ? Moreover, restrict it through Lua exposed functions ? May be I missed something here as unless the server and the clients exchange signatures of the meinit.xml file, I do not see how we could have restrictions on payload editing.
So unless there is a network connection, in parallel of the lockon built-in client/server one, between the Lo clients, the Lo server and an external application, there not much one can do.
Unfortunately an external application will not benefit from the fact that there is already a Lo builtin connection between the clients and the server ! The ideal situation would be where all the clients could use the Lua exposed function locally, to take an example for a cockpit or instrument replication, and external global applications, like the AWACS project, would use only the server output capabilities...because the server knows anyway everything about the clients...