Those questions are answered by metamorphium in his on-line wme book.
Thanks for link!
it IS possible but requires extra scripting. the game must be designed with the possibility and from the very beginning of the design should think of such patch. You can for example intercept the event which triggers when the game position loads and reattach all scripts which are running (which would refresh them) to their recent versions.
Great idea!
Here how i think it may be implemented for the project, that was designed without such patching in mind. For example we need to patch scripts of two types of objects - scene or scene node. We can create an object ScriptPatcher. This object have the list of objects in wich the scripts was changed. So we call this SCriptPatcher after Game.Load, he will check - if there any changed object loaded, and if any he will reload chandeg scripts of this object.
For example, i can store the list of changed objects in file:
<scene
name = "scenes\scene_01\scene01.scene"
script = "scripts\some_name.script"
/>
<node
scene = "scenes\scene_07\scene07.scene"
name = "some_entity"
script = "some_entity.script"
/>
For scene i need only scene name, and for object i need scene name too (cause there can be entities with the same name in different scenes). And after all of this i need only to put all needed new scripts and update this file. Will it work, how do you think?