-
Posts
40 -
Joined
-
Last visited
Everything posted by CALEB2
-
Just wanted to give an update - I finished the mod (actually some time ago). Solved all problems and now everything is working perfectly. (Using animated mesh and modified behavior) Thanks for everyone who helped me. The updated mod is uploaded to Nexus.
-
So, it seems that nif animations can only work in game if the main node in the nif is BSFadeNode, but by default the automatons use NiNode. If I convert this NiNode to BsFadeNode, game and CK crash. Is there any way to force nif animations work in game when the main node is NiNode ?
-
It's the NiControllerManager. If that's inside the BSFadeNode (even just empty NiControllerManager), it causes CTD (That's why the nif must be NiNode) Any way to make it work ? UPDATE: It seems to crash only if I use the nif with BSFadeNode to replace the steamcenturion. If I use the same mesh to replace one of the magic tablets, there is no crash.
-
Update: Animations show up in CK when I convert the mesh to BSFadeNode. Then the animations show up when I open the file by right-click, "open with CK" (copying it into the data, meshes before) But, if I load up the CK, and then open the preview, the CK crashes. Also it crashes the game when I use BSFadeNode instead of NiNode. So the problem is, that in order to play the animations, the mesh should be BSFadeNode. But then it crashes. When I convert it to NiNode, it does not crash, loads in game, but not animating. crap...
-
Ok, I managed to create the test environment. (Used Breezehome). Now I can load saved game that's made outside the Breezehome (made the save before activating the test mod), then I go inside and the centurion is there. So this all works. Into the script I added debug messages for every event and the messages show on top left on the screen. But the centurion is still showing only the first animation from the sequence. I checked over ten times at least - everything is correct, it should work. Then I discovered that no matter what I write into the script in the lines Self.PlayAnimation, debug messages still play. (Obviously because the messages are tied to the events, not animations) So I tried different lines. For example: Self.PlayGamebryoAnimation("playanim05") <-used animation order number Self.PlayGamebryoAnimation("AnimPulse") <-used animation name Self.PlayAnimation("AnimPulse") <-used animation name Self.PlayAnimation("playanim05") <-used animation order number Self.PlayAnimation("xxx") <-used random letters to check if it's about the correct line or not Non of these worked, just the debug messages showed. It seems to me that the script can not trigger the animations. At least the test environment works, script is attached to the actor correctly and detects events correctly. Do I have to add something like this in the script: bool Function PlayAnimation(string asAnimation) native or bool Function PlayGamebryoAnimation(string asAnimation, bool abStartOver = false, float afEaseInTime = 0.0) native or RegisterForAnimationEvent or SendAnimationEvent or some other things ? The scripts for the "magis tablets" seem more complicated: http://www.filedropper.com/tablets And in the CK in Preview Object window the nif animations are not showing up (should show up as "Gamebryo Animations"). I even tried with some animated nif tutorial - ceated an animated nif step-by-step, still not showing in CK. Are there any extra steps to be made in CK ?
-
Well, I know how to create animations. That's not too complicated. If you know how, it's actually easy. The current nif's animations have been set up exactly like the ones in the "magic tablets" (built, not copied) + added one additional animation into the sequence. If the tablets work, then my nif works too. Nifskope CAN be used to check if the animation sequence is correct. All I have to do is to compare it (and understand how and what) with some other nif that's working. (As I did) I am certain, that the problem is that I have set up the script wrongly in CK. It would be much easier If I knew how to extend this animation script for activemagiceffect, not actor. If you don't have time for this, I understand. Good luck with your massive project.
-
The sequence is ok. If I put animations to play, I can see that it switches through every animation in nifskope. (Nifskope is something I am much more experienced in.) With the script the actor shows the first animation only. I suspect that either something is missing from the script, or I have set it wrong in CK. (I know how to set script for activemagiceffect, but if setting it for actor, I'm not so sure anymore) As I said - scripting and CK are exception for me. I usually mod models and textures. That doesn't mean I'm dangerous. lol I never release anything before testing it thoroughly and confirmed by other testers it's working. You can see from my currently uploaded mod, that it works perfectly. (With the limitations I mentioned at the beginning of this topic, nothing dangerous or game breaking) Is the script I posted in my previous post (in yellow) all that needs to be ? No conditions to be set or something like that ?
-
If you bet 100$, you lose. My nif is working just fine. And it's the opposite - it doesn't seem to work in nifskope, but it works in game. How do I know ? - Simple, if there are animations in nif, the first animation plays in game by default, if no script is attatched. So I tested by changing the animations orders to first in nif and loading the game - the animations worked. Other users have confirmed this. At first there were some problems like CTD and game freeze, but I fixed them all. (I can send you the nif so you can check it out.) I'm not offended, I just need some information about the script. (Sripting and CK are the things I'm not very experienced with)
-
Thanks for helping me. I have no idea how to create test actor or test cell or test esp, and how to use them. It's easier for me to test in game. (Current mod I'm working on, is an exception - I usually work on models, textures and effects only) In the object window, there are no dwemer actors directly in the actors list under the name dwemer or dwarven. Only the custom ones that are under the name DwarvenCenturionRace, DwarvenSphereRace, DwarvenSpiderRace, ect. There are, however LvlDwarvenCenturion (and others like this) - these are the leveled actors I presume ? I tested with the LvlDwarvenCenturion, added the script in the Sripts window, but it did not work in game. Do I have to add Properties to the script ? Do I have to add something ? I replaced the animation names with animation order numbers - that's how the "magic tablets" are set up. (Did not work either way) This is the whole script: Scriptname AUTOMATON_GLOW extends actor EVENT OnLoad() Self.PlayAnimation("playanim05") ENDEVENT EVENT OnCombatStateChanged(Actor attacker, int aeCombatState) If ( aeCombatState == 1 ) Self.PlayAnimation("playanim02") Utility.Wait(2.0) Self.PlayAnimation("playanim03") EndIf ENDEVENT EVENT OnDying(ACTOR killer) Self.PlayAnimation("playanim04") ENDEVENT EVENT OnDeath(Actor killer) Self.PlayAnimation("playanim01") ENDEVENT
-
Ok, now it worked. But this way I guess I cannot add the script to the race ? What's a "Base Actor" ? What are the base actors for all the Dwemer automatons ?
-
Now I have a working nif, and I think I know where to attach the script in CK. (I'll attatch spell to race, magic effect to spell and script to magic effect) There are 5 animations in the nif. (in this order): AnimIdle01 (no glow) AnimTrans01 (glow fades in) AnimIdle02 (full glow) AnimTrans02 (glow fades out) AnimPulse (pulsating glow) I need to make a script that has following properties: Non-living, clutter or scrap type automatons use AnimIdle01 (no glow), automatons in sleeping state or on the loading stand (centurions) use AnimPulse, when waking up, use AnimTrans01, when alive (not dead) use AnimIdle02 (full glow), when dying, use AnimTrans02 (glow fades out). Can I use these animation sequences in the script directly, without creating the hkx files ? (There is no movement, just some glow strength changes) What do I need to write into script properties and variables sections ?
-
Ok, I got it working visually like I need by using BSEffectShaderProperty instead of BSLightingShaderProperty. There is however a problem - now all animation sequences are the same. No matter how I change the keys. NiControllerManager is completely ignored now
-
I still need to create the plugin. (I haven't done anything like this before) And there is one thing I have to change before - instead of animating emissive color strength, I need to animate alpha. (transparency of the mesh or texture) Any advice ?
-
I have to admit - I have difficulties to get the animations to work on automaton's meshes. It's easy to get one animation work, but there seem to be complications with multiple animations (for different states) for one mesh. If compared to the tablet's meshes, there are fundamental differences. Tablets have BsFadeNode inside the nif, but automatons have NiNodes. And automatons also have BSDismemberSkinInstance (not sure if that has any effect to the animations). I copied everything from the tablets nif into the steam centurion mesh (the whole BsFadeNode) for testing, and its light effect animations worked. But when I replaced tablet's BSTriShape with my glow mapped one, light animations stopped working. Triple checked every setting and every linked reference. EDIT: got it working by copying centurion's main NiNode into the tablet's BsFadeNode and redirecting BSLightingShaderProperties to the tablet's BSTriShape. Weird, because both BSLightingShaderProperties are 100% similar. Haven't tested in game yet - needs a new plugin and a script.
-
Sorry, my bad. didn't know what the school of magic means in this context. I thougth it could mean any effect that's applied to these tablets. I haven't really played the game in a long time (years), some things are starting to be forgotten - what I do is modding and testing all the time. Thanks for the info.
-
I've been searching those tablets in Labyrinthian, but I only found one "Etched Tablet" that has some text on. But that's just a simple mesh without any special properties. In CK it has some scripts attatced to it, but again, nothing special. I guess it's the wrong tablet. The tablet I found: https://en.uesp.net/wiki/File:SR-Place-Etched_Tablet.png I have completed the game and the quest that leads to Labyrinthian, so the right kind of tablets may not be available to me anymore. Exact location of these tablets could be a huge help.
-
Thanks ! I already have made some animated meshes with flickering glow effect - just need to adjust them. Question about swapping meshes - is it maybe possible to add a combined effect ? After swapping glow mesh with regular mesh, apply glow fx to that regular mesh and at the same time disable it (fading away effect is in the glow mesh already) If that's impossible, I will try the animated mesh option. I'm fast learner. Wher are those magic tablets in game ?
-
I got it partially working without script. (using GetDead != 1 as spell condition) The spell is applied as ability. What works: living automatons glow and non-living (clutter) automatons are not glowing. And when I kill an automaton, the glow disappears slowly. But there is still the problem with glow disappearing instantly when automaton gets hit by fire or lightning. Is there any way to reset or re-apply the glow on such occasion ? And another thing - I wish to apply different glow (dimmer and pulsating) when automatons are not moving. With GetDead != 1 there is only one glow effect active. If I use any other condition instead, there is no glow at all. If these problems cannot be solved in plugin, I'd like to know how to replace the mesh (nif file) with script. I have mesh A and mesh B. how does the swapping look like in script ? Mesh with glow should be loaded when living automaton gets detected and upon death the mesh without glow should be loaded. (Without any disappearing-reappearing) And there should be slow fade away effect. Desired result: Automatons that are in sleep state or stationary, use one effect (dim and pulsating), automatons that are active and move, use another effect (full constant glow), automatons that are dead by default (never been alive) must remain without glow, when kiling automatons, the glow must disappear slowly. when hitting automatons with fire or lightning, the glow should not disppear. Is this doable with swapping meshes or with mesh animations ?
-
I have glow mapped textures for very specific areas for the automatons. Only certain patterns must glow. This needs the textures. If I can ditch the script, very good. I have FX Persist checked, also Hit Shader (set as my effect shader that has the textures) Target conditions I added GetDead == 0 What should I set as the Effect Archetype if I want to get rid of the script ? (currently it's set as script)
-
About the membrane shader from the spell overriding the one I've applied - I tried the option "Allow multiple membrane Shaders" in CK, but that didn't help. Is there some option to disable the membrane shader from spell ? Or re-apply my membrane shader automatically again after it has been overridden ? My experience with scripting is quite new. How to use the condition GetDead != 1 ? I found some examples like: if player.getdead==1 and if getdead == 0 What's the right usage ? Is it an event or a function ? As I understand. the number must be 0, not 1, because I need to get the "alive" state (as in not dead.) Is it like this: Function GetDead() If _Self.IsDead = 0 LoadGlow() EndIf EndFunction
-
I'm trying to make a script that adds glow to Dwemer automatons. (As an update to my already existing mod) Introduction: My mod currently uses membrane shader that covers automaton glow when automaton dies. (Automatons have glow maps attached to meshes) This method works perfectly, however there are few things that are bad - 1. The effect must remain constant after automatons have been killed. 2. Already dead automatons (not the static ones - but the not active, never been alive ones) are glowing, because they use the same mesh as living ones. 3. When using ENB, the glow shines a bit through the membrane shader after automaton gets killed. (depends on the ENB settings) 4. The membrane shader uses texture, but the problem is that the texture, when added as a membrane, looks too dark in the places with bright light and too bright in the darkness. Solution - turn this thing around. In my update I removed the glow maps from the meshes and I use the membrane shader texture as glow. This way I can apply the glow to the active automatons only and when the automaton dies, the membrane shader gets removed slowly, making the glow disappear. Now the problem I'm having with the membrane shader: I need a simple way to detect if actor is alive. There is a script to detect if actor is dead, but not if the actor is alive. I'm using all kinds of different states to emulate this. But it's not working in every occasion. I need a 100 % working solution that's simple, just one state in script. What is the simplest way to determine if actor is alive ? And the worst problem: when my script works, everything seems fine - automaton glows and if I kill it, the glow disappears slowly. But - when I hit the automaton with fire or lightning, the glow disappears instantly. (even when the automaton doesn't die) It does not happen when I hit the automaton with a regular weapon or frost impact. Only when the weapon or spell does fire or shock damage. How to prevent this ?
-
SSE How to swap NPC mesh when NPC dies ?
CALEB2 replied to CALEB2's topic in Skyrim's Creation Kit and Modders
First - I had my glow mapped meshes. Then I created the plugin that applies additional textures over the glow map, shading it. There is also a script that gives plugin the necessary info about the status of the NPC and then the plugin can apply the texture, using different alpha values. (Constant magic effects with a custom texture and different alpha values) The higher the alpha value, the more opaque is the texture and weaker the glow. When I fight the automatons, their glow maps are bright, and when I kill them, the glow is fading slowly away. (Actually the additional texture that covers the glow map, becomes more and more opaque, while the plugin applies different effects with different alpha values based on the info from the script.)