Jump to content

Quick Questions, Quick Answers


Mattiewagg

Recommended Posts

 

First, I'm total newbie.

Sedond, how do I extract scripts (pex and psc files?) from mod I want to tweak a bit? (a lot in fact)

Third, is it possible to make that every few levels, let's say on levels 5, 10, 15, 20 etc. player character gets premanent boost in maximum magicka? And if, how do I do that? (it's for custom race)

 

Thanks in advance for any answer.

 

If the scripts are packed away in a bsa, you'll need a bsa extractor to get to them:

 

http://www.nexusmods.com/skyrim/mods/247

 

The bsa will have the same name as the esp.

 

I would actually recommend a different approach than what matthiasswag suggested. Since this is for a custom race, I would create a fortify magicka constant effect and add it to an ability. You can look at the altmer for an example. Add the ability as a racial spell to the race form.

 

In your spell ability, add the magicka effect multiple times. However many times you plan to increase the magicka. Set the magnitude of each one to the magicka bonus for the appropriate level, then use the GetLevel condition to make it so that only one effect applies at a time.

This is a much better way to do it. I'm no good with magic stuff though so if you have more questions I probably can't help.
Link to comment
Share on other sites

  • Replies 2.6k
  • Created
  • Last Reply

Top Posters In This Topic

What's the best way to check if Windhelm is now controlled by Imperials? Like a quest stage I could check?

It's a little more complicating than it should be. The value used to check for the side the player is on to make this easier is set to hidden, meaning no other scripts can access it, only the condition system.

 

So all I can think of, is you need to check rather Ulfric is dead, as it's his death that will allow the new jarl to take over, and thus imperial rule over Windhelm.

 

This is a long shot:

 

ReferenceAlias property EnemyLeader auto ; fill it from CWFinale in quest drop down.
VoiceType property MaleUniqueUlfric auto ;  Nice little trick I learned when needing to check for unique actors.
Quest property CWFinale auto

Function SomeFunction()
    if (CWFinale.IsStageDone(330) && (EnemyLeader.GetReference() as Actor).IsDead())
        ; First we will check that the stage is complete. And we will check that the leader is dead.
        ; code here
        if ((EnemyLeader.GetReference() as Actor).GetVoiceType() == MaleUniqueUlfric)
        ; Now we will check that the enemy leader was Ulfric.
        ; code here
        else
            ;If this returns, something went wrong(if it is infact Ulfric but somehow wrong voice type)
        endif
   else
       ; Stage hasn't been reached, or he's still alive, or both. Function will return false, if stage not met.
   endif
EndFunction
Link to comment
Share on other sites

 

What's the best way to check if Windhelm is now controlled by Imperials? Like a quest stage I could check?

It's a little more complicating than it should be. The value used to check for the side the player is on to make this easier is set to hidden, meaning no other scripts can access it, only the condition system.

 

So all I can think of, is you need to check rather Ulfric is dead, as it's his death that will allow the new jarl to take over, and thus imperial rule over Windhelm.

 

This is a long shot:

ReferenceAlias property EnemyLeader auto ; fill it from CWFinale in quest drop down.
VoiceType property MaleUniqueUlfric auto ;  Nice little trick I learned when needing to check for unique actors.
Quest property CWFinale auto

Function SomeFunction()
    if (CWFinale.IsStageDone(330) && (EnemyLeader.GetReference() as Actor).IsDead())
        ; First we will check that the stage is complete. And we will check that the leader is dead.
        ; code here
        if ((EnemyLeader.GetReference() as Actor).GetVoiceType() == MaleUniqueUlfric)
        ; Now we will check that the enemy leader was Ulfric.
        ; code here
        else
            ;If this returns, something went wrong(if it is infact Ulfric but somehow wrong voice type)
        endif
   else
       ; Stage hasn't been reached, or he's still alive, or both. Function will return false, if stage not met.
   endif
EndFunction

Isn't there just a stage or a variable that shows if you sided with Imperials or Stormcloaks, which you can then check along with the stage of the finale?

 

I know PlayerAllegiance is a hidden property, but it can be referenced (CWFinale does so with kmyQuest.CWs.PlayerAllegiance == 1 - CWs being a script property for CWScript on CW). So I'll use that plus CWFinale.IsCompleted.

Edited by Matthiaswagg
Link to comment
Share on other sites

As I said, that value is set to hidden, and can't be "seen" by other scripts. Although you can try it anyway.

 

it's

 

int property playerAllegiance auto conditional Hidden  

 

That is in the CWScript.

 

 

..And I think I'm done trying to help the Skyrim modding community. I'm almost never right anyhow.

Link to comment
Share on other sites

As I said, that value is set to hidden, and can't be "seen" by other scripts. Although you can try it anyway.

 

it's

int property playerAllegiance auto conditional Hidden  

That is in the CWScript.

 

 

..And I think I'm done trying to help the Skyrim modding community. I'm almost never right anyhow.

Right. But like I said, if you look at CWFinale, in one of it's stages it references that property via a property for the CWScript:

 

kmyQuest.CWScript.PlayerAllegiance == Value

 

kmyQuest being CWFinale's quest script which has a property pertaining to CWScript.

 

Here's the snippet:

if kmyquest.CWs.PlayerAllegiance == 1 ;player is imperial
	kmyquest.CWs.CWSiegeObj.SetObjectiveDisplayed(4001)	;force Ulfric to surrender
else
	kmyquest.CWs.CWSiegeObj.SetObjectiveDisplayed(4002)	;force Tullius to surrender

endif

Edited by Matthiaswagg
Link to comment
Share on other sites

I have a spell that turns dead actors into goo piles. I have noticed that with some actors, if i use disable() and delete() afterwards, a replacement immediately spawns.

 

Edit: even if I just diable() the replacement spawns. Any suggestion for how to clean up these targets? I don't mind them spawning, i would prefer for it to happen when the cell refreshes though.

Edited by FireFlickerFlak
Link to comment
Share on other sites

 

 

What's the best way to check if Windhelm is now controlled by Imperials? Like a quest stage I could check?

It's a little more complicating than it should be. The value used to check for the side the player is on to make this easier is set to hidden, meaning no other scripts can access it, only the condition system.

I think that is actually the opposite of what the hidden flag does, at least according the wiki:

 

Hidden: Hides this property from the property window. Usually used for values you don't want the Creation Kit to change, but which you want other scripts to view.

Link to comment
Share on other sites

Here's another noob question, once I've got unpacked bsa file, how do I view those scripts in CK (things I want to change are set in properties as original mod author said)? And second one, do I need to put bsa file back together for changes to work?

Edited by sadampl
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...