I would like to know whether I could define the neighborhood rules, which means some certain couplings of building rules could be applied in adjacent plots. For instance, if the plot was applied with rule of building type_A, then the plot next to it could be type_B or C, but should not be E and F. It's something like that to define the rules of their neighborhoods depending on what they are themselves. So can I achieve this in CityEngine, and how? Help me. Thank you.
A CGA rule can only be run on a single shape, and those shapes can contain attributes to drive what the rule does (type_A vs type_B). Use either ArcGIS or CityEngine's built-in Python to set attributes on the shapes, then the rules will read those shapes. So yes, that can be done, but is a combination of CGA and others.
I agree with Chris.
The python functions settings you want is this one though: