Wieso soll ich im Master- (oder auch im Parameter) Skript nicht auf das UI-Skript oder auf die graphische Eingabe reagieren können?
Weil du nicht auf Skripte reagieren kannst, sondern nur auf Parameter, die einen bestimmten Wert haben. Sind die Skripte abgearbeitet haben sie in ihrem Kontext was bewirkt. Und das User Interface Skript hat nun mal keine Auswirkung auf die Parameter, sondern das Parameter-Skript das sofort ausgeführt wird, sobald Du eine Eingabe im UI oder Parametertabelle gemacht hast.
Das Master ist dafür da, dass Du dort Teile unterbringst, die alle Skripte betreffen. Z.B. die Berechnung der Neigung einer Leitung. Aber das Zuweisen (PARAMETERS neig=neig) dieser berechneten Neigung gehört ins Parameters Skript. Die Abfrage, ob Du im Parameter-Skript bist und das dann im Master unterzubringen ist ohnehin witzlos, da NUR im Parameter-Skript-Kontext der Befehl PARAMETERS etwas bewirkt. In allen anderen kontexten wird der ignoriert. Dann kannst Du die Zeile gleich ins Parameter Skript packen.
Selbst wenn Du Skriptteile hast, die in mehreren Skripten benötigt werden, du diese aber in einem speziellen Kontext nicht verwenden willst, ist das ohne GLOB_CONTEXT und ohne Redundanz lösbar:
MASTER:
x = A
y = zzyzx
GOTO "masterend"
! --------------------------
! SUBS
"calcNeigung":
neig = y/x
RETURN
! --------------------------
"masterend":
2D-Skript:
GOSUB "calcNeigung"
text2 0,0,neig
3D-Skript:
GOSUB "calcNeigung"
LIN_ 0,0,0, 1,0,0
ROTy neig
LIN_ 0,0,0, 1,0,0
Parameter-Skript:
IF GLOB_MODPAR_NAME = "neig" THEN
zzyzx = A * TAN(neig)
PARAMETERS zzyzx = zzyzx
ENDIF
AC ist es nämlich egal, wo das Unterprogramm steht. Zur Ausführung des Skripts wird Master- und Kontext-Skript quasi wie zu einem zusammengefügt. Nur musst Du natürlich die Ausführung erstmal umgehen, indem Du den Teil überspringst. Stilistisch nicht der Bringer, aber mitunter besser als mit Makros anzufangen.
[Das Beispiel oben ist nicht das sinnvollste, erklärt aber das Prinzip]
Im UI gibt es auch nicht solche Beschränkungen wie im Parameter Skript. Poste mal genau die Skripte und ich zeige Dir, dass das problemlos geht.
Wenn Du anfängst für jeden Kontext die Programmierung separat zu betrachten und das Master zu entschlacken, entwirrt sich das Ganze.