I got sick for a while (also no internet)
So. Here I am once again. Recently I found myself without internet. Also, recently, I found myself to be too sick to stay out of bed when i was off work. This has cut me off from being able to work on anything. I thought I had something going on with this script that I'm trying to put together, but I lost the thread by which I was thinking. My brain is like that; I have some brain damage.
Now I have another shot, but I'm again in need of guidance; I can learn if I produce something myself, but I can't learn this kind of thing without someone to stick with me. It's like some fool opens the Hoover Dam completely every time it's almost full; I never quite reach the full capacity on my own. I have come so close several times, but no cigar.
So, now that I've come out and said that I have this specific difficulty, I would like to ask for someone to help with this script (which will likely require many questions and back and forth messaging). I have patience. I can do this, but understanding won't come without help, since this doesn't come naturally to me.
So, that said, I have the example script that I grabbed from the CK Wiki. I understand that it doesn't do anything, but, among my questions is, should I be able to make it work without completely rewriting it?
ScriptName RepeatableSummonEffectScript extends ActiveMagicEffect
Actor Property YourSummonREF Auto ; An ObjectReference will also work with the summon function
Event OnEffectStart(Actor akTarget, Actor akCaster)
Summon(akCaster, YourSummonREF)
EndEvent
; GetFormFromFile below to enable 'Global' flag
Function Summon(ObjectReference akSummoner = None, ObjectReference akSummon = None, Float afDistance = 150.0, Float afZOffset = 0.0, ObjectReference arPortal = None, Int aiStage = 0) Global
While aiStage < 6
aiStage += 1
If aiStage == 1 ; Shroud summon with portal
arPortal = akSummon.PlaceAtMe(Game.GetFormFromFile(0x0007CD55, "Skyrim.ESM")) ; SummonTargetFXActivator disables and deletes itself shortly after stage 5
ElseIf aiStage == 2 ; Disable Summon
akSummon.Disable()
ElseIf aiStage == 3 ; Move portal in front of summoner
arPortal.MoveTo(akSummoner, Math.Sin(akSummoner.GetAngleZ()) * afDistance, Math.Cos(akSummoner.GetAngleZ()) * afDistance, afZOffset)
ElseIf aiStage == 4 ; Move summon to portal
akSummon.MoveTo(arPortal)
ElseIf aiStage == 5 ; Enable summon as the portal dissipates
akSummon.Enable()
EndIfe
Utility.Wait(0.6)
EndWhile
EndFunction
It seems as though I know what the script does by reading it, but it just doesn't want to translate into knowing for sure.
Something that is worth noting: CPU has stated that I have to make the "YourSummonReference" a valid actor. It's actually odd that in my experimentation, I actually made an actor that should be the door that I want to summon. I also understand that I can't use the term "YourSummonReference."
So, if anyone does want to take up the challenge, it may be best to ask me questions; I find that others tend to ask about things that I haven't thought about, or that I forgot to consider.
Thanks, as usual for taking the time to read my blog, and have a warm day.
3 Comments
Recommended Comments