Difference between revisions of "Talk:Casting Spells From An Activator"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Scruggs
imported>Um the Muse
 
(18 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Thankyou for fixing it. I am still working out how to use a wiki. Now i know I can type here. ;)
Thankyou for fixing it. I am still working out how to use a wiki. Now i know I can type here. ;)
== Featured Nomination Discussion ==
OK, this was a very good article, but it's also old. I'm not entirely sure how this article stands. I'll try to re-read it at some point, but if anyone's read it recently, input on its current quality would be good.<br />
[[User:DragoonWraith|<span style="font-family: Oblivion, Daedric Runes; size=2;">D</span>ragoon <span style="font-family: Oblivion, Daedric Runes; size=2;">W</span>raith]] [[User_talk:DragoonWraith|<span style="font-family: Oblivion, Daedric Runes; size=2;">TALK</span>]] 23:50, 20 March 2008 (EDT)
:I haven't read it in a while either, but I did update it to use MoveTo instead of PlaceAtMe several months ago - so that issue should be fixed. Off the top of my head - Creating the spell and activator should be cut out like [[Creating a New Cell]].--[[User:Haama|Haama]] 00:37, 21 March 2008 (EDT)


== Improvements ==
== Improvements ==
Line 18: Line 25:


Generally we don't sign changes to Wiki article changes themselves.  Certain pages we do (The Wish List and Questions), but normally it's just the Discussion pages. --[[User:Tegid|Tegid]] 08:12, 19 May 2006 (EDT)
Generally we don't sign changes to Wiki article changes themselves.  Certain pages we do (The Wish List and Questions), but normally it's just the Discussion pages. --[[User:Tegid|Tegid]] 08:12, 19 May 2006 (EDT)
==Where does the Caveat code go?==
ok i'm still new to modding in general so i think it would be a major improvement to say where to put the two caveat scripts, the second one says right below the first one, but where does that one go? [[User:RedSox|RedSox]] 21:32, 28 September 2009 (EDT)
:'''Please put new questions under their own header.'''
:The first piece of code should go directly below the <tt>'''Begin ScriptEffectStart'''</tt> line. I added that to the article.
:--[[User:Qazaaq|Qazaaq]] 12:42, 30 September 2009 (EDT)


== Why does the first activator have to be in the air ==
== Why does the first activator have to be in the air ==
Line 63: Line 77:


