Jump to content

scorrp10

Premium Member
  • Posts

    1309
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by scorrp10

  1. ScriptName TrapDoorEnablerTrigger Extends ObjectReference Actor Property PlayerREF Auto ; Least 'costly' way to refer to the player ObjectReference Property TrapDoor Auto Event OnTriggerEnter(ObjectReference akActionRef) If akActionRef == PlayerREF ; This condition ensures that only the player will trigger this code TrapDoor.Enable() Self.Disable() EndIf EndEvent The script given by above poster is just an example that does nothing except display a message popup. The script above actually does what you need. In the properties of that trigger area, there should be a scripts tab, where you can attach a script. You can attach one of existing scripts, or you can create a new one, in which case CK will ask you to enter its name. Once a script is attached, you click the Properties button next to it. In there, Add Property. You want to put in its type as Actor, and its name as PlayerRef. Once you click OK, it should auto-populate it. Again, Add Property. Type is ObjectReference, and name 'TrapDoor', OK. The property will get added, but it will be unfilled. You click this property, click Edit. It should give you an option to select a cell, and in that cell, the reference to that trapdoor. After this, you should be able to go into your Data\Source\Scripts, and the new .psc file should be there with the two properties defined, and you just add the OnTriggerEnter function. As you can see, logic is simple. If the triggerer is the player, the script will enable the trapdoor, and then it will disable itself. One more thing - you still need to compile the script after this. Generally, if you go Gameplay - papyrus script manager, the script should be there if you look for it, but often, a new script will not appear until you restart Creation Kit. So you want to save, exit, restart CK, and the open script manager and compile.
  2. Are you trying to make a character USE A SPELL under certain conditions? DAR does not do that. What it does is: When game engine directs an actor to perform a certain animation, which plays a specific animation .hkx file ... DAR, based on certain conditions, can make the engine play a substitute hkx file. For example when a jumping animation plays, it can be replaced with a sommersault animation if the actor is not wearing anything with keyword "ArmorBoots"
  3. Personally, I think having a trapdoor appear where there was previously none is weird. Why not just have it there, but lock it with "requires a key" lock. Put the key in an obvious location in C close to ladder. But otherwise, yeah, you can put a trigger area someplace in C, and attach a script to it that will have that trapdoor reference as property. The script, oh trigger activation, would: Enable door Disable the trigger area.
  4. Looks like you are missing SkyUI source. Grab the SkyUI SDK 5.1 from here, unzip it, and place the .psc files from Scripts/Source into your Data/Source/Scripts. See if it helps reduce the errors. But in general, unless you plan to mess around with NFF scripts, you should just ignore those errors.
  5. I know that look very well. when you have a High Poly Head NPC that is at a wrong weight, and need to use setnpcweight command on them, the game will replace their head with a facegenned one, using vanilla .tri files, and their head will look exactly like that, until you disable/enable, at which point their proper head will get loaded. Now, in my case, I also get a CTD when game tries to use vanilla .tri on an HP head - but I suspect that might be the result of Expressive Facegen Morphs. So, the takeaway - I suspect your NPCs in question are somehow using the wrong .tri files. Or they somehow got their head files replaced with facegenned ones. Step one - you need More Informative Console. Once you have that, click on an affected NPC from console, and there will be info on right side abut the NPC base FormID, and the plugin in which that NPC has been originally defined. Step two - you need to locate their head file. For example, if base FormID is FE340D64, and plugin is 'AffectedNPC.esp', you go to Data\meshes\actors\character\facegendata\facegeom\AffectedNPC.esp\ and in there, open 00000D64.nif using NifScope. If it is the bloated head, somehow you managed to overwrite that mod's original head with a facegenned one (usually by opening nd then saving that mod in CK). You should delete that file, and for good measure, also delete Data\textures\actors\character\facegendata\facetint\AffectedNPC.esp\00000D64.dds. Then, reinstall that NPC mod. See if that helps. Also, load up the mod in CK, open that NPC Actor record, see what head parts the actor uses. Specifically the head one. Open that headpart form, and check what .tri files it uses. See if those .tri files are vanilla, or being supplied by some other mod. See if there is any conflict for the .tri files between the NPC-adding mod and some other.
  6. As I said, I have CBBE base shape body (body/feet/hands/head) exported from nif a as Blender projects using pyNifly plugin. And I use those to adapt outfits. Exactly how to create an outfit from scratch (including sculpting, UV unwrap, texture baking etc) is seriously beyond this forum duscussion. I suggest one of many series of Blender tutorials found on Youtube. I also highly recommend watching timelapses by Flycat, such as this one: Once you got a 3D model created and fitted to a base shape, the rest is easy.
  7. Check out Elven dresses from Apachii Divine Elegance Store. If not already what you want, they should be a sufficiently close starting point.
  8. First one of course. Generally what you do is: 1. Delete from outfit existing bone weights and sliders and delete existing body mesh. 2. Load an appropriate 3BA reference. For most outfits, it will be Uniboob. Learning to recognize when a different one is needed is a matter of experience. 3. Copy bone weights for all meshes. This will copy weights from the reference to the outfit, so the outfit moves with the body as skeleton moves during animations. When working with bone weights, it is best to turn textures off (T). Use 'Mask weighted vertices' to see if any areas remained unweighted. If some did, usually all you need is, with already weighted vertices still masked, 'Copy Bone Weights' again, but specify larger radius (i.e. 8 ) Sometimes, manual tweaking of the weights is needed, especially on parts that are rigid and don't bend with the body. Case in point - tops of these daedric boots would be weighted to Thigh bones, causing them to bend when knee bends, which is wrong. So on these boots, one needs to delete all thigh bone weights and paint calf weights where needed. 4. Conform sliders. This will cause the outfit to deform in response to 3BA sliders of the reference. For reference, you mostly want Uniboob, but for various skirts, loincloths, capes etc, you want one of 'curtain' references. Generally, after conforming sliders, you want to play with every slider, see if it causes any clipping or weird distortion, and potentially edit it. 5. Save it - you indicate outfit name in BodySlide (shou;d be unique), the path and name of built mesh file under Data\Meshes, the project file name (I prefer to put all parts of same outfit set into same project file to reduce clutter), Shape Data folder (location of source mesh file under CaienteTools\BodySlide\ShapeData), and source mesh name - again I prefer to put all source meshes of an outfit set in one folder) If you are adapting a different base shape outfit (i.e. UNP) to CBBE, then, after doing step 1 above, you: 1. Load a proper conversion reference. I.e. UNP to CBBE. 2. Conform the outfit to its slider. 3. Set the slider to 100% and use Slider - set base shape. 4. Delete the conversion reference and delete slider data from outfit. Those conversion references are pretty good, but sometimes they can distort the outfit if that happens, you might need to do a bit of manual tweaking before proceeding with the rest. If you are adapting an outfit mesh that was not made for Skyrim, or there is no fitting conversion reference, then you generally need to manually adapt the outfit to CBBE base shape. Which is best done in Blender. I have both CBBE and HIMBO base shape bodies as Blender projects, which I use for this purpose. Likewise, designing your own from scratch is something you do in Blender, then import it to OutfitStudio.
  9. That is too broad a question I am afraid. Are you trying to Convert an existing CBBE outfit to 3BA Convert other base shape (UNP) outfit Convert an existing 3D model to use in Skyrim? Design something entirely your own from scratch? Or you want to know, once you have an actual 3D mesh, how to create a mod that makes it available in game?
  10. I am talking about Actor properties window in Creation Kit. See lower left.
  11. So... the head part editor IDs used by actor record must exactly match mesh names in the head file... else you get black face. Next... a head part assigned texture set is only relevant when trying to use that part in Racemenu. Otherwise game just uses textures specified in the head .nif itself. One really should use SSEEdit to check their load order. I.e for Ralof, expand Skyrim.esm - NPC - look for 0002BF9D - and see which plugin is listed rightmost. That is the one actually being used. Then, check file conflict resolution on the owning mod. Namely, who got priorty on meshes/actors/character/facegendata/facegeom/Skyrim.esm/0002BF9D.nif
  12. You should not have done that. You just need to be sure that in SPID, you change the outfits for actor records that don't have 'use Inventory' checked in their template box.
  13. Black heads are nearly always due to .esp load order not matching the file precedence (most often when a mod with a .bsa loads after a mod with loose files)
  14. It looks like you are trying to distribute outfits to templated NPCs. I would look carefully at what those actors are. For example, if I try to set outfit for 'EncBandit01Melee1HImperialM', it will do nothing, since it uses EncBandit01Melee as template, and is set to use its inventory. But EncBandit01TemplateMelee, even though it is templated on EncBandit00Template, is not set to use its template's inventory - so assigning outfit here should work.
  15. Do you still have those 'deleted' and 'empty' entries there? I would clean it up using SSEEdit. And paste what your dialogue selection and conditions looks like. Also, that phrase has 'Say Once' flag. You sure that NPC did not already say that line once in your current game?
  16. In quest stages, if on a stage, you check either 'Complete Quest' or 'Fail Quest' box, you can choose which quest will start next. That is one option. Another option, in any script that gets run in the course of your quest - dialogue fragment, quest stage fragment, script on an alias, etc. you can declare a quest property, fill it with your next quest, and in a proper place, call Start() method on that property. You can also start quests via Story Manager events, when some event occurs (i.e player talk to actor or increase level), you can put completion of prior quest as a condition on the SM node.
  17. One option is to have a running quest with player loaded as alias and on that alias, a script with 'OmItemAdded' event handler, that uses RegisterForSingleUpdateGameTime to set a timer for itself, and then OnUpdate handler would remove the key. Or, when player obtains the key, place an ability-type magic effect on the player - and it is the script for this magic effect that will register for a singleupdate in one hour, and remove the key before dispelling itself. This approach is better if you potentially have several of those 'timed' items.
  18. Well yeah, if you set no footstep set, game will use default. All you really need to do is Create a new FootstepSet form (i.e. SilentFootstepSet) and make sure you put no footstep data for any of the categories. Then you assign that FootstepSet to whatever footwear ArmorAddon this ghost wears. (or Its bare feet armoraddon)
  19. Well, you locate her head first. Data\meshes\actors\character\facegendata\facegeom\{plugin file name}\{NPC FormID}.nif You open it in NifScope. You need to make sure to provide path to your game's data folder in NifScope Resource Settings. You can specify bsa archives there as well. In the head, you expand the root, expand the BSFaceGenNiNodeSkinned, locate the eyes mesh, expand it, expand BSLightingShaderProperty, BSShaderTextureSet. Texture slots: (file names relative to data\textures\) Diffuse. This is the primary texture that determines the look of the eye. I.e. actors\character\eyes\eyebluesmoke.dds Normal. Typically it will be actors\character\eyes\eyebrown_n.dds Subsurface. Racemenu head export always forgets this one. Typically actors\character\eyes\eyebrown_sk.dds Empty Cubemap. Typically cubemaps\eyecubemap.dds Environment mask. typically actors\character\eyes\eyeenvironmentmask_m.dds - 9. Empty
  20. I use AFT (Amazing Follower Tweaks). Among its features, it can teleport lagging followers to you whenever you ready your weapon/spell. This of course only works for actively following ones, not for those whom you told to "Wait here". But any follower registered in the framework can be summoned via MCM.
  21. That I am afraid would require creating a .dll and going seriously deep into the engine...
  22. Textures on the body mesh of an outfit are irrelevant, and are instead dependent on the wearing character. An NPC has a 'Skin' slot in CK Traits tab (WNAM in xEdit record) which specifies the skin 'armor' NPC wears when nude. If left blank, NPC will use their race default. Most humanoid races specify 'SkinNaked' Armor form as their default skin. A skin will usually include 3 ArmorAddon forms: hands, feet, torso, pointing to actual mesh files. And these forms have a 'Skin texture set' parameter form, which actually indicates textures to be used. Consider looking up some Skyrim tutorials on how to give an NPC a custom body. They should have info on custom texture skins as well.
  23. Well, that would be the Creation Kit. It includes the script compiler. However, setting up your environment properly for script compilation is another topic entirely.
  24. You are needlessly overcomplicating things. First, if you are doing a RandomInt(1.20), you are going to get a random number between 1 and 20. You gain absolutely nothing by making 8 your 'critical success' instead of 20. So making it instead: 1-8 - nothing; 9-16 - 1 enchantment, 17-19 - 2 enchantments, 20 - 3 enchantments, has no impact on outcome distribution, and is a whole lot easier to manage. Shuffling randomly an array of 11 items just to pick out at most 3? Why? Heck, almost half the time it don't even NEED to pick out anything, so why even shuffle? Just use RandomInt to determine the array index of each enchantment as you add it. Also, this whole concept as it is will not work. A weapon can have only one enchantment on it, but an enchantment can have multiple effects. So you will need to make an array of potential effects, determine how many effects the enchantment will have and what they will be, create arrays, populate them, and then call: Function CreateEnchantment(float maxCharge, MagicEffect[] effects, float[] magnitudes, int[] areas, int[] durations) There is no 'AddEnchantment' function.
×
×
  • Create New...