I can't find the thread using the forum search (which admittedly svcks) - do you remember who started it, or anything? I'd like to read it. IIRC that kind of thing crashed on game load for me but some people said it worked for them, so IDK if it's a good idea really.
I looked briefly yesterday, but it was well over a year ago (maybe 2 or more), so I think it got pruned. I'll try Googling again later.
Yes, I would like to know how to create PC clones with this approach: PlaceAtPC "player"/PlaceAtPC "PlayerSaveGame". What are “some tweaks” for saving/compiling such scripts?
For a script to compile, the object you refer to (eg "player"->doSomething) has to exist. So, for you to use script commands on "PlayerSaveGame" or player00000001 (or 2), they would have to exist. So, make a dummy object with that ID, compile the script, then delete the dummy. The compiled script will now refer to an invalid ID,
unless you make it valid by creating that ingame. I think it works, but it's been a while since I tried.
Under “cleanup properly” I understand deleting “any copies of player or PlayerSaveGame before the game is saved”. How to script that correctly? Track when a player is going to save.
You would have to prevent the PC from saving while the clone was active. for example, make a "mirror" cell. Set CharGenState to 1 in it, then when they leave, delete the copy and set it back to -1. Something along those lines should work for this.
How to address a PC clone? “player”? But what will be then a “real” player? Or this clone will be “player00000001”?
The "real" player will still be "player", the clone would have the numbers added on.
I can answer a couple of those. The clone has all the numbers after it and if I understand correctly the real player is not actually called "player", but is reffered to as the saved game that is loaded. Also, the problem with player0000001->startcombat player by itself is that the clone has not spawned, because no place at pc function was used. Once again my scripting knowledge is rather small, but I think that's right.
The player can be accessed by using "player" in-game. The actual model, though, if you click it, is PlayerSaveGame (or was last I checked). I think it's a special NPC, hard-coded to respond to commands.
It's been a long time since this came up, so I don't remember all the details... The difference between the player and the saved game is important. I think the saved copy has the player's inventory, but I don't remember. Forcing them not to save is important to avoid breaking the game. Other than that, I don't remember much.