Difference between revisions of "Talk:CreateFullActorCopy"
Jump to navigation
Jump to search
imported>ShadowDancer (adding script I used) |
imported>ShadowDancer (oops, forgot to add last part) |
||
Line 5: | Line 5: | ||
:[[User:ShadowDancer|ShadowDancer]] 10:32, 6 July 2006 (EDT): Well short of writing a script that goes through all of the factions and does a [[GetInFaction]] & [[GetFactionRank]]/[[SetFactionRank]] on the CreateActorFullCopy I can't think of an easy way to do it. Interestingly enough, while the CreateFullActorCopy may not have AI Packages, they do have the combat packages and spells hardcoded into the specified actor. Leaving out that one tab on the actor is a bit odd if you ask me, though I suppose it had to do with what they thought they were doing when they made the game. If you need the dialogue, I haven't a clue as to how you would add that onto a copy since I don't see how you could find out the packages that the actor originally had. | :[[User:ShadowDancer|ShadowDancer]] 10:32, 6 July 2006 (EDT): Well short of writing a script that goes through all of the factions and does a [[GetInFaction]] & [[GetFactionRank]]/[[SetFactionRank]] on the CreateActorFullCopy I can't think of an easy way to do it. Interestingly enough, while the CreateFullActorCopy may not have AI Packages, they do have the combat packages and spells hardcoded into the specified actor. Leaving out that one tab on the actor is a bit odd if you ask me, though I suppose it had to do with what they thought they were doing when they made the game. If you need the dialogue, I haven't a clue as to how you would add that onto a copy since I don't see how you could find out the packages that the actor originally had. | ||
:Additionally, as long as you get a reference variable to the copy, you can pretty much do whatever to the copy without affecting the original from what I found by experimentation with this. Changing the name doesnt affect the base copy or the original in the game from what I have seen (I created an activator to duplicate an NPC reference though). Mileage might vary in a spell script since scripts sometimes have odd effects for no apparent reason. I did a [[SetActorFullName]] and a [[RemoveAllItems]] on the copy with no effects on the original in the same room. It essentially creates a new reference to the base object minus the dialogue and AI functions from what I can tell. I still have no idea why it wipes those. | :Additionally, as long as you get a reference variable to the copy, you can pretty much do whatever to the copy without affecting the original from what I found by experimentation with this. Changing the name doesnt affect the base copy or the original in the game from what I have seen (I created an activator to duplicate an NPC reference though). Mileage might vary in a spell script since scripts sometimes have odd effects for no apparent reason. I did a [[SetActorFullName]] and a [[RemoveAllItems]] on the copy with no effects on the original in the same room. It essentially creates a new reference to the base object minus the dialogue and AI functions from what I can tell. I still have no idea why it wipes those other than possible questing conflicts that the dialogue may cause when talking to two copies of the same actor. | ||
<pre> | <pre> | ||
ScriptName Duplicate | ScriptName Duplicate |
Revision as of 10:56, 6 July 2006
Dragoon Wraith TALK 13:20, 5 July 2006 (EDT): Does this simply create a new Reference to the same Object, or does this create a new Object that is a duplicate of the original? (i.e. if I use Object-changing function on a copy, will it affect the original)
Also, anyone know a good way to copy over the factions and things that the base has, to create a true duplicate?
- ShadowDancer 10:32, 6 July 2006 (EDT): Well short of writing a script that goes through all of the factions and does a GetInFaction & GetFactionRank/SetFactionRank on the CreateActorFullCopy I can't think of an easy way to do it. Interestingly enough, while the CreateFullActorCopy may not have AI Packages, they do have the combat packages and spells hardcoded into the specified actor. Leaving out that one tab on the actor is a bit odd if you ask me, though I suppose it had to do with what they thought they were doing when they made the game. If you need the dialogue, I haven't a clue as to how you would add that onto a copy since I don't see how you could find out the packages that the actor originally had.
- Additionally, as long as you get a reference variable to the copy, you can pretty much do whatever to the copy without affecting the original from what I found by experimentation with this. Changing the name doesnt affect the base copy or the original in the game from what I have seen (I created an activator to duplicate an NPC reference though). Mileage might vary in a spell script since scripts sometimes have odd effects for no apparent reason. I did a SetActorFullName and a RemoveAllItems on the copy with no effects on the original in the same room. It essentially creates a new reference to the base object minus the dialogue and AI functions from what I can tell. I still have no idea why it wipes those other than possible questing conflicts that the dialogue may cause when talking to two copies of the same actor.
ScriptName Duplicate Ref ActorRef Ref DoOnce Float Timer Begin OnActivate If IsActionRef Player == 1 Set ActorRef to PriorMaborelRef.CreateFullActorCopy ;Creates actor copy EndIf End Begin GameMode If Timer >= 10 && DoOnce == 0 ActorRef.RemoveAllItems ;Removes items only on copy ActorRef.SetActorFullName "Idiot Savant" ;Changes name only on copy Set DoOnce to 1 Else Set Timer to Timer + GetSecondsPassed EndIf End