Jump to content

powdermelonkeg

Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by powdermelonkeg

  1. On 3/12/2025 at 3:12 AM, PeterMartyr said:

    Misuse of keywords causes untold errors, remove it, your not doing anyone any favours here.. 

    If ya do not believe me, do this, 😈 go to the scripts tab in quest with that conditional script, make a new script, call it anything you like, make sure there is no new properties but tick the conditional checkbox, come back and tells what happen you compiled it? Make sure you just auto generate the script with the creation kit, like people say do to keep it safe and avoid errors.

      Hide contents

    no spoilers here find out the hard way 😁

     

    Hi. I left "Conditional" there because I based the script off of FreeformSkyHavenTempleAScript, which has that at the top. It's the one that makes the new recruits change into Blades gear during the Rebuilding the Blades quest. Can you tell me why it should be there for that script, but why it shouldn't be on mine? What's the functional difference between the two?

  2. Ran into several dead ends while looking to do this exact thing, but I figured out a solution, so I figured I'd come back to help anyone with the same problem:

    Things you'll need beforehand: A quest, an alias for the character you're trying to dress up, and an outfit.

    Step 1: Make this script:

    ScriptName This-is-where-your-script-ID-goes extends Quest
    
    ReferenceAlias Property This-is-your-NPC's-Alias Auto
    Outfit Property This-is-the-outfit-ID Auto
    
    Function Make-up-a-name (Actor This-is-your-NPC's-ID)
    
    	This-is-your-NPC's-ID.SetOutfit(This-is-the-outfit-ID)
    
    EndFunction

    Here's my own as an example:

    ScriptName MS05NellieFugitive extends Quest
    
    ReferenceAlias Property Cirinel Auto  
    Outfit Property MS05NellieFugitiveGarb Auto
    
    Function EquipHood (Actor MS05NellieFollower)
    
    	;Nellie wears a hooded robe
    	MS05NellieFollower.SetOutfit(MS05NellieFugitiveGarb)
    
    EndFunction

    Step 2: Go to the "Scripts" tab of your relevant quest and add the script you just made.

    Step 3: Click the script, hit "Properties," then "Auto-Fill All." There should only be two properties and they should both auto-fill fine, but in case they don't, your first property is going to have your quest ID from the "Pick Quest" dropdown menu and your character's alias from the "Pick Alias" dropdown menu, and your second property is going to have your outfit ID from the "Pick Object" dropdown menu.

    Step 4: Go to your quest stages and either create a stage to attach this to, or pick a stage you've already made that you want this to happen during. For example, if I want my NPC to change clothes after she's been given a potion, I pick the stage that involves the potion-giving. If, however, I want my NPC to change clothes after I dismiss her as a follower, since that doesn't have a quest stage assigned, I'd have to make one up.

    Step 5: If your quest stage doesn't have a log entry already, make one. You can leave it empty. Click that log entry and the Papyrus Fragment window should light up as editable. You want to go to "kmyQuest" dropdown menu and pick the name of the script.

    Step 6: Put this into the Papyrus Fragment window:

    kmyQuest.This-is-the-function-name-you-made-up(Alias_This-is-your-NPC's-Alias.GetActorRef())

    Here's mine for the script from Step 1:

    kmyQuest.EquipHood(Alias_Cirinel.GetActorRef())

    Step 7: Hit compile.

    Step 8: Pick whatever dialogue you want this to happen with and attach this in the relevant Papyrus Fragment box:

    GetOwningQuest().SetStage(This-is-the-stage-number-you-attached-the-script-to)

    Here's mine, for Stage 50:

    GetOwningQuest().SetStage(50)

    Step 9: Hit compile.

    Step 10: Save, and you're done!

    Note: I'm a novice at all of this, so I don't know if the "conditional" tag at the top of the script is necessary, but it hasn't caused me any problems.

    EDIT: Removed "conditional" flag, it's not necessary.

×
×
  • Create New...