Made a spell I thought you all might like.

Post » Wed Jun 20, 2012 10:41 am

But, I don't know if its working because my game doesn't work right now...
Anyone mind testing it for me?

Here's the script.
Scriptname RaiseSpiritScript extends activemagiceffect Spell Property MGGhostAbility autoEvent OnEffectStart(Actor akTarget, Actor akCaster)   if akTarget.IsDead()==1	  Actor clone = (akTarget.PlaceActorAtMe(akTarget.GetActorBase(), 4)).disable()	  clone.Kill()	  clone.AddSpell(MGGhostAbility)	  clone.enable()	  clone.resurrect()	  clone.SetRelationshipRank(akCaster, 3)   endIfendEvent	 

The goal is to make it look like you're drawing the spirit out of someone's body.
User avatar
~Amy~
 
Posts: 3478
Joined: Sat Aug 12, 2006 5:38 am

Post » Wed Jun 20, 2012 9:45 pm

The EXACT thing I was trying to pull off since the CK was released. You can bet your butt I'm going to test it right now.
User avatar
Katie Samuel
 
Posts: 3384
Joined: Tue Oct 10, 2006 5:20 am

Post » Wed Jun 20, 2012 11:33 pm

Sounds interesting. Would work great with a paladin type character, where they don't only want to hunt undead, but also bring their souls "to rest"

- Hypno
User avatar
Jessica Nash
 
Posts: 3424
Joined: Tue Dec 19, 2006 10:18 pm

Post » Wed Jun 20, 2012 8:34 pm

And just like my version of the script, it gives the same results when it doesn't work. But the logs say different things.

For all those calling functions, the log says you can't call a none on any of them.

Log:(ignore the dustdroprandomscript errors, it's unrelated)
Spoiler

[04/04/2012 - 08:00:56AM] error: Cannot call Kill() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:00:56AM] error: Cannot call AddSpell() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:00:56AM] warning: Assigning None to a non-object variable named "::temp0"stack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:00:56AM] error: Cannot call Enable() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:00:56AM] error: Cannot call Resurrect() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:00:56AM] error: Cannot call SetRelationshipRank() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:00:59AM] error: Object reference has no 3Dstack:[ (0001E68C)].Sound.Play() - "" Line ?[ (00076126)].fxDustDropRandomSCRIPT.OnLoad() - "fxDustDropRandomSCRIPT.psc" Line ?[04/04/2012 - 08:01:04AM] error: Object reference has no 3Dstack:[ (0001E68C)].Sound.Play() - "" Line ?[ (000220D1)].fxDustDropRandomSCRIPT.OnLoad() - "fxDustDropRandomSCRIPT.psc" Line ?[04/04/2012 - 08:01:13AM] error: Cannot call Kill() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:13AM] error: Cannot call AddSpell() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:13AM] warning: Assigning None to a non-object variable named "::temp0"stack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:13AM] error: Cannot call Enable() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:13AM] error: Cannot call Resurrect() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:13AM] error: Cannot call SetRelationshipRank() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:15AM] error: Object reference has no 3Dstack:[ (0001E68C)].Sound.Play() - "" Line ?[ (000220D1)].fxDustDropRandomSCRIPT.OnLoad() - "fxDustDropRandomSCRIPT.psc" Line ?[04/04/2012 - 08:01:20AM] error: Object reference has no 3Dstack:[ (0001E68C)].Sound.Play() - "" Line ?[ (00076126)].fxDustDropRandomSCRIPT.OnLoad() - "fxDustDropRandomSCRIPT.psc" Line ?[04/04/2012 - 08:01:27AM] error: Cannot call Kill() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:27AM] error: Cannot call AddSpell() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:27AM] warning: Assigning None to a non-object variable named "::temp0"stack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:27AM] error: Cannot call Enable() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:27AM] error: Cannot call Resurrect() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:27AM] error: Cannot call SetRelationshipRank() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:35AM] error: Object reference has no 3Dstack:[ (0001E68C)].Sound.Play() - "" Line ?[ (000220D1)].fxDustDropRandomSCRIPT.OnLoad() - "fxDustDropRandomSCRIPT.psc" Line ?[04/04/2012 - 08:01:42AM] error: Cannot call Kill() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart()- "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:42AM] error: Cannot call AddSpell() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:42AM] warning: Assigning None to a non-object variable named "::temp0"stack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:42AM] error: Cannot call Enable() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:42AM] error: Cannot call Resurrect() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?[04/04/2012 - 08:01:42AM] error: Cannot call SetRelationshipRank() on a None object, aborting function callstack:[None].raisespiritscript.OnEffectStart() - "raisespiritscript.psc" Line ?

But I think you are closer to pulling this off, than I was.
User avatar
Mandi Norton
 
