Jump to content

EgoBallistic

Supporter
  • Posts

    8
  • Joined

  • Last visited

Everything posted by EgoBallistic

  1. Wrye Bash allows you to safely rename the plugins a save depends on. Go to the Saves tab, select a save, then in the right-hand panel scroll down to the mod you need to change. Right-click, select the plugin with the new name, then hit Save below the plugins list. Now when you load your save it will use the new plugin in place of the old one, and all existing forms will still work as before. Make sure you have the latest version of Bash, this feature didn't work properly with some older versions.
  2. You have to understand the difference between actor base records (NPC records) and actor references. An NPC record describes an NPC (appearance, traits, keywords, starting inventory, etc.) but it doesn't exist in the game. In order for an NPC to exist in the game, you have to create a reference of that NPC, either with the CK or with a script command. This reference is a unique instance of that NPC. The Player you play in the game is a reference, and its inventory is unique. When you created your NPC, you templated its starting inventory on the starting inventory of the player NPC, not on the player reference's current inventory. So when you placed a reference to it in the game world, it got its own unique inventory. To make an NPC have the same inventory as another, you would need to create scripts to copy the inventory and optionally keep it up to date. All of this is very doable, but there isn't a simple checkbox in the CK that will allow that to happen.
  3. Put Auto after each property name. If you don't put Auto, the compiler expects you to define the Set or Get function for that property, thus the "expecting FUNCTION" error. LeveledActor property LCharWorkshopNPC Auto
  4. The increased array size will not automatically benefit anything. It allows arrays to potentially grow beyond 128 elements, but something has to happen to cause the array to grow that big. To keep it really simple, scripts generally use arrays in one of two ways: Fixed-size arrays. The size is set in the script and it won't grow or shrink. These are never bigger than 128, otherwise they wouldn't work in the vanilla game.Dynamicaly-sized arrays. These are created with an initial size of zero, and the script adds to them as needed. Again, though, since the game is designed to work with the 128-element limit, the array won't grow past that unless you do something really unusual - a massive settlement with tons of vendors, etc.If a settlement build works within the 128-element limit, it will work exactly the same, consume the same amount of memory, etc, with a 2000 element limit. It won't grab more resources just because it can. AAF needs arrays of that size because of the way it loads and stores animation data from its XML configuration files. Most scripts never have any need for that many elements.
  5. I stumbled across this thread while looking for something different but related. I happened to test this out earlier and the results are not as straightforward as I had thought. Calling SetOutfit() on an Actor that is based on a simple, non-templated, non-leveled ActorBase changes the outfit of the ActorBase. Calling SetOutfit() on an Actor that is based on a LeveledActor changes the outfit of the ActorBase -- whichever ActorBase was chosen by the LeveledActor will have its Outfit permanently changed. Calling SetOutfit() on an Actor that is based on a templated ActorBase only changes the temporary LeveledActorBase. It does not change any of the template actors. I discovered all this through trial and error. I have been working on a mod where leveled NPCs are placed, then given one outfit, and depending on what the player does they will receive a different outfit later. Directly using a LeveledActor caused all the actors to eventually have the wrong outfits. But using an ActorBase that is templated from that LeveledActor works as expected, I can change the outfits of individual NPCs without affecting the others.
×
×
  • Create New...