Jump to content

Ghost Effect Help


Recommended Posts

i have always wanted to use the ghost effect in oblivion for something, so i wanted to give a spell the effect of looking like a ghost i have tried several ways to do it, while they do work at their start none keep the appearance after a quick 3rd person to 1st person.

 

tried the spell giving the effect itself, after a quick 3rd person to 1st person, broke.

 

i tried having the spell give an item that gives the effect when added, the effect happens at start but same as above

 

Tried using a quest script which to its credit keeps flickering in and out after the switch, close to what i want but not quite there

 

is their any mod reference already made that has the solution or is their a quick thing to put in the script to do this?

Link to comment
Share on other sites

Try using ScriptEffectStart to add the spell AbGhostNPC to the caster when the spell starts, and ScriptEffectFinish to remove it once the spell wears off.

the script that it is using is this

scn GhostEffectScript

begin ScriptEffectStart
	saa 0.01
	pms ghosteffect
end

begin ScriptEffectUpdate
end

begin ScriptEffectFinish
end

for the spell i was using was this

scn AXMGhostSpellEffectScript

begin ScriptEffectStart
	saa 0.01
	pms ghosteffect
end

begin ScriptEffectUpdate
end

begin ScriptEffectFinish
	StopMagicShaderVisuals ghosteffect
	saa 1.0
end

just added a few things at finish since this effect was only to last 30 secs here is what i put as the quest version

ScriptName AXMGhostSpellEffectScript

Begin ScriptEffectStart
 set AXMGhostQuest.Ghost to 1
End

Begin ScriptEffectFinish
 set AXMGhostQuest.Ghost to 2
End

that is the spell to activate it, here is what i put for the quest

ScriptName AXMGhostQuestScript

Short Ghost

Begin Gamemode
 if Ghost == 1
  Player.SetActorAlpha 0.01
  Player.PlayMagicShaderVisuals GhostEffect
 elseif Ghost == 2
  Player.SetActorAlpha 1.00
  Player.StopMagicShaderVisuals GhostEffect
  set Ghost to 0
 endif
End

this as i said in my previous post is "flickering in and out after the switch" and for the item i did this

ScriptName AXMGhostSpellEffectScript

Begin ScriptEffectStart
 Player.AddItem AXMGhostToken 1
 Player.EquipItem AXMGhostToken
End

Begin ScriptEffectFinish
 Player.UnequipItem AXMGhostToken
 Player.RemoveItem AXMGhostToken 1
 Player.SetActorAlpha 1.00
 Player.StopMagicShaderVisuals GhostEffect
End

this is the spell that gives the item that gives the said effect

ScriptName AXMGhostItemScript

Short Timer
Short Ghost

Begin OnAdd
 Set AXMGToggle to 1
 Set Ghost to 1
End

Begin Gamemode
 if (AXMGToggle == 1) && (Ghost == 1)
  Player.SetActorAlpha 0.01
  Player.PlayMagicShaderVisuals GhostEffect
  set Ghost to 2
End

AXMGToggle is a global var to start/stop the script when needed, then i took what i saw in the other scripts and made this spell

ScriptName AXMGhostSpellEffectScript

Short Timer
Short Ghost

Begin ScriptEffectStart
 Set AXMGToggle to 1
 Set Ghost to 1
End

;Begin Gamemode
Begin ScriptEffectUpdate
 if (AXMGToggle == 1) && (Ghost == 1)
  Player.SetActorAlpha 0.01
  Player.PlayMagicShaderVisuals GhostEffect
  Set Ghost to 2
  set Timer to Timer + getsecondspassed
 endif
 if (Timer >= 2) && (Ghost == 2)
  Set Timer to 0
  Set Ghost to 1
 endif
End

Begin ScriptEffectFinish
 Player.SetActorAlpha 1.00
 Player.StopMagicShaderVisuals GhostEffect
 Set AXMGToggle to 0
 Set Ghost to 0
 Set Timer to 0
End

no changes still having the same issues, i tried adding a 2sec timer to reset the effect, but this did not work at all

Edited by bomo99
Link to comment
Share on other sites

so i tried as you said here is what i used

ScriptName AXMGhostSpellEffectScript

Begin ScriptEffectStart
 Player.AddSpell AbGhostNPC
end

Begin ScriptEffectUpdate
End

Begin ScriptEffectFinish
Player.RemoveSpell AbGhostNPC
End

since i want it to last 30 secs i want the effect to be removed, but when i tried this it broke but after the duration the effect became permanent even though the spell was removed do i need to have two scripts? one that activates immediately and another that removes it after 30 secs?

Edited by bomo99
Link to comment
Share on other sites

Well, s#*!. I do not think that two scripts would change anything.

 

Do you remember how the Shambles creature from the Shivering Isles DC unleashed a frost explosion upon death? If you look at the script attached to it you'll see that it works like this: it places a bone at the Shambles, then uses that bone to cast an area-of-effect frost damage spell at the Shambles before disabling the bone. Maybe you could use something like that to cast two different spells at the player. Create two different script effect spells, one that adds the Ghost ability and a second spell that removes the Ghost ability. On ScriptEffectStart use something like the Shambles script to spawn an item that casts the first spell on the player. On ScriptEffectFinish, do the same but cast the second spell to remove the Ghost ability.

 

If that doesn't work then I'm stumped.

Link to comment
Share on other sites

As I tried too, I came to a conclusion that this part of Oblivion is propably bugged. Problem is mainly if there is another spell or enchantment using membrane shader active or activated while intended spell is active - various shields, reflect damage etc. This break the ghost membrane effect and is often stays this way until the spell or enchantment responsible is switched off or removed.

Link to comment
Share on other sites

I'm pretty sure he already tried that.

 

so i tried as you said here is what i used

ScriptName AXMGhostSpellEffectScript

Begin ScriptEffectStart
 Player.AddSpell AbGhostNPC
end

Begin ScriptEffectUpdate
End

Begin ScriptEffectFinish
Player.RemoveSpell AbGhostNPC
End

 

I think adding spell effects like that to the player is just impossible because they'll eventually break.

Link to comment
Share on other sites

As I tried too, I came to a conclusion that this part of Oblivion is propably bugged. Problem is mainly if there is another spell or enchantment using membrane shader active or activated while intended spell is active - various shields, reflect damage etc. This break the ghost membrane effect and is often stays this way until the spell or enchantment responsible is switched off or removed.

 

You are right, my spell gave the player Resist effects as well which caused the issue, once i removed them the spell worked perfectly.

 

Why don't you try to place the AbGhost Spell in the inventory of a given NPC/player and then to remove the spell from his/her inventory?

i tried this in different approaches; the spell itself, the spell giving an item which gives the spell, and through a quest

 

My only question now is why did the quest part kinda work but the others didn't?

Edited by bomo99
Link to comment
Share on other sites

  • Recently Browsing   0 members

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