How do I stop the animation of the dwemer machines?

Post » Fri Feb 04, 2011 6:04 am

Okay, so I'm wanting to use these dwemer activators for the blacksmith in Pelagiad Expanded. My concern is that when his shop closes, I want the machines to stop working for the night. I clicked on the little flags and unchecked the Active box and set the Loop Mode to "clamp" instead of "cycle". And with the script removed from it, the dwemer machines don't make any sounds, or have any animations.

The problem now is that the steam is at a standstill as it's coming out of the dwemer machines, as if time stopped or something.

I found the texture for the steam in NifSkope. Is there some way to stop it from emitting out of the machine like that? I tried deleting that texture box but I got a CTD when I started the game. It looks just like http://img839.imageshack.us/img839/2243/33650790.jpg in-game, as if the steam were frozen in time.
Here's the Nifskope: http://img839.imageshack.us/img839/1544/86079072.jpg


I also need help with writing a script that enables "Activator Day" from 0800 - 2000 and disables it from 2000 - 0800 and enables "Activator Night" from 2000 - 0800 and disables it from 0800 - 2000. Would someone help me write a base script for that? Pretend the coordinates are 0,0,0 and the rotation values are 0,0,0. I can change them from there, as both activators will need to be in the same positions at the same rotations so that it looks like the same object is just turning off at night and starting up in the morning.
User avatar
Naomi Ward
 
Posts: 3450
Joined: Fri Jul 14, 2006 8:37 pm

Post » Fri Feb 04, 2011 9:26 am

You need to delete the whole of Node 14 (Blizzard01) and probably node 12 (Blizzard01 Emitter).
User avatar
saxon
 
Posts: 3376
Joined: Wed Sep 19, 2007 2:45 am

Post » Fri Feb 04, 2011 5:36 am

about the script,

begin ActivatorDayScriptIf GameHour > 8    if GameHour < 20        if GetDisabled == 1            enable        endif    endifendifend


begin ActivatorNightScriptIf GameHour <= 8        if GetDisabled == 0            disble        endifelseif GameHour >= 20        if GetDisabled == 0            disble        endifendifend

User avatar
Tania Bunic
 
Posts: 3392
Joined: Sun Jun 18, 2006 9:26 am

Post » Fri Feb 04, 2011 4:29 am

You need to delete the whole of Node 14 (Blizzard01) and probably node 12 (Blizzard01 Emitter).

Doing that didn't work. The construction set froze and then crashed. I tried deleting just the word Blizzard01 and then I tried just deleting the entire phrase NiBSParticleNode. I then tried just going into the Block Details and changing the Translation and Rotation values to 0.0000 or 1.0000 so see if I could just make that steam very very small and hidden within the object. But none of these worked and just froze the construction set.
How else can I get rid of that steam? Would I need another program like 3DSmax? Would it be easier to just make the steam mesh very small and hide it in the object?

http://img580.imageshack.us/img580/7668/node12deleted.jpg
http://img707.imageshack.us/img707/1139/node14deleted.jpg
http://img137.imageshack.us/img137/5725/node17deleted.jpg
User avatar
Ernesto Salinas
 
Posts: 3399
Joined: Sat Nov 03, 2007 2:19 pm

Post » Fri Feb 04, 2011 7:37 am

about the script,

begin ActivatorDayScriptIf GameHour > 8    if GameHour < 20        if GetDisabled == 1            enable        endif    endifendifend


begin ActivatorNightScriptIf GameHour <= 8        if GetDisabled == 0            disble        endifelseif GameHour >= 20        if GetDisabled == 0            disble        endifendifend




How are those scripts supposed to work?

I tried doing this and they were both still there in the cell.

Begin 1_ActivatorDayScriptIf GameHour > 8    if GameHour < 20        if GetDisabled == 1            enable "PE_furn_dwrv_fitting40" 1        endif    endifendifEnd


Begin 1_ActivatorNightScriptIf GameHour <= 8        if GetDisabled == 0            disable "PE_furn_dwrv_fitting40OFF" 1        endifelseif GameHour >= 20        if GetDisabled == 0            disable "PE_furn_dwrv_fitting40OFF" 1        endifendifEnd

User avatar
Nicholas C
 
Posts: 3489
Joined: Tue Aug 07, 2007 8:20 am

Post » Fri Feb 04, 2011 8:16 am

Doing that didn't work. The construction set froze and then crashed. I tried deleting just the word Blizzard01 and then I tried just deleting the entire phrase NiBSParticleNode.


right click the NiBSParticleNode, block, remove branch

How are those scripts supposed to work?



make 2 scripts exactly like the ones I wrote.
Attach a script to the animated item, and the other to the static item. Then, place both items in the same place. So, when one is enabled, the otehr is disabled.
User avatar
Emilie Joseph
 
Posts: 3387
Joined: Thu Mar 15, 2007 6:28 am

