I am trying to get a sound to play on a PC and have it move with them as they move.
After I got it to work it only plays on the location of where it was activated. I've tried playing it on the area (doesn't work) and the location obviously just plays the sound on the location.
Any thoughts?
//::///////////////////////////////////////////////
//:: Shapechange
//:: NW_S0_ShapeChg.nss
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 22, 2002
//:://////////////////////////////////////////////
#include "x2_inc_spellhook"
void main()
{
/*
Spellcast Hook Code
Added 2003-06-23 by GeorgZ
If you want to make changes to all spells,
check x2_inc_spellhook.nss to find out more
*/
if (!X2PreSpellCastCode())
{
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
//Declare major variables
int nSpell = GetSpellId();
object oTarget = GetSpellTargetObject();
object oPC = OBJECT_SELF;
effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
effect ePoly;
int nPoly;
int nMetaMagic = GetMetaMagicFeat();
int nDuration = GetCasterLevel(OBJECT_SELF);
//Enter Metamagic conditions
if (nMetaMagic == METAMAGIC_EXTEND)
{
nDuration = nDuration *2; //Duration is +100%
}
//Determine Polymorph subradial type
if(nSpell == 392)
{
nPoly = POLYMORPH_TYPE_RED_DRAGON;
}
else if (nSpell == 393)
{
nPoly = POLYMORPH_TYPE_FIRE_GIANT;
}
else if (nSpell == 394)
{
nPoly = POLYMORPH_TYPE_BALOR;
}
else if (nSpell == 395)
{
nPoly = POLYMORPH_TYPE_DEATH_SLAAD;
}
else if (nSpell == 396)
{
nPoly = POLYMORPH_TYPE_IRON_GOLEM;
}
ePoly = EffectPolymorph(nPoly);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_SHAPECHANGE, FALSE));
//Apply the VFX impact and effects
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(oTarget));
DelayCommand(0.4, AssignCommand(oTarget, ClearAllActions())); // prevents an exploit
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, oTarget, TurnsToSeconds(nDuration)));
DelayCommand(0.6, AssignCommand(oPC,PlaySound("me_amidemon")));
MusicBackgroundStop(GetArea(oTarget));
DelayCommand(75.0, MusicBackgroundPlay(GetArea(oTarget)));
}