:: Do what hrmn says. [[MoveTo]] actually does work on just about any type of object - the problem with it is that the world art is not always updated along with the object's position. If you use a persistent reference flagged as "initially disabled", you don't have to worry about that. MoveTo + Cast will work even when called on a disabled reference. I generally use a paintbrush. :shrug: [[User:Scruggs|Scruggs]] 04:42, 17 November 2006 (EST)
:: Do what hrmn says. [[MoveTo]] actually does work on just about any type of object - the problem with it is that the world art is not always updated along with the object's position. If you use a persistent reference flagged as "initially disabled", you don't have to worry about that. MoveTo + Cast will work even when called on a disabled reference. I generally use a paintbrush. :shrug: [[User:Scruggs|Scruggs]] 04:42, 17 November 2006 (EST)
That works a lot better than what I was trying... I had an actor carrying an object so I could MoveTo player on the actor, have it drop the item causing the item to cast the spell, then have the actor pick it back up.
The last problem I have is that when the spell fires, I get hit with the hit shader causing the screen to shimmer a bit. I'm using Mehrunes spell to get rid of the bang sound but the only way I can see to get rid of the shimmer is to set my SpellAbsorbChance to 100, but then I get the absorb particle effects. Any way to fix this one? [[User:BurninSun|BurninSun]] 21:34, 17 November 2006 (EST)
: The hit shader occurs when your character is hit by a hostile spell. Mehrunes Dagon is flagged as hostile in the magic effects settings; you could uncheck that box (unless it's grayed out) but you'd risk conflicting with other mods that use that effect. Instead, consider using a script effect - it doesn't need a script attached - and uncheck the box marked "effect is hostile". [[User:Scruggs|Scruggs]] 22:53, 17 November 2006 (EST)
That's what I had originally (the script effect) but then I'm back to hearing the "bang" every time it's cast. However, I replaced Mehrunes with Resist Water Damage as that spell effect seems to have no side effects and its worked out so far. Thanks for the input. [[User:BurninSun|BurninSun]] 01:45, 18 November 2006 (EST)
The other way I've seen to remove the "bang" is editing the SEFF Script Effect Magic Effect to remove the sounds/lights. This is vulnerable to removing sounds/lights from other mods that rely on them. Arguably it is nicer because it makes the "NONE" "Visuals Effect" actually do nothing. It is probably safe against other mods because anyone is probably going to pick something other than "NONE" if they actually want a visual effect. [[User:ABO|ABO]] 23:45, 30 April 2008 (GMT)
== Why rename instead of new? ==
''Rename the activator with the Editor ID "ActivatorFlameNode0" to "SourceID" by slowly double-clicking on it, changing the name, and selecting "Yes" when the menu comes up.''
Why rename an existing activator instead of creating a new one? Is there a reason? --[[User:DonAtreides|DonAtreides]] 23:05, 5 February 2008 (EST)
:That ''does'' create a new object...--[[User:Haama|Haama]] 23:40, 5 February 2008 (EST)
::One reason to do this is when you are adding a new light. Just creating a new light doesn't seem to work in the CS for some reason but renaming an existing light does...go figure.
::--[[User:ShadowDancer|ShadowDancer]] 05:23, 7 October 2008 (EDT)
== So many questions ==
Alright, I tried to make this, word for word (except for changing the position from 0, 0, 1000 to 0, 0, 500 and I used the version where I don't hit myself), but I couldn't get it to work.  I'm brand new and I tried typing it out instead of copy-and-paste, so I probably made a mistake somewhere.
When I test it, I get the cast animations (raised hand, flash of light, sound effect) from the first spell.  That leads me to suspect the problem is either the activator or the second spell (can't be the third spell, right?).  So, my first question is:  How can I test if it's one or the other?
My second question is about the line that goes, "If GetCombatTarget != player"  Well, actually I have two questions.  One, do I need a reference: me.GetCombatTarget?  I tried both ways, but neither worked.  Two, suppose I wanted this spell, not for myself, but for some other NPC.  How would I change this?
Lastly, from what I understand, you could turn spell #2 into a script that you could attach directly to the activator.  Is that correct?  Are there any advantages in doing that?
::Thanks in advance, guys!  [[User:Um the Muse|Um the Muse]] 17:02, 9 March 2011 (EST)

Latest revision as of 17:02, 9 March 2011

Thankyou for fixing it. I am still working out how to use a wiki. Now i know I can type here. ;)

Featured Nomination Discussion[edit source]

OK, this was a very good article, but it's also old. I'm not entirely sure how this article stands. I'll try to re-read it at some point, but if anyone's read it recently, input on its current quality would be good.
Dragoon Wraith TALK 23:50, 20 March 2008 (EDT)

I haven't read it in a while either, but I did update it to use MoveTo instead of PlaceAtMe several months ago - so that issue should be fixed. Off the top of my head - Creating the spell and activator should be cut out like Creating a New Cell.--Haama 00:37, 21 March 2008 (EDT)

Improvements[edit source]

So from the example to stop the spell from hitting the player, I am guessing it would be fairly easy to add an extra piece of code to force the weapon to only attack enemys.

I have seen a mod somewhere which changes the detect life effect to show a different color based on the enemys intent towards killing you. I guess that means theres a command which would allow you to make it only hit npcs or creatures that are activly trying to get you.

If you made these changes than it would not matter if the spell does not force combat because the enemy is already in combat with you. You could even change the name of the spell to reflect the fact that it only harms those that would harm you.

I am still learning the scripting language and don't know how to do it yet, but if I figure it out i'll update the tutorial.

I love oblivion!

Please sign your comments as well, either the second from the last editing button (reading from the left to the right) or four ~'s. Welcome to the Wiki. I actually did some work for the Detect hostility spell, and if I recall, most of what it does it just check for IsInCombat Player (though I think it does some faction checking too). Yes you could set it to only attack those around the player who are currently enemies/attacking the player. However, I think the author's original intent is that the spell is a last resort spell you only use if you are really really, in bad shape. Of course if you're in a mine or dungeon alone, you would like to hit everyone even those not attacking you. That isn't to say that you can't take this spell and modify it to be what you want it to be, but it always pays to think about game balance.--Tegid 11:20, 18 May 2006 (EDT)

Thanks for the advice. Should I also put a sig if i make any changes to a wiki page? or just in the discussions? Decoup 01:44, 19 May 2006 (EDT)

Generally we don't sign changes to Wiki article changes themselves. Certain pages we do (The Wish List and Questions), but normally it's just the Discussion pages. --Tegid 08:12, 19 May 2006 (EDT)

Where does the Caveat code go?[edit source]

ok i'm still new to modding in general so i think it would be a major improvement to say where to put the two caveat scripts, the second one says right below the first one, but where does that one go? RedSox 21:32, 28 September 2009 (EDT)

Please put new questions under their own header.
The first piece of code should go directly below the Begin ScriptEffectStart line. I added that to the article.
--Qazaaq 12:42, 30 September 2009 (EDT)

Why does the first activator have to be in the air[edit source]

The activator that is created when you cast the spell is moved up 200 in the air.
I have a few questions about this step...
Why?
How far up in feet is the movement of 200? Is it 200foot?
If you move the object up 200 foot and cast an area effect of 200 foot, how does the spell manage to hit anyone?
Why can't I force my character to cast the target spell on myself instead of the activator casting it on itself?
Whats the difference? eg player.cast tutcalllightningspellscript player
Decoup 02:02, 20 May 2006 (EDT)


A unit is about 1/20th of a foot, so 200 units is about 10 feet. The reason for this is because the Activator is created basically at your feet, but really AT your feel, not just near them. So we just move it to above the caster's head by habit at this point, it doesn't REALLY matter in this case, but moving it off the ground WILL ensure that the spell won't hit the ground by mistake instead of the player. Since the AOE is from where it hits (it's a target spell on the Player) then it is the Area around the player, not the activator, and MrFlippy contends that AOE distance is not the same as regular distance units. I am not sure.

The reason we use an activator is that when we can actually manage to get an NPC to cast a spell, it shows the cast animation, which we don't want, not only that, but the Player.cast call you suggest doesn't work. We don't seem to be able to force the player to cast a spell from a script. At least not a spell script. --Tegid 15:33, 20 May 2006 (EDT)

I believe 128 units equals six feet. --DragoonWraith 23:40, 20 May 2006 (EDT)

Demoralize/charm[edit source]

Is there any way to make a point blank demoralize or charm spell? If fired from a activator, the actors that are hit will be afraid of/ charmed by the activator, causing the spell to have no effect.

For charm, you can get around that with a scripted spell that does ModDisposition <target> <value>. Things like demoralize and turn undead can be done with ForceFlee to make them run around blindly, or you can use ModAV to modify their confidence, then call StopCombat - that should cause them to restart combat immediately and run away.
Wiki Police Friendly Reminder: Don't forget to sign your comments with ~~~~. ;) Scruggs 11:12, 16 October 2006 (EDT)

Some notes: GuidoBot 19:33, 25 October 2006 (EDT)

  1. You dont have to use an activator for casting AoE, etc. An Xmarker uses less resources but almost any reference will do. However, the target should be an actor for area effects to work. (Using the player is usually sufficient.)
  2. You can cast from the same source multiple times in one frame.
  3. You dont have to use an 'invisible activator'. You can 'disable' it after casting in the same or next frame and it will not be seen.
  4. Casting these types of spells may result in an unwanted 'bang' sound effect if you use just a scripted effect. To avoid this set the dummy spell effect (Mehrunes Dagon Custom Effect) as the cast effect.
Good points, Guido. Couple additions: Disabled references are just as capable of calling Cast as enabled ones, so if you make the reference initially disabled you don't have to worry about enabling/disabling or using an invisible activator. And most mods that make heavy use of script effect spells just set the sounds for that magic effect to 'none'.
BTW, it's "Mehrunes Dagon". ;) You haven't even played the game, have you? :p Too busy scripting? Scruggs 23:29, 25 October 2006 (EDT)
Was just coming to edit this myself now I have the CS in front of me. Largely guilty as charged. Haven't got a character up above level 5 yet! Have also been deliberately trying to avoid spoiling the game for myself while modding by sticking to just a few play zones and adding stuff as needed. That's why I'm so hungry for any real play time reports. Hoping to totally break from modding around christmas to play vanilla (with just my MODs) and then again with a bunch I've got in my favorites list. Your TA is right up there on the list. ;) Good call on the disabled item as cast refs - I actually do this and confused myself above because I was thinking of my target [fly]. But what you say about having the effect set to NONE does not appear to be true. I always assumed this too until I discovered this was what was causing unwanted banging sounds in my T* MOD. GuidoBot 23:51, 25 October 2006 (EDT)


