Jump to content

masternoxx

Supporter
  • Posts

    146
  • Joined

  • Last visited

Posts posted by masternoxx

  1. On 3/12/2024 at 10:32 AM, AaronOfMpls said:

    After death, is your mod is resurrecting the same instance of your follower (same RefID), or spawning a new copy of your follower (same BaseID, but different RefID)?  Could be the scripting setup will be different between the two cases, as well as vs making a unique NPC who's not going to get reset or respawned.

    Thanks for reply, it is using the respawn flag system, in actor view respawn is checked, so whichever that uses, same instance is my guess.

    I now think perhaps followersCanDie mod MAY take care of the factions (may), and main problem is quest stage needs to be reset back on the actor when (either onDeath or onConversation)

    Ahhh yes this game and its "Aliases" , wish I could remember what I had learned about them back when, most quests use them, need to read up on how they are used again, might help.

    Kind of uncharted territory here as HirelingQuest and FollowerQuest aren't really typical quests not sure if aliases are used, and of course there is not respawning followers (zero exist in the game to guide me).

    Currently not using Aliases afaik.

    Spawning  a new copy seems a better way to do it (using an alias probably), as a different actor refID it might reset the NPC as if new again & renew the questStage as well as factions.  Any idea how to do that?

  2. I am working on a mod Thieves Guild Recruit hireling, that respawns.  It is for use with FollowersCanDie mod & gamestyle that I use.

    When the thief follower dies (after joining you / in your party), and then later respawns it will no longer join you, is the problem.

    So obviously that script on the conversation won't allow the text join line to appear.  "my blade is yours"

    I guess it's because faction, if not that there is some runOnce function that I'm not seeing.

    Any help or suggestions to "reset" the NPC after death and their join conversation to show up, every time you talk to them? 

    Thank you!

  3. Hello

    I am trying to make a respawnable hireling follower in Skyrim, my mod is called Thieves Guild Recruit.

    Problem is when she dies, and then respawns, the conversation topic "Considered yourself hired" , does not show up again.  But that is what I am trying to make happen.  She can be hired again.

    I believe the problem lies with the Factions but I maybe wrong.  So my thought was to put an onDeath script on her.  To remove her from those factions.

    I completely forgot the CK from not using it for 5 years.  Well mostly.  Anyways I wrote this script on her, wont compile, does not say why.

    ----------------------

    Scriptname aaMF3_onDeathRemoveFromFaction extends ObjectReference

    Event OnDeath(Actor akKiller)
      if (akKiller == Game.GetPlayer())
        Debug.Trace("We were killed by the player!")
      endIf
        
        (GetActorBase().RemoveFromFaction(CurrentFollowerFaction)
        Debug.Trace("Faction1 Removed")

        (GetActorBase().RemoveFromFaction(CurrentHireling)
        Debug.Trace("Faction2 Removed")

    endEvent

    ---------------------------

     

    Could use some help here.  Very much appreciated, thanks!

  4. in creation kit = actor > template data > use stats,

    now when this is checked level and stats are all greyed out? (the window on right)

    so does that mean the NPC will level with the player or what kind of stats will the NPC have? What level will it be?

     

    Anyone know?

    TY for help have great day! =]

     

     

    yeah just probably uncheck that box, dont know why it was checked (made a new NPC, and it just default was checked)

  5. I am interested to make a mod at first it was going to be having your follower(s) be able to die... but now I think it will be more interesting if..

    after the follower "dies" (goes unconcious), it leaves the party, gets up after and goes (walks) home (with no chance to talk to it or stop it for the PC)

    Perhaps it could say "Im leaving" or something but one thing at a time. I want to test this with Faendal.

    Thanks for any help.

  6. What's in it for me tho? Barely surviving in a frozen wasteland with no food clean water heat electricity sanitation roads sewers science inventions? Hmm?

    I could be drinkin Cyrodillic Brandy on a beach in Cyrodil having my cuisine delivered to me, drinking clean water and having toilet paper and WiFi. And getting all the wenches with my Bardish music and blonde flowing hair. Why am I not in Cyrodil need to get my arse there.

  7. I found it odd to be losing to a dead body in a swimming race. Thief probably stole the best piece of gear in the game and then floated away, but I will never know AAARGH

     

    These thieves they're getting really ballsy nowadays aren't they I mean barely a second has passed since the dragon died and he is already looting it

  8. Have you tried using Skyrim Launcher > Options? LOL

     

    Actually if you are using a mod loader like mod organizer, it makes its own config files. There is an option in the mod loader at the top toolbar, to edit them. The files are in a different directory than Bethesda's skyrim launcher uses.

     

    That is why you should set up the game with skyrim normal laucher, and set up the your game the way you like it, before using your mod loader. Because the first time you run the mod loader it copies the cfg files from the installation I believe.

     

    Other option is to find the mod loader cfg files and delete them then they will be remade.

     

    Have you tried an internet search for your issue...?

  9. Yep I have normal and legendary edition for xbox360 but I just dont play it and there is no reason to because Skyrim PC supports x360 controller perfectly, plus I get to have my mods.

     

    I am using modOrganizer from years ago still working perfectly

  10. LOL is this normal behavior from now on?

    So I killed this dragon in Riverwood and I notice after its dead the guards are still shooting arrows and I look closer and there is a Frikkin thief looting my just killed dragon. I am massively over-encumbered from the Thalmor Embassy quest and Thief seems to be High level/ HP so all I can do is continue to shoot him from a distance with my bow. Eventually he flees into the river where I deliver the killing shot. Only to have his body float down the river faster than I can walk/swim. As his body floats under the bridge and out of view, I cry, NOOOOOoooo..... LOL, nothing I can do,

     

    Well the dragon is missing the magic item that drops and a few dragon scales WTF? Thief stole them I am sure. Stupid thief, that is rediculous. Seriously kind of irritating.

     

    Perhaps should not have joined stupid thieves guild if this is going to happen all the time now?

     

     

  11. Man I have done some quests in markarth, I have been non stop attacked and murdering the whole time, and running for my life.

     

    Then theres the u-forge, its really trippy,

    and the jail,

     

    its like some wierd LOTR and science fiction movie hybrid of ideas.

     

    it is a gnar city

  12. I am interested in modding Oblivion to add the proper weights to quest items such as weapons and armor, and make the quest weapons more static. Of course everyone knows about the weightless Umbra Sword exploit, as an example.

     

    To do this I need a Skyrim-style encumbrance system for Oblivion, can't have the player recieve the weapon and then be completely unable to move.

     

    Don't know how to do this perhaps turn the player speed down to 5 or somethiing when the player is encumbered, other part of it would be to withhold the hardcoded "cant move" mechanic perhaps with obse.

  13. No actually I am using it on unique NPC's. I am replacing most essential npc flags with protected, and so those NPC's need cleanup now. On top of that many unique NPC's are just missing the flag. The USLEEP has added the cleanup script to hundreds of these NPC's. Or their dead bodies stay around forever.

    I'm doing my mod to my preference which is all NPCs can die.

     

    The way its done in the USLEEP is they use WIdeadBodyCleanupScript and set all the properties every time, so I will continue to do that because I'm worried if they dont have a "deathContainer" or "WI" (whatever that is) it will break the game.

    Perhaps if you try to set the script on a plot actor in the CK and then set the properties you will see why it is annoying after a while. i dont care about their items want to just destroy them and clean up the NPC's body after a couple days.

    But then at the end of the script there theres also a part about moving the body to some cell as well, that could be a problem also.

  14. I'd leave the files in the normal directories. The CK packing tool will detect if they are needed.

    If it packed that file than at some point it was needed. You could try searching for the script ref and deleting it in TES5EDIT.

    Easier way is to just delete the script from data/scripts and data/scripts/source, and then open and re-save your mod in the CK.

    If should give you error saying you are missing that script at some point, that means it will erase the references to that script from your mod.

    then try repack and hopefully that script name will not be shown in the pack bsa dialog.

     

    I'd try TES5Edit first and look for that under scripts.

    If your mod is actually using it you could break your mod

  15. Mods do overwrite the ones before them but only if it changes the exact same variable and value. And there are multiple ways to accomplish similar things in the CK

     

    In fact modOrganizer will tell you exactly the files that are being overwritten, there is a plus when it overwrites and a minus when something from that mod is overwritten by the next ones in order. I believe you double click on the mod and there is and overwrite tab.

  16. So I am doing my mod and I am getting tired to keep adding WIdeadBodyCleanupScript to all the actors missing it and to set all the properties each time. (There are a lot of actors missing this script). What I would like to do is make 2 scripts, one that cleans up the body in 2 days (for normal NPC's), and one 10 days, for followers.

    Well I don't want to break the game. When setting WIdeadBodyCleanupScript, there are two properties deathcontainer, and WI, which need to be set. Well do these need to be set even? I would prefer to just delete the body, therefore destroying the inventory, and be done with it.

    I was just change the days, comment out the deathcontainer and WI parts, should that work okay? Thanks

     

     

    here is the

    ---------------WIdeadBodyCleanupScript--------------------

     

    Scriptname WIDeadBodyCleanupScript extends Actor

    ;**** This should ONLY BE USED ON UNIQUE ACTORS!!! ****

    ;This script cleans up dead actors, enables a container (ie grave/crypt) and moves all their inventory, after it Loads/unloads after a certain period of time.
    ;If you need to temporarily stop someone from being cleaned up, put them in the WINoBodyCleanupFaction faction.

    ;please do not modify this script without talking to jduvall

    WIFunctionsScript Property WI Auto
    {Pointer to WIFunctionsScript attached to WI quest. You MUST set this or things will be broken.}

    float Property DaysBeforeCleanUp = 0.5 Auto
    {Default = 0.5: What's the minimum amount of time (in days) that the body should stick around before being cleaned up. (Clean up happens during while loop.)}

    ObjectReference Property DeathContainer Auto
    {Container to move all the items the actor has in his inventory when cleaned up.}

    actor SelfRef ;used to keep me persistent so I get UnLoad events while I exist

    state Dead
    ;do nothing
    Event OnDeath(Actor akKiller)
    EndEvent

    EndState


    Event OnDeath(Actor akKiller)

    GoToState("Dead")

    if DeathContainer

    bool cleanedUp = false

    while cleanedUp == false
    ; debug.trace("WIDeadBodyCleanupScript" + self + "OnDeath() In While Loop, will try cleaning up after waiting " + DaysBeforeCleanUp)

    utility.waitGameTime(DaysBeforeCleanUp * 24)

    cleanedUp = checkForCleanup()

    endWhile

    else
    ; debug.trace("WIDeadBodyCleanupScript" + self + " WARNING: NO DeathContainer!", 2)

    endif

    EndEvent


    bool function checkForCleanup()

    if IsInFaction(WI.WINoBodyCleanupFaction)
    ; debug.trace("WIDeadBodyCleanupScript" + self + "In Faction WINoBodyCleanupFaction so NOT cleaning up body.", 1)
    ;do nothing
    return true ;bail out of while loop

    Elseif Is3DLoaded() == False
    ; debug.trace("WIDeadBodyCleanupScript" + self + "Cleaning up body.")
    cleanUpBody()
    return true
    Else
    ; debug.trace("WIDeadBodyCleanupScript" + self + "Not cleaning up body, because my 3D is loaded.")
    EndIf

    return false

    endfunction

    function cleanUpBody()
    ; debug.trace("WIDeadBodyCleanupScript" + self + "cleanUpBody() moving to WIDeadBodyCleanupCellMarker in WIDeadBodyCleanupCell and Calling RemoveAllItems() to DeathContainer, and enabling it:" + DeathContainer)

    ;Disable()
    ;*** It has been decided it's safer to move them to a holding cell, for quests that might be filling allowing for dead actors but not allowing checking for disabled actors

    MoveTo(WI.WIDeadBodyCleanupCellMarker)

    DeathContainer.SetActorOwner(GetActorBase())
    DeathContainer.Enable()
    RemoveAllItems(DeathContainer)

    EndFunction

  17. TES5Edit is the only other tool you need,

    It's a fantastic program and very well designed.

    Donate if you can

     

    Generally you still need the creation kit,

    but TES5Edit can do many things such as,

    show you all the details about your edits

    delete mistake edits

    clean your mod of redundant edits and mistakes

    highlight bad edits

    in general show you how a mod should be made

  18.  

    The stage to make her non essential is set when Season Unending(MQ302) is completed, which is Stage 350. The stage being set is stage 50, but that is then called from stage 40 in the main quest (MQ301).

     

    In anycase:

    ; MQ302 completed
    SetObjectiveCompleted(25)
    SetObjectiveDisplayed(30)
    
    if MQ302.IsRunning()
        SetActive(true)
        MQ302.SetActive(false)
    endif
    ; Blades now go directly to kill Paarthurnax dialogue if not there already
    MQPaarthurnax.SetStage(15)
    MQDisableClutter.Disable()
    ; make Elenwen unessential
    Elenwen.SetEssential(false)

     

    Elenwen is actually not only the name of the base actor, but also the name of the quest alias, not good coding practice by Bethesda...

     

    So when I tried this it wont compile...

    Ennis.SetEssential(false)

     

    Starting 1 compile threads for 1 files...

    Compiling "QF_DA14_0001BB9B"...

    C:\SkyrimLE\Data\Scripts\Source\temp\QF_DA14_0001BB9B.psc(347,6): SetEssential is not a function or does not exist

    No output generated for QF_DA14_0001BB9B, compilation failed.

     

     

    Okay it turned out at teh end of the quest script there was this: (from bethesda not me) (not defined properly)

    Actor Property Ennis Auto

     

    i changed it to this, (because it won't allow two Ennis definitions)

    ActorBase Property Ennis Auto

     

    now Ennis.SetEssential(false) will compile,

    hoping it works.

    crossing fingers.

    SIGH

  19. I used this command many times with success. Make sure you're setting it on an actor base property and not an actor. It's works every time without fail.

    It is further complicated by Ennis being in a quest Alias at the time,

    but yeah I found something under properties that wasn't right see below post.

    hard to find because I didn't put it there,

     

    It seems like the code basically says the same thing,

    but it doesn't work without all these properties set in the right click properties dialog

    Ennis.GetActorBase().SetEssential(false) command is directly from creationkit.com webpage.

    But apparently it compiles but does not work.

    correct way is to set the actorbase property in properties,

    then you type in name.SetEssential(false)

     

    I maybe speaking too soon tho because I havent tested it.

    Unfortunately I overwrote the savegame which was right before talking to Ennis, a while ago.

    Have to try it on the next plot NPC I want to kill...

  20. So I looked through the quest and I didn't see any code to set her non-essential, so I assume it must be on one of her conversation lines.

    I'll keep looking but if you know it would save me a lot of time. thanks

    bump

     

    Perhaps it needs to be set as some type of magic effect, and it will take effect immediately? I am saying that because of the spell mod that was mentioned.

×
×
  • Create New...