//Script Name: vfx_on_enter ////////////////////////////////////////// //Created By: Genisys (Guile) //Created On: 8/31/08 ///////////////////////////////////////////////////////////////////////// /* This script goes in the OnEnter Event of an area, basically it will allow you to put up two Permanent Visual effects on any object, keep in mind the object should should not be invisible if the visual effect will be an aura. To utlize simply place fx## at the beginning or the end of the tagname (or both beginning and the end of the tagname) of any object you wish to apply a visual effect. See the ##s below to find out which VFX will be applied. Example Object Tagname: fx51_bench_fx23 This would apply a yellow glow with a yellow IounStone circling the object. NOTE: The script is better than using a heartbeat script, but it can only apply Permanent & Temporary Visual Effect, this script only uses Permanent. You only need to provide a UNIQUE tagname of an object in the area which will not be getting any visual effects, this is the referrence point the script uses. (See IMPORTANT Below) TIP: You can use an invisible object near an object to apply non-aura visual effects in the area of the object as well! */ ///////////////////////////////////////////////////////////////////////// void main() { ////////////////////IMPORTANT///////////////////////////// //Replace tagname below with a unique tagname of an object //in the area which will not be recieving visual effects //This object MUST be PLOT & REMAIN In the Area! ////////////////////////////////////////////////////////// object oRefPoint = GetObjectByTag("tagname"); ///////////////////////////////////////////////////////////////////////// //////////WARNING: DON'T TOUCH ANYTHING BELOW THIS LINE!///////////////// ///////////////////////////////////////////////////////////////////////// object oEnterer = GetEnteringObject(); if (GetIsPC(oEnterer) == TRUE) { //Create shadow vfx on placeables the first time in the area.. if (GetLocalInt(oRefPoint, "CreateVFX") != 1) { //Set an intergal on the are to tell we have done this before! SetLocalInt(oRefPoint, "CreateVFX", 1); effect eEffect; //Loop through all of the objects in the area //and see if they have an VFX Tagname.. //If so apply the appropriate VFX(s) to the object //The incrementing # to tell us which object to look at. int nCount = 1; //The object we are looking at.. object oThing = GetNearestObject(OBJECT_TYPE_PLACEABLE, oRefPoint, nCount); //As long as the object is a valid object continue to examine while (oThing != OBJECT_INVALID) { //Let's define the tagname strings first! string sTag = GetStringLeft(GetTag(oThing), 4); string sEnd = GetStringRight(GetTag(oThing), 4); //fx01 = Anti Light 10 Ft Radius if (sTag == "fx01" || sEnd == "fx01") { eEffect = EffectVisualEffect(VFX_DUR_ANTI_LIGHT_10); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx02 = Blue / Black Pulsating Aura if (sTag == "fx02" || sEnd == "fx02") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_BLUE_BLACK); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx03 = Blue / White Pulsating Aura if (sTag == "fx03" || sEnd == "fx03") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_BLUE_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx04 = Cyan / Black Pulsating Aura if (sTag == "fx04" || sEnd == "fx04") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_CYAN_BLACK); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx05 = Cyan / Blue Pulsating Aura if (sTag == "fx05" || sEnd == "fx05") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_CYAN_BLUE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx06 = Cyan / Green Pulsating Aura if (sTag == "fx06" || sEnd == "fx06") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_CYAN_GREEN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx07 = Green / Black Pulsating Aura if (sTag == "fx07" || sEnd == "fx07") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_GREEN_BLACK); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx08 = Green / White Pulsating Aura if (sTag == "fx08" || sEnd == "fx08") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_GREEN_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx09 = Magenta / Blue Pulsating Aura if (sTag == "fx09" || sEnd == "fx09") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_MAGENTA_BLUE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx10 = Magenta / White Pulsating Aura if (sTag == "fx10" || sEnd == "fx10") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_MAGENTA_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx11 = Purple / Black Pulsating Aura if (sTag == "fx11" || sEnd == "fx11") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_PURPLE_BLACK); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx12 =Purple / White Pulsating Aura if (sTag == "fx12" || sEnd == "fx12") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_PURPLE_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx13 = Red / Black Pulsating Aura if (sTag == "fx13" || sEnd == "fx13") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_BLACK); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx14 = Red / Green Pulsating Aura if (sTag == "fx14" || sEnd == "fx14") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_GREEN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx15 = Red / White Pulsating Aura if (sTag == "fx15" || sEnd == "fx15") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx16 = Red / Yellow Pulsating Aura if (sTag == "fx16" || sEnd == "fx16") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_YELLOW); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx17 = Yellow / Black Pulsating Aura if (sTag == "fx17" || sEnd == "fx17") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_BLACK); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx18 = Yellow / Orange Pulsating Aura if (sTag == "fx18" || sEnd == "fx18") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_ORANGE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx19 = Yellow / White Pulsating Aura if (sTag == "fx19" || sEnd == "fx19") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx20 = Purple Aura if (sTag == "fx20" || sEnd == "fx20") { eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx21 = Red Aura if (sTag == "fx21" || sEnd == "fx21") { eEffect = EffectVisualEffect(VFX_DUR_AURA_RED); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx22 = White Aura if (sTag == "fx22" || sEnd == "fx22") { eEffect = EffectVisualEffect(VFX_DUR_AURA_WHITE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx23 = Yellow Aura if (sTag == "fx23" || sEnd == "fx23") { eEffect = EffectVisualEffect(VFX_DUR_AURA_YELLOW); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx24 = Bard Song if (sTag == "fx24" || sEnd == "fx24") { eEffect = EffectVisualEffect(VFX_DUR_BARD_SONG); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx25 = Death Armor (Black Circle) if (sTag == "fx25" || sEnd == "fx25") { eEffect = EffectVisualEffect(VFX_DUR_DEATH_ARMOR); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx26 = Elemental Shield if (sTag == "fx26" || sEnd == "fx26") { eEffect = EffectVisualEffect(VFX_DUR_ELEMENTAL_SHIELD); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx27 = Freedome Of Movement (Green glow at bottom only) if (sTag == "fx27" || sEnd == "fx27") { eEffect = EffectVisualEffect(VFX_DUR_FREEDOM_OF_MOVEMENT); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx28 = Ghost Smoke (White Smoke) if (sTag == "fx28" || sEnd == "fx28") { eEffect = EffectVisualEffect(VFX_DUR_GHOST_SMOKE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx29 = Ghost - White/Transparent Aura if (sTag == "fx29" || sEnd == "fx29") { eEffect = EffectVisualEffect(VFX_DUR_GHOST_TRANSPARENT); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx30 = Ghostly Pulsating Aura (transparent / white) if (sTag == "fx30" || sEnd == "fx30") { eEffect = EffectVisualEffect(VFX_DUR_GHOSTLY_PULSE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx31 = GLOBE of INVULNERABILITY if (sTag == "fx31" || sEnd == "fx31") { eEffect = EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx32 = Grey Glow if (sTag == "fx32" || sEnd == "fx32") { eEffect = EffectVisualEffect(VFX_DUR_GLOW_GREY); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx33 = Green Glow if (sTag == "fx33" || sEnd == "fx33") { eEffect = EffectVisualEffect(VFX_DUR_GLOW_GREEN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx34 = Light Orange Glow if (sTag == "fx34" || sEnd == "fx34") { eEffect = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_ORANGE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx35 = Glyph of Warding (Just like the spell!) if (sTag == "fx35" || sEnd == "fx35") { eEffect = EffectVisualEffect(VFX_DUR_GLYPH_OF_WARDING); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx36 = Ice Skin (The object turns completely white) if (sTag == "fx36" || sEnd == "fx36") { eEffect = EffectVisualEffect(VFX_DUR_ICESKIN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx37 = Animated Huge Flames if (sTag == "fx37" || sEnd == "fx37") { eEffect = EffectVisualEffect(VFX_DUR_INFERNO); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx38 = Iounstone Blue if (sTag == "fx38" || sEnd == "fx38") { eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_BLUE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx39 = Iounstone Green if (sTag == "fx39" || sEnd == "fx39") { eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_GREEN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx40 = Iounstone Red if (sTag == "fx40" || sEnd == "fx40") { eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_RED); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx41 = Iounstone Yellow if (sTag == "fx41" || sEnd == "fx41") { eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_YELLOW); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx42 = Magical Resistance Globe if (sTag == "fx42" || sEnd == "fx42") { eEffect = EffectVisualEffect(VFX_DUR_MAGIC_RESISTANCE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx43 = Stone Skin Look if (sTag == "fx43" || sEnd == "fx43") { eEffect = EffectVisualEffect(VFX_DUR_PETRIFY); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx44 = Pixie Dust if (sTag == "fx44" || sEnd == "fx44") { eEffect = EffectVisualEffect(VFX_DUR_PIXIEDUST); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx45 = Barkskin Effect if (sTag == "fx45" || sEnd == "fx45") { eEffect = EffectVisualEffect(VFX_DUR_PROT_BARKSKIN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx46 = Premonition Globe if (sTag == "fx46" || sEnd == "fx46") { eEffect = EffectVisualEffect(VFX_DUR_PROT_PREMONITION); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx47 = Black Shadow Skin if (sTag == "fx47" || sEnd == "fx47") { eEffect = EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx48 = Protection From Elements if (sTag == "fx48" || sEnd == "fx48") { eEffect = EffectVisualEffect(VFX_DUR_PROTECTION_ELEMENTS); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx49 = Protection From Evil (Yellow Moving Lights) if (sTag == "fx49" || sEnd == "fx49") { eEffect = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MAJOR); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx50 = Protection From Good (Red Moving Lights) if (sTag == "fx50" || sEnd == "fx50") { eEffect = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx51 = Smoke if (sTag == "fx51" || sEnd == "fx51") { eEffect = EffectVisualEffect(VFX_DUR_SMOKE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx52 = Small Web if (sTag == "fx52" || sEnd == "fx52") { eEffect = EffectVisualEffect(VFX_DUR_WEB); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //fx53 = Massive Web if (sTag == "fx53" || sEnd == "fx53") { eEffect = EffectVisualEffect(VFX_DUR_WEB_MASS); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); } //Increment the variable that tells us which object to look at.. nCount++; //Coninue to look for the next valid object.. oThing = GetNearestObject(OBJECT_TYPE_PLACEABLE, oRefPoint, nCount); } } } } //////////////////////////////////////////////////////////////////////////////// /////////////MAIN SCRIPT END/////////////////////////////////////// /////////////////////////////////////////////////////