Set Global Property in other map

If I try to set a GP in a zone of a map that the piece does not occupy, it doesn’t seem to work.

If I am mistaken and this feature does work, how do I specify a zone in another map? Is there some kind of dot notation or bracket notation that I can use? Like…

OtherMap.ZoneName

or

OtherMap[ZoneName]

I’m trying to target the actual name of the zone without having to use unique zone names across all boards in the module.

I’m thinking this is a scope issue.

Is it true that I can’t Set Global Property in a map that the acting piece is not a member of?

If true, then, would I need to establish a Global Property at the Module level and have my originally acting piece set it’s value and then have a GKC trigger the piece receiving the value in a different map to fetch it from the Module level for use?

Correct.

Correct

3 from 3!

Actually, I forgot I had added some additional Beanshell functions to give you this capability.

GetZoneProperty(propertyName, zoneName) - Get the value of a Zone property in the named zone on the current map
GetZoneProperty(propertyName, zoneName, mapName) - Get the value of a Zone property in the named zone on the named Map
GetMapProperty(propertyName, mapName) - Get the value of a Map property in the named Map

Setting the property of a ‘remote’ Global Property, however, can only be done by a piece that exists inside the remote item. So a Zone property can only be set by a piece in that Zone. To be able to set properties in arbitrary Zones, you would need to create an invisible ‘Control’ piece in each Zone and send GKC’s to it to set the Zone property value from a pre-set Global Property.

1 Like