Кажется, я слегка не так сказал,
- это я имел ввиду если OWNER'ы этих процессов разные (не знаю как это по симски объяснить, но на примере из обычной жизни - если сравнивать с Windows XP, там есть такая команда "Запуститиь от имени..."). То есть, main запускается от имени объекта, а interaction - от имени сима - вот между этими двумя процессами никогда не будут передаваться никакие переменные (кроме аттрибутов). Если два различных сима запустили одно и то же взаимодействие в двух различных экземплярах - то между ними тоже никогда не передадутся переменные (Temporary Storage тоже туда относится). А в скрипте который запустил сим (или объект) - Temporary Storage будет ходить по всем функциям, запускаемым ЭТИМ процессом, и уничтожится после того как сим завершит процесс. А тип функции не имеет значение - что приват, что глобал что полуглобал.Temporary Storage не передаются от одного скрипта к другому.
Вообще мне так кажется, что в виртуальном ядре калибруется матрица глобальных функций, потом на нее накладывается матрица полуглобальных функций, а на нее уже приватные, но между ними можно свободно переходить в рамках одного и того же процесса. Также и со слотами, и с взаимодействиями, и с константами.