Page 1 of 1

Argh. EffectBeam issues

Posted: Thu Dec 11, 2003 6:21 pm
by Themicles
Well, I got this script working... sort of... I hear the sound, but don't see
the beam... *sigh*

Code: Select all

void main()
{
object oFocus = GetObjectByTag("focus_point");
object oT1 = GetObjectByTag("tn_gaerth_fthful_sw");
object oT2 = GetObjectByTag("tn_gaerth_fthful_se");
object oT3 = GetObjectByTag("tn_gaerth_fthful_ne");
object oT4 = GetObjectByTag("tn_gaerth_fthful_nw");
effect eHoly = EffectBeam(VFX_BEAM_HOLY, oFocus, BODY_NODE_CHEST);

    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHoly, oT1);

    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHoly, oT2);

    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHoly, oT3);

    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHoly, oT4);
}
Like I said... everything happens BUT the visual effect... and thats the
whole point. The Effect is firing, but the beam isn't displaying...

-Themicles

Posted: Thu Dec 11, 2003 7:28 pm
by Nightbringer
I think beams have to have a duration, they're not instantaneous effects, though the duration is usually small.

Posted: Thu Dec 11, 2003 7:36 pm
by Themicles
I'll try giving it a duration and see if the beam shows up.
Like I said, the sound is happening... but the beam isn't. The sound is a
part of the EffectBeam, not a seperate command being made, as you can
see in the script... so I'm hoping the duration is it.

Thanks

-Themicles

Posted: Thu Dec 11, 2003 9:26 pm
by Themicles
Yeah it worked. Thanks. How about this now? The actual end result acts
as if the ActionWait() isn't even there.

Code: Select all

void main()
{
object oFocus = GetObjectByTag("focus_point");
object oOrigin = GetObjectByTag("Gaerth_RunePillar");
object oP1 = GetObjectByTag("tn_gaerth_fthful_sw");
object oP2 = GetObjectByTag("tn_gaerth_fthful_se");
object oP3 = GetObjectByTag("tn_gaerth_fthful_ne");
object oP4 = GetObjectByTag("tn_gaerth_fthful_nw");
effect eHoly = EffectBeam(VFX_BEAM_HOLY, oFocus, BODY_NODE_CHEST);
effect eSource = EffectBeam(VFX_BEAM_HOLY, oFocus, BODY_NODE_CHEST);

    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSource, oOrigin, 5.0);

    ActionWait(2.0);

    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHoly, oP1, 5.0);

    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHoly, oP2, 5.0);

    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHoly, oP3, 5.0);

    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHoly, oP4, 5.0);
}
-Themicles

Posted: Fri Dec 12, 2003 12:18 am
by Vian
ActionWait is for Player actions not effects.

Try DelayCommand instead.
Like this:

Code: Select all

DelayCommand(3.0,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEffect2,lPort,30.0));

Posted: Fri Dec 12, 2003 1:21 am
by Themicles
See why I made that news post about an open scripter position on my
team? :D

Thanks

-Themicles