Jump to content

scorrp10

Premium Member
  • Posts

    801
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by scorrp10

  1. Getting the Creation Kit - I am not sure what version you got,, but on Steam, in Library,  dropdown under 'Home',  be sure to check 'Tools'.    If you have Skyrim  LE,  the 'Skyrim Creation Kit'  should be in your library - you need to install it from there.

    After that,  all I did was make the changes as recommended here:   Creation Kit Fixes   It is still way worse than CK Platform Extended for SSE, but it works.

    Speaking of which:   I often compile scripts in CK for SSE, and the resulting pex files work just fine under LE.

  2. Looking at my install of LE and the CK:
    image.png.99ebf1fc31856c8d725d4f5eeeaa507b.png

    So it shows that script in question does not have source.    Now, looking into Data/Scripts, the pex file is not there either, but that pex is inside a .bsa.    However, looking inside of the Scripts.rar,  I can see that it indeed has a folder structure where HF-related scripts are under Hearthfire.    This  is for potential developer convenience, to know which files belong to what.    For CK to actually see the source, all. psc files need to be in Data/Scripts/Source.   So I extract Scripts.rar elsewhere, and copy stuff from scripts/source/hearthfire   into Data/scripts/source.    (which includes the script in question).   Restart CK, and now:
    image.png.2b33b7a063d6579e846b1b4c551efe82.png

    For me, it succeeds compiling just fine.     Now,  I have to say one thing - it is a VERY bad idea to recompile scripts that are not part of your mod.     If a given mod overloads a vanilla script and that script in in a .bsa, you are now placing a .pex file in data/scripts that will overwrite whatever other version was there.    Also, some mods have .psc files which have just function stubs - for example SkyUI.    If you recompile something like   SKI_ConfigBase.psc,  you will completely wreck your SkyUI.   

     

     

  3. With weapons, there seems to be a fairly specific mesh naming requirement in order for things to work properly, i.e. 
    image.thumb.png.9bf41891718342b254b21a2c5b30ef52.png

    Actual weapon needs to derive from the root, scabbard mesh (visible only when weapon is sheathed), and the blood overlay meshes all require specific naming.    And indeed, for first person, I had to create a practically identical mesh where only difference is in mesh naming.
    image.thumb.png.b64d0ee1440d3bc70f10c32809aae756.png

    And 
    image.thumb.jpeg.ca4b769b249ea17503809753a6a504d1.jpeg

    • Like 1
  4. Ok, on some further research, I think it is NOT Story Manager acting up.   

    Here is the problem.    Quest  DualogueRiftenSS01   (AA0B3)   It is Start Game Enabled,  and it loads Mjoll as an alias, and it RESERVES her as an alias.  It is the 'Scripted north gate scene' where you enter the town and find Mjoll conversing with Aerin about Blackbriar family.   This quest claims Mjoll as a 'Reserved' alias, which generally means other quests can't load her as an alias.    Unless they flag the alias as 'Allow reserved'.    Which FreeformRiften09 quest (Grimsever's Return) does not.    

    Once the scripted scene plays out, the quest ends, and Mjoll is no longer loaded as its alias.     Now one thing I am not sure about is whether SM will re-attempt to start the quest on next level increase if it previously failed...

    Long story short:   if you enter Riften before hitting level 14,  the Mjoll/Aerin scene plays out, and then, once you hit 14, Grimsever's return is started via SM.    If you hit lvl 14 before entering Riften, Mjoll is still locked as an alias in the scene quest and Grimsever quest will fail to start.   What I am not sure about is whether SM will re-attempt to run the quest on further level increases or not.    Judging from OP's post, it does not.

    What you COULD try:    on console, run command:  setstage DialogueRiftenSS01 200   - this will kill the scene quest.   Then try leveling and see if you get the quest.   If not:

    I created a mod that essentially replicates the quest, allows reserved on Mjoll alias.    How it works:    Once you do the initial chat with Mjoll, if the vanilla quest failed to start, there will be a 'can I ask you a question' dialogue option - that will ask the alternate quest.   

    MjollGrimseverFix.7z

  5. The problem is Story Manager acting up.    It is supposed to start run the quest FreeFormRiften09 (5331C)  when player level reaches 14 (defined in a global) 

    This quest is the one responsible for spawning Grimsever at its start stage (10), and  the corresponding dialogue options for Mjoll check this quest stage.     The problem is that the quest does not start.     And since this quest is tied to 'Increase Level' event in story manager, it cannot be started by any other means.    Not via console, not via script.   I.e. I tried creating a small mod that adds a generic dialogue option to Mjoll to start this quest, and it gives an error that cannot use script to start a story manager quest.

    The quest flow is:
    Start stage - 10 - triggered by SM increase level (14+) - enables Grimsever ref at its location.     Which means that once player is 14+ , he should be able to find Grimsever in Mzinchaleft even if he never talked to Mjoll

    Player dialogue with Mjoll to ask about Grimsever also depends on which stage that quest is.

    Now, I have also tried making my mod change the quest start type, so it is not event related  - but that did not seem to work, even for a new game.    

  6. Yes,  I been experimenting with ElevenLabs.    I.e. I put together in a single file a whole bunch of phrases  from 'FemaleYoungEager' voice type,  used it to train the AI voice, and now I can pretty much do whatever dialogue I want using this voice.      

    Now, with all the potential copyright ramifications, I doubt this mod will ever be made public.    But is is a fun exersize nonetheless.

  7. Considering the nature of CraftableObject forms, that would not be an easy task.  However, mods like Complete Crafting overhaul add lots of 'multiple' smelting recipes

    I.e. there are recipes for 1,5,20 and I think 100 iron ingots.

  8. The distinction is simple.    FNIS or Nemesis are tools for adding entirely new animation events to the game.    I.e. if your script has: 
    Debug.SendAnimationEvent(actor, "AnimationEventName"),  Skyrim's animation database must contain "AnimationEventName"  string key,   linking it to a particular .hkx file.    FNIS and Nemesis add new items to this database, thus allowing definition of entirely new animation events.

    DAR/OAR allow  redirection of existing animation events, so that they use a different hkx file, based on specific conditions.

    I.e. in vanilla animation DB, the "ChairIdle" animation event for female actors links to  meshes/actors/character/animations/female/chair_idlebasevar1.hkx

    DAR or OAR, when certain conditions are satisfied, might use a different .hkx file when a "ChairIdle"  animation is invoked.
     

     

    • Like 2
  9. At top of mod list click gear on far right to display column selection.    Check the time that interests you (downloaded/installed/enabled)   Then you can sort by that time.

    • Like 1
  10. The big unifying factors for a given line (UNP or CBBE) are:

    1. Base Shape.    The base shape of the body mesh unaffected by any of the morphs  generally stays the same, which means any outfits designed for one iteration of UNP will fit any other seamlessly.   In many cases, if you find an old outfit created for original UNP, you can load it up in Outfit Studio,  delete the body mesh, load latest BHUNP reference, Copy bone weights, Conform Sliders, and you are good to go.   I think CBBE base shape did change at some point since there is a 'Convert SK CBBE to SSE CBBE' conversion template available.

    2. UV compatibility.    That is, skin.    A skin designed for UNP will fit ANY UNP mesh.    Same goes for CBBE.   But using a CBBE skin on UNP body or vice versa, you get weird seams/artifacts.    

    3.  Backwards bone and slider compatibility.   Generally outfits made for less full outfits will work fine on XP32, and sliders on newer versions are usually a superset of the old.    Though there have been cases on both sides when newer versions discarded some old sliders, making some of peoples old Bodyslide favorite presets obsolete.

     

  11. As mentioned, it really depends.   NPCs that have an AI package that requires them to be in a certain place,  will try to go there.   Places like GomaPeroLand connect to main world, so NPCs will try to path.    A place like Aether Suite is disconnected and is only reached via teleport or spell.

    Summoned Hulda in Tamriel or GomaPero Land will immediately try to go to Whiterun, to Bannered Mare.    But if I summon her within Aether Suite, she stays put.     Then, there are Posers.   (GomaPero, GSPoser etc) that contain a large collection of idles to apply to NPCs, and while posed, NPC will stay put.    Generally best used with a Poser Hotkeys mod.      

    If you want to try various outfits in various lighting, why not just try on yourself?   (the player) .   From main menu, just use coc to go to a place of your choice, use showracemenu to change your appearance as desired, and use Simple Item Spawner   to get stuff.    Much easier changing outfits, and place yourself wherever you want.    I personally have a few 'model' saves just for this purpose.   I.e. this here is Rose...

    image.thumb.jpeg.19434d5d0490b3a17094e23e4402a999.jpeg

    • Like 1
  12. Just FYI, spawning an NPC via placeatme creates a new copy of that base actor.   The spawned copy will have all properties of the base, but will not be loaded into any quests that NPC is usually a part of.

    If the base actor has an AI package that they need to be at a certain place, the actor will try to get there as long as they can find the way.

    You could use a disconnected cell (i.e. qasmoke) for this.  With no way to get back to main world, they will not go anywhere.

    Another option is to make that NPC your follower.

    Click NPC in console.

    getrelationshiprank player

    If it shows 0 or less,

    setrelationshiprank player 1

    Then, add then to potential follower faction:

    addfac 0005C84D 1 

    Afer this, NPC should have the "follow me" dialogue option.

    • Like 1
  13. As mentioned, the process is generally simple - compact FormIDs, set ESL header flag.     Oh, and you want to do that in SSEEdit.   Compacting forms in CK used to work, but last time I tried, it did it real weirdly.    I think it has to do with that change for light mods in 1130+

    Things to do when compacting forms:
    If your mod has any actor heads under FacegenData, the head .nif filenames must be changed.   Same goes for voice files.

    Goes without saying, any save game made with your mod included becomes invalid once you compact the forms.   So if you are converting an existing mod that people might be using, be sure to warn about this

     

     

  14. Basically, my thought would be to have a perma-running quest where both player and Henry are aliases.   You likely already have one for the dialogue.   Henry alias  would have a stack of packages, with horse riding one being a higher priority, but having a condition that player is also mounted.    However, you also need some sort of script attached to player that will detect when player mounts/dismounts and will call  TryToEvaluatePackage()  on Henry alias.

    ; Global
    Bool PlayerIsRiding
    ReferenceAlias Property HenryAlias Auto
    Actor Property PlayerRef Auto
    
    ; somewhere at game load 
    	RegisterForAnimationEvent(PlayerRef, "MTState")
    	PlayerIsRiding = PlayerRef.GetAnimationVariableBool("bIsRiding")
    
    Event OnAnimationEvent(ObjectReference akSource, String asEventName)
    	If(akSource == PlayerRef && asEventName == "MTState")
    		Bool NewPlayerIsRiding = PlayerRef.GetAnimationVariableBool("bIsRiding")
    		If(NewPlayerIsRiding != PlayerIsRiding)
    			If(NewPlayerIsRiding)
    				; Teleport horse to Henry
    			EndIf
    			HenryAlias.TryToEvaluatePackage()
    			PlayerIsRiding = NewPlayerIsRiding
    		EndIf
    	EndIf
    EndEvent

     

    • Like 1
  15. Next, getting the arm feathers.    Open the female project, right-click on arm mesh, choose Export to NIF.    Same for arm001 mesh.   Now in the male project, File - Import - From NIF,  import both arm feather meshes.    Checking their bone weights the y seem to be close enough, so I leave them as is.   They can be tweaked later.    However, for both arm meshes I do Slider - Conform Selected. and Save.

    Here is the result

    fahrnymphmale.thumb.jpg.4f1762e6c04e05239ec1984093240dfa.jpg

     

     

     

    • Like 1
  16. Why do you keep putting the extra shapes under that Fahrbod:34 NiNode?    Where are you editing this thing?

    So, I open your malebody_0.nif  in NifScope.     

    • Ctrl+C torsofeathers mesh under Fahrbod, Ctrl+V it under SceneRoot.   
    • Ctrl+Del   Both Fahrbod:34 and HIMBO
    • Spells - Optimize - Remove Bogus Nodes and Unused Strings.   Save and Close.
    • Start OutfitStudio, File - Load Reference - HIMBO Body (SoS Phys)
    • File - Import - From NIF - import the saved malebody_0.nif, which now only has torsofeathers.
    • Select torsofeathers, click bones, select all bones, delete from shape.
    • Next I turn off textures, switch HIMBO Body to wireframe, and start using Inflate/Deflate and Move brushes to make the feathers better fit the body.
    • Then torsofeathers - copy bone weights.    Then Mask Bone Weights, and then again Copy Bone weights, wit ha radius of 7.
    • Add SkirtBBone02 and 03 from Skeleton, weight the Tail to those.
    • Now again, I mask Weighted vertices, press Q so that vertices are highlighted.    I see there are a few green dots inside the dody.    I just delete those vertices.
    • Then I save the BodySlide project, with similar prameters as the female.

    image.png.1b25f09f7ac8a19ee97835a7569a8c2e.png

    Them I select torsofeathers, and go Slider - Conform Selected.      Now, I test out various sliders, and see that tail feathers are not responding too well.  So I mask just the tail feathers, Invert mask, and then again do Slider- Conform Selected - and increase search radius to 20.   Save the project again.

  17. In general terms, a 'Light'  plugin is one that has all of its internal FormIDs  in the 0x00000800 to 0x00000FFF range and an 'ESL' flag in its header.   The difference between ESL and ESPFE is literally in the filename extension.   (.esl vs .esp)   There is no internal difference.    The primary difference between them is how they load.   A  '.esl' is considered a 'light master', and it will load real high, right after the .esm masters, and before any of the regular .esp plugins.   Because of this, you can't really use .esl as a patch for other plugins, cause it will load before them.    But if you change its extension to .esp, it  becomes an 'ESP-FE'  plugin, and it can be loaded anywhere in the order, so it can be used as a patch for other  plugins.

    The 800-FFF range means it can has a maximum total of 2048 it own forms.  (forms overriding records in its masters don't count)   If your mod is dialogue-heavy, chances are it might have more that 2048 own forms, making it unsuitable to be light.    But if you do decide to make the mod light....    here's the major problem.    

    First, maybe this is just a feature I missed, maybe it IS there,  but in CK, it seems impossible to specify that you want any new FormIDs generated to fall within the "light" range.    Even if you are editing a mod already flagged as 'ESL'  the new added FormIDs are going to be all over the place.   Which means you are adding new FormIDs with whatever values, and then you need to run the FormID compacting.   However, the names of voice files are NOT stored in the TopicInfo form - unless explicitly indicated.   Voice file names are generated on the fly, in the form of:
    For regular dialogue:    <quest editor ID - up to 10 chars>_<dialogue topic editor ID - up to 15 chars>_<topicInfo FormID without mod index>_<number of response within topic>.fuz,  i.e.   "freeformsh_ffss02sylgjabra_000e49a8_1.fuz"
    For scene dialogue:   <quest editor ID>_<topicInfo FormID without mod index>_<number of response within topic>.fuz,  i.e. "dialoguesolitude_000b2dba_1.fuz"

    In other words, if you change FormID of a TopicInfo , you also have to rename the corresponding voice file(s)   One option would then be to construct all the dialogue structure - branches, scenes, etc - then do FormID compacting,  and only then do the actual voice file generation.

    • Thanks 2
  18. Quote

    Because I hadn't named my scripts, 

    Because you hadn't named your TIF scripts, you are setting yourself up for a MASSIVE world of hurt.       

    You might have noticed that under Data, all .pex files go directly under Scripts, with no further subdirectory structure.   Which means that scripts with same name will conflict and override.

    Here is how Creation Kit operates - say you specify Skyrim.esm and Update.esm   as your mod masters, those load into CK at index 00 and 01, while YOUR active .esp gets loaded at index 02. Meaning all FormIDs  created while working on this mod in CK are going to be 02xxxxxx, i.e. 02000C4A.    Of course, into the actual .esp, that FormID is written as 00000C4A, and if your mod in game is actually loaded at say, index 5F,  that FormID becomes 5F000C4A.    But  while in CK, is is 02000C4A.    And if it happens to be a TopicInfo, and you attach a script to it,  by default that script will be named TIF__02000C4A.  And likewise, any other such scripts will be named TIF_02xxxxxx.    And guess which 'mod' typically loads at index 02, and has all of its TIF scripts also beginning with TIF__02?    Dawnguard.    And all of Dawnguard scripts are in Skyrim-Misc.bsa, so you might not even know you have a conflict.     Until something starts going horribly wrong in the Dawnguard story line cause your mod scripts in Data/Scipts   are overloading those of Dawnguard dialogue.

    And lets say another modder also creates a mod with dialogue and Skyrim.esm and Update.esm as masters.    And also does not rename the TIF scripts, so his mod scripts also follow TIF__02xxxxxx naming.    And now they are conflicting with yours, and then people on your mod page are now bombarding you with bug reports, about their quest dialogue going all wonky, like totally unrelated quests advancing stages when you ask Loreius's wife for directions.   700+ mod list attached.

    That Rename button for script fragments on Dialog Info page is there for a reason.

    • Like 2
×
×
  • Create New...