Posts: 3451
Joined: Tue Jan 30, 2007 2:43 pm

Post » Wed Jun 20, 2012 12:04 pm

Try splitting the placeatme & disable into 2 lines.
  Actor clone = akTarget.PlaceActorAtMe(akTarget.GetActorBase(), 4)  clone.disable()
User avatar
Charleigh Anderson
 
Posts: 3398
Joined: Fri Feb 02, 2007 5:17 am

Post » Wed Jun 20, 2012 7:30 pm

That did the trick and it works. However the ghost ability isn't working as intended on the clone.
User avatar
john palmer
 
Posts: 3410
Joined: Fri Jun 22, 2007 8:07 pm

Post » Wed Jun 20, 2012 1:43 pm

Maybe you could try
EffectShader Property MGGhostFXShader...other code...MGGhostFXShader.Play(clone, 60)...other code...
User avatar
Claudz
 
Posts: 3484
Joined: Thu Sep 07, 2006 5:33 am

Post » Wed Jun 20, 2012 10:37 pm

You can only catch one instance from each call to PlaceAtMe...if you place 4 of them, the other 3 will just stand there won't they?
User avatar
R.I.P
 
Posts: 3370
Joined: Sat Dec 01, 2007 8:11 pm

Post » Wed Jun 20, 2012 10:35 am

You can only catch one instance from each call to PlaceAtMe...if you place 4 of them, the other 3 will just stand there won't they?

I don't understand your terminology, sorry. I'm not really a programmer.
User avatar
Charity Hughes
 
Posts: 3408
Joined: Sat Mar 17, 2007 3:22 pm

Post » Wed Jun 20, 2012 11:59 am

I don't understand your terminology, sorry. I'm not really a programmer.
he means that if you want to handle the returned objects from a placeAtMe function, you must add them one by one.
But so far in your case this is not an issue since the second parameter in the PlaceActorAtMe() function is not a number of objects like in the placeatme() function/
User avatar
ShOrty
 
Posts: 3392
Joined: Sun Jul 02, 2006 8:15 pm

Post » Wed Jun 20, 2012 1:25 pm

FWIW, I have a version like this as well for what I call "Soul Servant" that I did:
http://www.youtube.com/watch?v=gKc97QfPlac&feature=channel

Here's my script for those interested:

Scriptname mm_BeluaSoulServant extends activemagiceffectImport DebugSpell Property mm_BeluaReanimateSoulServantSpell AutoEffectShader Property mm_BeluaDisintegrateSkin AutoVisualEffect Property SoulTrapPVFX01 AutoVisualEffect Property SoulTrapPVFX02 AutoObjectReference actorCorpseActor TargetActor CasterEvent OnEffectStart(Actor akTarget, Actor akCaster)Target = akTargetCaster = akCasterEndEventEvent OnDying(Actor akKiller)   ActorBase TargetBase = Target.GetBaseObject() as ActorBase   actorCorpse = Target.PlaceAtMe(TargetBase, 1)   actorCorpse.RemoveAllItems(akTransferTo = None, abKeepOwnership = False, abRemoveQuestItems = True)   actorCorpse as Actor).KillEssential()EndEventEvent OnEffectFinish(Actor akTarget, Actor akCaster)   if(akTarget.IsDead())	 SoulTrapPVFX02.Play(Target as ObjectReference, 6, actorCorpse)	 mm_BeluaReanimateSoulServantSpell.cast(Caster,Target)	 mm_BeluaDisintegrateSkin.Play(Target,-1)   EndIfEndEvent
User avatar
Andrew Tarango
 
Posts: 3454
Joined: Wed Oct 17, 2007 10:07 am

Post » Wed Jun 20, 2012 6:11 pm

It is nice to see one of my ideas brought into fruition by others.

Well I know it wasn't ORIGINALLY my idea, but I did post it around these boards for the sole purpose of something taking the idea up and succeeding.
User avatar
Darlene DIllow
 
Posts: 3403
Joined: Fri Oct 26, 2007 5:34 am

Post » Thu Jun 21, 2012 12:59 am

I was literally reading the Actor Script page, and like three of the functions I call in this were on screen at once. It just flashed into my brain fully formed, and I jotted it down. So did it work? Can I see a video? My skyrim is still on the fritz...
User avatar
Sarah Edmunds
 
Posts: 3461
Joined: Sat Jul 08, 2006 8:03 pm

Post » Wed Jun 20, 2012 4:12 pm

I have a video of a similar thing I did back in mid March posted about three posts up.

http://www.youtube.com/watch?v=gKc97QfPlac&feature=channel

Using the code I posted there as well. The only real difference is I wanted the "soul" to still carry the original inventory.

-MM
User avatar
Sammi Jones
 
Posts: 3407
Joined: Thu Nov 23, 2006 7:59 am


Return to V - Skyrim