Aller au contenu

Photo

Time Stop, yes, Time Stop.


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1
FaerzressSparkles

FaerzressSparkles
  • Members
  • 219 messages

Since I got Dimension Door to work, I thought I would try to get another spell I miss from NWN and Infinity Engine games. Time Stop works in NWN2, though in its current form, needs some adjustments.

 

Is there any way to freeze all other creatures in an area without freezing the caster? What about temporarily turning the area black and white via script? I know you can do this in the toolset. I was thinking of spawning lights or something to try and make it happen. I am not the most knowledgable person when it comes to NWN2 scripting, so any input from you gurus out there will be appreciated!

 

This is the Bioware script as it is in NWN2. You can still move and begin casting spells, but your animations are frozen in the spell's current form.

 

 

//::///////////////////////////////////////////////
//:: Time Stop
//:: NW_S0_TimeStop.nss
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    All persons in the Area are frozen in time
    except the caster.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 7, 2002
//:://////////////////////////////////////////////
 
#include "x2_inc_spellhook" 
 
void main()
{
 
/* 
  Spellcast Hook Code 
  Added 2003-06-20 by Georg
  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
    location lTarget = GetSpellTargetLocation();
effect eVis = EffectVisualEffect(VFX_FNF_TIME_STOP);
    effect eTime = EffectTimeStop();
    int nRoll = 1 + d4();
 
    //Fire cast spell at event for the specified target
    SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELL_TIME_STOP, FALSE));
 
    //Apply the VFX impact and effects
    DelayCommand(0.75, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTime, OBJECT_SELF, 9.0));
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lTarget);
}
 


#2
andysks

andysks
  • Members
  • 1 650 messages

The desaturate factor in the area properties can change it to black and white. However, it's probably impossible to apply it with a script.



#3
FaerzressSparkles

FaerzressSparkles
  • Members
  • 219 messages

The desaturate factor in the area properties can change it to black and white. However, it's probably impossible to apply it with a script.

 

That is what I thought. I have used that effect in areas before, but there seems to be no way to do that via script. I will probably work on new vfx for the spell in that case. Maybe some type of fog or accent to the area to give a feeling of time stopping.



#4
kamal_

kamal_
  • Members
  • 5 250 messages

The desaturate factor in the area properties can change it to black and white. However, it's probably impossible to apply it with a script.

Correct. You will need to use some form of vfx on the area affected. My suggestion would be to use something like invisibility sphere, which uses a projected additive texture (and change it to not be ground only in the checkbox for it), and change the base texture it applies to the fx_blurry_dot or something instead of the ring. That would mark the area and all the creatures in it.



#5
FaerzressSparkles

FaerzressSparkles
  • Members
  • 219 messages

Any ideas on how to make it work so that the caster is still animated? That is the worst problem with the spell. I haven not been able to find anything in scripting lists and websites like http://www.nwnlexico...title=Main_Page. Surely there is some way to do something that simple.



#6
Dann-J

Dann-J
  • Members
  • 3 161 messages

The only way to achieve a decent time stop effect would be to abandon the EffectTimeStop() function and script everything from scratch. You'd still be unable to stop water, grass, trees, animated placeables, lerping lights, VFX, or clouds from continuing to animate. Not to mention game time from advancing.



#7
FaerzressSparkles

FaerzressSparkles
  • Members
  • 219 messages

What about removing the effect on the PC? I am going to try that. It seems that timestop can be removed that way, I am just not sure if this will work as I want it to. I will test it.