Jump to content

I'm going to murder the creation kit.


AstralFire

Recommended Posts

- Create a new spell that does a PBAoE stagger.

- Spell works. I test it multiple times. I upload to Skyrim Nexus.

- After four days of focusing on modding, I decide to enjoy myself and play the game.

- Spell no longer works. I didn't touch it or edit it, it just stopped working.

 

Coding is not supposed to work this way. When I leave something in C++ and pick it up the next day, it keeps doing what I told it to do before. ;_;

Link to comment
Share on other sites

Yes. I know that for a fact. I compared to the file I uploaded to the Nexus and it has the changes I remember implementing.

 

Making PBAoE spells in this thing is a pain in the arse. By default, the game does this weird thing where if you set a spell's radius as 'self' then it only affects you (which makes sense) - unless you give it an area, when it affects everyone but you. I'm going to blame that as the source of my woes.

Link to comment
Share on other sites

Actually the source of your woes is in the fact that even if you set an area in your magiceffect and do not check "no area", there is a good chance the area field in your spell will be greyed out and will default to 0 as soon as you save.

 

It still seems to work fine with projectile-based (ranged) spells but PBAoE ones just fail to work half of the time as a result of this bug. And if you are really unlucky you will blow yourself up and no one else takes damage.

 

The only solution is to create two invisible objects, one above your head and one on the ground, and have the former shoot a projectile down that explodes. Exploding projectiles usually work fine. Alternatively if it's just damage, use a script to place an explosion that deals damage.

 

Edit: if it's just AoE push you need, there is a papyrus function for that, "KnockAreaPush" or something like that.

Edited by EnaiSiaion
Link to comment
Share on other sites

I thought that's what it was too, but I was pretty sure I got around that by reopening the spell and then saving it, making sure that the raw output for the line reads as the appropriate area. What I'm finding infuriating right now is that I can sort of get the spell to work - by unchecking autocalculate and putting in the values that I want into the Mass Paralyze effect. Copying the Mass Paralyze effect also seems to work perfectly. However, when I -alter- it to use a different explosion - which should have no effect when I create a new explosion with the same values but a different model and different sounds - the spell immediately ceases working, even if it worked in every regard.

 

I'll be looking for that papyrus function you listed, I've been trying to find something like that.

Link to comment
Share on other sites

that is odd...There must be something going wrong with the magiceffect or the explosion, because the vanilla spells work every time.

 

possible workaround: put a script on the spell that PlaceAtMe()'s your explosion and just leave the explosion box on the magic effect blank.

Edited by cscottydont
Link to comment
Share on other sites

Okay, how can a spell literally just -stop working- in the middle of gameplay? I recoded this spell, it worked with this function for about 30 minutes, it ceased working in the same game. At no point between it functioning and it failing to work did I open up the Creation Kit. Reloading saves to a point where it was at one point working fails to do anything.

 

Scriptname astral_innerfirekb extends activemagiceffect  

Spell property akSpell auto
; calls in the 30s buff.

Spell property kbSpell auto
; calls in previous instance of KB

Event OnEffectStart (actor akTarget, actor akCaster)
akCaster.dispelspell(kbSpell)
;clears out previous cast of KB
 if (akCaster.getav("stamina") >= 50)
   akCaster.damageav("stamina", 50)
   ;checks to see if stamina is sufficient to trigger the nova
   akCaster.KnockAreaEffect(1, 360)
   ;aoestagger
 else
   debug.notification("You don't have the stamina to perform the Nova.")
 endif
akCaster.dispelspell(akSpell)
;clears out previous cast of 30s buff to prevent buff stacking
akSpell.cast(akCaster)
;recasts 30s buff
endEvent

 

The knockback is consistently working (...for now...) but the buff fails to trigger anymore.

Edited by AstralFire
Link to comment
Share on other sites

Skyrim is generally not reliable for script usage. Witness how the forums are loaded with people who have quests that break while they are playing vanilla Skyrim.

 

I want to watch when you murder the Creation Kit.

Edited by David Brasher
Link to comment
Share on other sites

Astralfire, the only logical explanation is that the value of property akSpell is not set correctly. Check that it hasn't somehow reset itself to "default value".
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...