Is it just me or is there no easy way to make point blank ae's like this without littering objects all over the place using PlaceAtMe? SetPos doesn't work long distance, MoveTo doesnt work on items or worldobjects, and if I pull an actor over using MoveTo, that actor has to go through his whole casting animation to cast a spell. BurninSun 03:49, 17 November 2006 (EST)


You must first create a persistant reference before you can use moveto, create a hidden cell and place a activator/marker/whatever in it, click persistant reference and set its referenceeditorid to anything you want. Then use <referenceditorid>.moveto player to let it move to you.Hrmn 04:38, 17 November 2006 (EST)
Do what hrmn says. MoveTo actually does work on just about any type of object - the problem with it is that the world art is not always updated along with the object's position. If you use a persistent reference flagged as "initially disabled", you don't have to worry about that. MoveTo + Cast will work even when called on a disabled reference. I generally use a paintbrush. :shrug: Scruggs 04:42, 17 November 2006 (EST)

That works a lot better than what I was trying... I had an actor carrying an object so I could MoveTo player on the actor, have it drop the item causing the item to cast the spell, then have the actor pick it back up. The last problem I have is that when the spell fires, I get hit with the hit shader causing the screen to shimmer a bit. I'm using Mehrunes spell to get rid of the bang sound but the only way I can see to get rid of the shimmer is to set my SpellAbsorbChance to 100, but then I get the absorb particle effects. Any way to fix this one? BurninSun 21:34, 17 November 2006 (EST)