Post » Fri Feb 04, 2011 7:55 am

right click the NiBSParticleNode, block, remove branch
Gasp! It worked! Thank you!! I



make 2 scripts exactly like the ones I wrote.
Attach a script to the animated item, and the other to the static item. Then, place both items in the same place. So, when one is enabled, the otehr is disabled.


You spelled "disable incorrectly on lines 3 & 7; don't know if that was intentional but I had to change it in the script. Both objects are activators. PE_furn_dwrv_fitting40OFF disappears during the day as it should, but then it never reappears. It should disable during day and enable during night and the process should continue indefinitely. PE_furn_dwrv_fitting40 doesn't disable at night time. It's there the entire time and I'm starting a new game each time I test this. And I used the daytime script the exact way you wrote it and it's attached to the activator. See: http://img180.imageshack.us/img180/4427/31848525.jpg

Begin ActivatorNightScriptIf GameHour <= 8        if GetDisabled == 0            disable        endifelseif GameHour >= 20        if GetDisabled == 0            disable        endifendifEnd

User avatar
Ebony Lawson
 
Posts: 3504
Joined: Fri Feb 16, 2007 11:00 am

Post » Fri Feb 04, 2011 4:29 pm

touchè :facepalm:

begin ActivatorDayScriptIf GameHour > 8    if GameHour < 20        if GetDisabled == 1            enable        endif    endifendifIf GameHour <= 8        if GetDisabled == 0            disable        endifelseif GameHour >= 20        if GetDisabled == 0            disable        endifendifend






begin ActivatorNightScriptIf GameHour > 8    if GameHour < 20        if GetDisabled == 0            disable        endif    endifendifIf GameHour <= 8        if GetDisabled == 1            enable        endifelseif GameHour >= 20        if GetDisabled == 1            enable        endifendifend

User avatar
Alkira rose Nankivell
 
Posts: 3417
Joined: Tue Feb 27, 2007 10:56 pm

Post » Fri Feb 04, 2011 2:22 am

It works! Thank you! The only thing I need now is to put back in their original sound scripts. Four of the five dwemer machines use the machinery script and the fitting object uses the steam script. How would you fit these simple scripts in with the enabling script? Do they go first or at the end?

Begin Sound_Machineryif ( CellChanged == 0 )	if ( GetSoundPlaying "Machinery" == 0 )		PlayLoopSound3DVP "Machinery", 1.0, 1.0	endifendifEnd


and

Begin Sound_Steamif ( CellChanged == 0 )	if ( GetSoundPlaying "Steam" == 0 )		PlayLoopSound3DVP "Steam", 0.5, 1.0	endifendifEnd

User avatar
sw1ss
 
Posts: 3461
Joined: Wed Nov 28, 2007 8:02 pm

Post » Fri Feb 04, 2011 8:41 am

add a if disabled == 0 condition in both sound script and put them into the other script.
here an example.



begin ActivatorDayScriptif ( CellChanged == 0 )	if GetDisabled == 0	if ( GetSoundPlaying "Machinery" == 0 )		PlayLoopSound3DVP "Machinery", 1.0, 1.0	endif	endifendifIf GameHour > 8    if GameHour < 20        if GetDisabled == 1            enable        endif    endifendifIf GameHour <= 8        if GetDisabled == 0            disable        endifelseif GameHour >= 20        if GetDisabled == 0            disable        endifendifend

User avatar
Gaelle Courant
 
Posts: 3465
Joined: Fri Apr 06, 2007 11:06 pm

Post » Fri Feb 04, 2011 3:38 am

Whoops, I forgot to ask about disabling the sound too. The machinery sound needs to be disabled from 2000 - 0800 and enabled from 0800 - 2000. Would you write that out too please?
User avatar
John N
 
Posts: 3458
Joined: Sun Aug 26, 2007 5:11 pm

Post » Fri Feb 04, 2011 1:50 pm

begin ActivatorDayScriptif ( CellChanged == 0 )	if GetDisabled == 0		if ( GetSoundPlaying "Machinery" == 0 )			PlayLoopSound3DVP "Machinery", 1.0, 1.0		endif	else		if ( GetSoundPlaying "Machinery" == 1 )			StopSound "Machinery" 		endif	endifendifIf GameHour > 8    if GameHour < 20        if GetDisabled == 1            enable        endif    endifendifIf GameHour <= 8        if GetDisabled == 0            disable        endifelseif GameHour >= 20        if GetDisabled == 0            disable        endifendifend

User avatar
Tikarma Vodicka-McPherson
 
Posts: 3426
Joined: Fri Feb 02, 2007 9:15 am

Post » Fri Feb 04, 2011 7:27 am

You're awesome! I put your name in the readme for credit. Thank you so much! :celebration:
User avatar
Kelvin
 
Posts: 3405
Joined: Sat Nov 17, 2007 10:22 am


Return to III - Morrowind