Decoding mavlink messages sent from another plane

I want to obtain and process position data of a plane in lua script running on a different copter.
Basically, I see the following options:

A. plane runs a lua script which extracts the data from ahrs:, and sends it in some arbitrary format to uart which is then transmitted to copter, and the copter can easily decode the data. The only issue is that plane must be able to run scripts as well, excluding the possibility to use F405

B. plane sends mavlink messages, even with F405. The problem is that copter lua script has to decode the mavlink sentences, and this is somewhat complicated.
In both cases, the Uart would be defined as SCRIPTING.

However, if I define a UART as MAVLINK, can it be made available for the lua script?

Is there an easier way to decode mavlink messages received by lua script? For instance making the message 33 GPS data available in lua script?

There are examples of MAVLink decoding in Lua examples, you would basically monitor global position messages from all other vehicles on the network and filter by system id.