I am not sure to understand your question, but if you want the camera to placed according to the base coordinate system, and not as a reference to something, you should use self.camera.reparentTo(render) instead of self.camera.reparentTo(self.torus). When you reparent the camera to torus, the camera position will be relative to the torus.
Note that scripting issues should go in the “scripting issues” section of the forum!
Also, you could use the Code bloc to share your code. That way, code is more easily read and it save space!
Yes I did self.camera.reparentTo (surrender) only that the coordinates do not change the self.camera.setPos (0, -250, 100)! Sorry for my english and thank pea help.
I made some test and there seems to be a bug! If you try to the camera at at the begging of the game, it won’t move. If you wait a little, it works. A way to go around the bug is to attach the camera to a NodePath and then move the NodePath as you would the camera. Here is an example below.