The hit shader occurs when your character is hit by a hostile spell. Mehrunes Dagon is flagged as hostile in the magic effects settings; you could uncheck that box (unless it's grayed out) but you'd risk conflicting with other mods that use that effect. Instead, consider using a script effect - it doesn't need a script attached - and uncheck the box marked "effect is hostile". Scruggs 22:53, 17 November 2006 (EST)

That's what I had originally (the script effect) but then I'm back to hearing the "bang" every time it's cast. However, I replaced Mehrunes with Resist Water Damage as that spell effect seems to have no side effects and its worked out so far. Thanks for the input. BurninSun 01:45, 18 November 2006 (EST)

The other way I've seen to remove the "bang" is editing the SEFF Script Effect Magic Effect to remove the sounds/lights. This is vulnerable to removing sounds/lights from other mods that rely on them. Arguably it is nicer because it makes the "NONE" "Visuals Effect" actually do nothing. It is probably safe against other mods because anyone is probably going to pick something other than "NONE" if they actually want a visual effect. ABO 23:45, 30 April 2008 (GMT)

Why rename instead of new?[edit source]

Rename the activator with the Editor ID "ActivatorFlameNode0" to "SourceID" by slowly double-clicking on it, changing the name, and selecting "Yes" when the menu comes up.

Why rename an existing activator instead of creating a new one? Is there a reason? --DonAtreides 23:05, 5 February 2008 (EST)

That does create a new object...--Haama 23:40, 5 February 2008 (EST)
One reason to do this is when you are adding a new light. Just creating a new light doesn't seem to work in the CS for some reason but renaming an existing light does...go figure.
--ShadowDancer 05:23, 7 October 2008 (EDT)

So many questions[edit source]

Alright, I tried to make this, word for word (except for changing the position from 0, 0, 1000 to 0, 0, 500 and I used the version where I don't hit myself), but I couldn't get it to work. I'm brand new and I tried typing it out instead of copy-and-paste, so I probably made a mistake somewhere.

When I test it, I get the cast animations (raised hand, flash of light, sound effect) from the first spell. That leads me to suspect the problem is either the activator or the second spell (can't be the third spell, right?). So, my first question is: How can I test if it's one or the other?

My second question is about the line that goes, "If GetCombatTarget != player" Well, actually I have two questions. One, do I need a reference: me.GetCombatTarget? I tried both ways, but neither worked. Two, suppose I wanted this spell, not for myself, but for some other NPC. How would I change this?

Lastly, from what I understand, you could turn spell #2 into a script that you could attach directly to the activator. Is that correct? Are there any advantages in doing that?

Thanks in advance, guys! Um the Muse 17:02, 9 March 2011 (EST)