Why can't I change an object's property via Logic Node editor?

I have a plane with two sensors attached to it - “Mouse Over” and “Left Mouse Button”. Via “Sensor Positive” node I get a positive response from them (number 1 on screenshot)

Next, I set the value of the property “month” (created on the “Camera_schedule” object) to 1 (number 2 on screenshot)
The “month” property was created in advance, and in line 36 I just declare the variable so that later I can display the value of the variable to the console, using the test() function

Next, after executing the “Set Property” node, I simply output the value of the variable to the console via the test() function (number 3 on screenshot)

But, as you can see in the screenshot (number 4 on screenshot), “month” property remained equal to 0, despite the fact that the “get property” node is located before the “Run Python Code” node, i.e. if the “get property” node had failed, then the test() function would not have executed either. But it was executed, although “month” property remained equal to 0…

I tried using “bpy.data.objects[“Camera_schedule”].game.properties[“month”].value” instead of “month_value” in the print() function, but it didn’t help

My brain is ready to explode. What am I doing wrong?

screenshot
Google Photos

Thanks

Hi,

instead of bpy use bge stuff:

import bge

scene = bge.logic.getCurrentScene()
Cube = scene.objects['Cube']

def test():
    month = Cube['prop']
    print(month)

Hi! But there is no such module in UPBGE anymore. This is what the console says:
Google Photos

Don’t execute the script in the editor but in game like your other script.

here’s your setup
month.blend (937.7 KB)

Many thanks!