antstubell Posted October 19, 2020 Share Posted October 19, 2020 (edited) I'm using BFXFireVol01 which is large volume of moveable static fire but doesn't actually do any fire damage. It's advantage is that I can translate it. In this scenario moving ever closer to the player. I'm using the trigger box DB10FireTrigger to cause damage to the player. Disadvantage of this is that trigger boxes can't be translated so I set up about 5, when each one is enabled it reduces the space in which player is safe from burning making player back themselves eventually into a wall. Then stuff happens and all is good, just a little singed. Problem with enabling these fire damage triggers is that it 'jerks' the player back. Sometimes the fire volume is ahead of the fire damage box and vice-versa. So player can notice "Hey, I'm standing in fire and nothing happens." Other times "WTF, I'm burning and the fire isn't near me... yet." I don't think this can be scripted but I am frequently wrong.You see the dilemma. A translatable fire damage 'thing' would be super useful but alas I know not of one. That sounded Shakespearian that last bit.Ideas, help please. Edited October 19, 2020 by antstubell Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 19, 2020 Share Posted October 19, 2020 At each "step" that the fire takes have a fire explosion go off. Design the explosion to be able to damage the player. In game it would have the appearance that the fire sends out an explosion with each move. You may have to give a little bit of time between translation steps to ensure that the explosion completes before the next translation step. Link to comment Share on other sites More sharing options...
antstubell Posted October 19, 2020 Author Share Posted October 19, 2020 Mmm. Still can see the 'jerky-ness' happening. The fire volume translates very smoothly. Maybe I'll make some invisible collision (no object collision) and force player back. Shame this can't be done without a great deal of effort. Link to comment Share on other sites More sharing options...
dylbill Posted October 19, 2020 Share Posted October 19, 2020 These Spawnable Triggerboxes might be able to help you out: https://www.nexusmods.com/skyrim/mods/61245/? It's for LE, not sure if they work on SSE. Link to comment Share on other sites More sharing options...
maxarturo Posted October 19, 2020 Share Posted October 19, 2020 Extract the "Poison Bloom" nif, from the nif copy the invisible "Trigger Collision" (bhkSPCollisionObject), attach the "Trigger Collision" to the BFXFireVol01 which you will make it an activator. Now your "Fire" can run an "OnTriggerEnter" event. * Use the 'TranslateToRef()' function. Link to comment Share on other sites More sharing options...
antstubell Posted October 20, 2020 Author Share Posted October 20, 2020 Can't just copy the bhkSPCollisionObject have to copy the NiNode that contains it or Nifskope errors. With that said even after copying the NiNode with collision successfully when attempting to add it to CK as an activator or moveable static it causes fatal error and crashes to desktop. Link to comment Share on other sites More sharing options...
maxarturo Posted October 20, 2020 Share Posted October 20, 2020 (edited) You are clearly not doing something right, i'm saying this because i've done it and it's fully functional on my end. Explaining it in a written post is something that needs time, which currently i don't have... sorry. Try it the other way around, copy all the fire mesh's stuff to the 'Poison Bloom', then delete all the 'Poison Bloom' related stuff, but not the "bhkSPCollisionObject". Have a pleasant day. Edited October 20, 2020 by maxarturo Link to comment Share on other sites More sharing options...
IsharaMeradin Posted October 21, 2020 Share Posted October 21, 2020 When copying things over from one mesh to another, it has been my experience that the source NiNode and target NiNode need to have the same text label. So, try renaming one of them to match the other, then copy necessary stuff. Link to comment Share on other sites More sharing options...
antstubell Posted October 21, 2020 Author Share Posted October 21, 2020 (edited) There are 3 entries for poison bloom. 1 is an ingredient, I doubt maxarturo means this, other 2 are activators. DLC1TrapPoisonBloom01 and DLC1TrapPoisonBloomGas. Which one are you referring to?EDIT: The objects have to be copied from the poison bloom to the fire volume because the fire volume is a moveable static, the poison bloom is an activator. I doubt i can translate an activator. I could be wrong but doubtful, Edited October 21, 2020 by antstubell Link to comment Share on other sites More sharing options...
maxarturo Posted October 21, 2020 Share Posted October 21, 2020 (edited) You can also do this in another way, this is just the break down of the idea: - Place an "xMarkerActivator" and add to it a script like this one. * This is an example script that i wrote while i was eating and had no time to think it further, i had to leave for work while i was still chewing... If anyone else can take a look at it for any 'Typos', and even expand it further for antstubell. Actor Property ActorPlayer Auto ObjectReference Property MouvableFire Auto keyword property DB10MagicHeavyFire auto Explosion Property DB10TrapFireTriggerExplosion01 auto AUTO STATE StartFire EVENT OnActivate(ObjectReference akActionRef) RegisterForUpdate(1.0) GoToState("StopFire") ENDEVENT ENDSTATE EVENT OnUpdate() If ( ActorPlayer.GetDistance(MouvableFire) < 512 ) If !( ActorPlayer.HasMagicEffectWithKeyword(DB10MagicHeavyFire) ) ActorPlayer.PlaceAtMe(DB10TrapFireTriggerExplosion01) EndIf EndIf ENDEVENT STATE StopFire EVENT OnActivate(ObjectReference akActionRef) UnregisterForUpdate() Self.Disable() Self.Delete() ENDEVENT ENDSTATE - When your "Fire" starts moving the same script that moves the 'Fire' will send an 'Activate' to the xMarker, the same script will also send a second 'Activate' to the xMarker to stop the function when your "Fire Scene" stops / finishes. * The timing and distance needs some tweaking so that it has a realistic behavior. * If the 'Timing' is small, then the script as it is will malfunction, in this case you will need to remove the: If !( ActorPlayer.HasMagicEffectWithKeyword(DB10MagicHeavyFire) ) otherwise the explosion will be placed only 1 time and no further, because the 'Update' will land each time before the explosion has ended. Have a pleasant day. Edited November 22, 2020 by maxarturo Link to comment Share on other sites More sharing options...
Recommended Posts