Formerly working script refuses to work now :(

Post » Mon Oct 26, 2015 7:40 pm

Hey there,

I've a delicate problem.

I am still developing a mod for Nehrim with my pal.

Until yet it was part of the german "NehrimData.esp", but since he conviced me to pull it into an own ESP I've deleted all content which comes with the german "NehrimData.esp" and made a own mod out of it.

So it should be easier to translate now.

However, there appear to be a problem: 3 scripts stopped working just because they use "GetTotalAEAbilityMagnitude".

For example:

scn VarAggroAntiSneakSCRIPTshort Schleichfertigkeitfloat Schleichprozessfloat TempSchleichwertBegin ScriptEffectStart    Set Schleichfertigkeit to (Player.GetBaseAV Sneak - Player.GetTotalAEAbilityMagnitude FOSK Sneak)    Set TempSchleichwert to (Player.GetBaseAV Sneak - Schleichfertigkeit)    Set Schleichprozess to GetPlayerSkillUse Sneak    Player.SetAV Sneak TempSchleichwert    if VarNoLearningByDoing == -1        Set TempSchleichwert to (GetPlayerSkillUse Sneak - (GetPlayerSkillUse Sneak * 2))        ModPlayerSkillExp Sneak TempSchleichwert        SetSkillUseIncrement 0 Sneak 0        SetSkillUseIncrement 0 Sneak 1    endif    Player.ModAV Sneak -50    Set zzReitierTurnSpeedQUEST.VarNoSneakTraining to 1EndBegin ScriptEffectFinish    Set TempSchleichwert to (Schleichfertigkeit + Player.GetTotalAEAbilityMagnitude FOSK Sneak)    Player.SetAV Sneak TempSchleichwert    if VarNoLearningByDoing == -1        ModPlayerSkillExp Sneak Schleichprozess        SetSkillUseIncrement 0.55 Sneak 0        SetSkillUseIncrement 2 Sneak 1    endif    Player.ModAV Sneak 50    Set zzReitierTurnSpeedQUEST.VarNoSneakTraining to 0End

This is a magic effect script, which reduces the sneak ability to -50 as long as the player is falling or in sneak mode without using the walk function to move slower.

If the nerf gets applied it is deleted when the player uses the walk function while sneaking, or an eventual combat is ended.

The magic effect gets applied to the player, as I verified that with a debug message.

But the script does nothing as long as "GetTotalAEAbilityMagnitude" is used.

I can also confirm that this worked before, but I have no idea why it has troubles now.

The script seems not to work (even debug messages doesn't appear) as long as it uses that function.

Any hints of how to make those functions work again, without ruining the whole script?

I know that this should work, since it did before :(

Thanks.

PS: I've plenty of other OBSE functions running without any problems.

This is the only one which makes troubles, even if it shouldn't as those scripts worked in the merged version of this mod.

Unfortunately I deleted any older version (the ones which were merged into "NehrimData.esp"), since I thought it should be indeed an own mod to make it easier for others to work with it.

Without having messing around about the additions included by the "NehrimData.esp" (which actually comes with any version, but still shouldn't used as mod ESP).

User avatar
Chelsea Head
 
Posts: 3433
Joined: Thu Mar 08, 2007 6:38 am

Post » Mon Oct 26, 2015 9:10 pm

Addition:

Fixed it.

But I am pretty disappointed of how much [censored] up Nehrim actually is.

It was a fault by the game itself.

'Nehrim.esm' has Magic Effects and 'NehrimData.esp' has Magic Effect too, but with a different EditorID still it has the same Effect Name (like 'FOSK').

So, it worked before because I added those scritps directly into 'NehrimData.esp', where the new records for the magic effects are.

Now I work from 'Nehrim Expanded.esp' and those scripts seem to refuse to work because somehow they realize that there are two different Magic Effects with the same name.

So they are confused about which one they should use. I can understand that...

First fix:

Player.GetTotalAEAbilityMagnitudeC 31

Which should work in the same way as

Player.GetTotalAEAbilityMagnitude FOSK Sneak

However, I didn't like that there are double magic effects, therefore I didn't want to use the first fix.

Instead I want to make the actual script function working again.

So all I had to do is deleting the useless Magic Effects out of 'NehrimData.esp'

First, I copied an override of every single Magic Effect from the 'Nehrim.esm' and sorted the double ones out.

Of course I applied the changes from the duplicate of 'NehrimData.esp' since those are the effects with sound.

The Magic Effects from 'Nehrim.esm' doesn't have sounds included which explains why some spells appear to be silent sometimes.

So now I have only overrides of the actual base effect in my 'NehrimData.esp' and no duplicates, but with the values from 'NehrimData.esp', as those ones should be the ones intended to have in the game.

I tried the script with the same code from above again and it works as it did, when the script was part of 'NehrimData.esp'. :stare:

I wish I could be happy about the fix, but actually it makes me disappointed to realize how [censored] the game was til yet :confused:

User avatar
Eliza Potter
 
Posts: 3481
Joined: Mon Mar 05, 2007 3:20 am


Return to IV - Oblivion