Your Library Global Settings object does not need to do anything in the 2D script - it can be left blank.
All it needs to do is to set the parameter and display it in the MVO settings via the interface script.
So now you have a parameter that you can change in the MVO.
In any object you want to use this setting (your object B), you must 'REQUEST' the value of this library Global parameter.
req_zone_cat = ""
_bSuccess = LIBRARYGLOBAL ("My_LibraryGlobals", "my_glob_lib_variable", req_my_glob_lib_variable)
if _bSuccess > 0 then
my_object_variable = req_my_glob_lib_variable
else
zone_type = "default backup value"
endif
'bsuccess' will be 0 if it fails (i.e. Library Global variable is not there, so you can set a default value if it fails.
'req_my_glob_lib_variable" will contain the value of the Library Global Variable you are after.
This is best done in the 2D and/or 3D script of object B, as it is what they call view dependent.
You can use this in the master and/or parameter script, but it is not wise to try to set an object parameter to this value as the parameter script of your object is not run when you change the MVO value - you must open the settings and OK to force it to update.
The 2D and 3D views however will update based on the change of the MVO setting.
I hope this makes sense.
It took me a little while to get around this.
Barry.
One of the forum moderators.
Versions 6.5 to 25
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision 3510 - i7 6820HQ @ 2.70GHz, 16GB RAM, AMD FirePro W5130M, Windows 10