Jump to content

Ceruulean

Members
  • Posts

    261
  • Joined

  • Last visited

Everything posted by Ceruulean

  1. Animations aren't saved so you can replace them and their behavior files whenever you want. However, the "female use male animations," an NPC flag, if checked on an NPC (like some orcs and Delphine) is permanent once the NPC has loaded in your game.
  2. RaceMenu has options to increase eye size and widen eyelids, but I'm not sure if it works for Argonians. However, it's not compatible with ECE.
  3. Some updates: In Data\meshes\animationsetdata\xxxprojectdata, the game needs an existing file for the precache to work. So in the case of a custom dragon, the name of the files in that folder are still "dragonproject.txt" and "fullcharacter.txt" In animationSetDataSingleFile.txt, the entry has to end with "dragonproject.txt" or similar. A custom named file like "MyDragonProject.txt" will not work. It seems ok, but in the Helgen scene Alduin glitches and does not land on the tower until I remove the altered asdsf. He can still shout and the quest will progress, but he flies past the tower and stays frozen in the air until his AI package changes. Unfortunately, I believe this is a bad sign and trying to add a clone of the dragon behavior messes the normal dragon AI. I guess the engine reads the file name and not the complete path, so two dragonprojects.txt will conflict. I've tested some dragons and it seems the game is reading from my custom behavior file for vanilla dragons! (my behavior is in a different folder than the vanilla files...) This frustrating method of my-way-or-highway is also the case for Movement IDs, where if you change the ID the game won't recognize it and use the default MTs even if you assign a custom MT to a race's Movement Data. Otherwise, when you keep the ID the same as vanilla the game overwrites the vanilla MT with your custom MT. Changing the horse MT breaks Helgen's cart scene but otherwise isn't too detrimental. Changing a dragon's MT; they would fly slower so some people may not like it. EDIT: Ok, I found a way to get the CK to recognize a custom-named behavior graph, which solves the filename conflict mentioned above. Downside is, the game does not register any ActorAction. No moving, no jumping. However, sending animation event console commands work! The behavior itself is integrated! Could the final component be SpeedDataSingleFile.txt?! Unfortunately, that file is indecipherable. I hope we don't need that file, but since none of the movement is working, that might be the link to game movement/action.
  4. I think there was a Wyre Bash option that allowed you to craft in combat
  5. Actor skins are a type of armor. Armor addons contain mesh and texture data. Where you see the filepath to the mesh, click "Select" and a new window will pop up. You can change the texture of individual parts of the mesh for that particular armor addon.
  6. The Story Manager can start quests on certain events if the conditions are fulfilled. I think this is how 3dNPC makes follower commentary. You can create custom scripted events if the default options aren't enough (no skse needed). For responding to a vanilla quest without altering vanilla forms, you'd have to track when the quest starts, or have a condition on regular dialogue to only be spoken when the quest is active. Story manager has events like "Player obtain item" or something like that, which should help with your item acquisition trigger. The vanilla game uses trigger boxes in dungeons to activate the "is it safe?" and "beautiful view" dialogue.
  7. Right click "Use Info" on the NPC, find the quests he is related to, open those quests, export dialogue to a txt file; it tells you all the file paths. Then google how to record dialogue for skyrim.
  8. Yes, you can read behavior files to find the animation events that have a transition in a state. (List of programs to get started) If you are lucky, there would be variables attached to certain parts of the file so you can simply change the variable values by script to disable animations (stuff like bNoStagger == false would probably disable staggering, for example). Check the Updates.bsa or Dawnguard.bsa since crossbow animations are from DLC. Animations and behaviors are found in meshes/actors/character.
  9. Haha, I can edit the graph, but not its filename. I copied behavior files into a new race but they still have the same name ("MyRace/behaviors/dragonproject.hkx" versus "dragon/behaviors/MyBehaviorFile.hkx"). Changing the name of the .hkx got me a root error...
  10. I have no idea without downloading your whole data directory and checking myself. What animation are the jarls playing? If they're T-boning then it's one issue, but if they're sitting maybe they aren't slouching as much as you thought.
  11. If you want the creature to cast spells and shout with animations, then you have to edit the behavior files. Otherwise, they can use lesser powers. Add lesser power to their arsenal, then create or assign a CombatStyle favoring magic. You can also attach spells to the melee attacks. Here's a mod with a creature that casts: http://www.nexusmods.com/skyrim/mods/10304/? Attaching spell to melee attacks (take a look at transformation section): http://www.nexusmods.com/skyrim/mods/31485/?
  12. There's FNIS which is the best for your single custom animation for the priest. Now a custom creature... Creating new animations has a lot of tutorials, but you're basically going to need 3DSMax and official Havok tools, or if you're using the free Blender, you should take a look at Anton's tools. I'm not an animatior so I have no clue how to make them, but there's plenty of animation replacers so its possible. The tricky part is making sure the animations sync well and implementing them. Animations follow a behavior graph (.hkx) and I've written a brief article on behavior graphs. You'll have to copy the animations and all behavior files from an existing race, then replace animations and edit the behavior if needed. When you make new animations you also need to use the same skeleton as the creature you are copying. It seems creating a completely new graph for a completely new creature is nigh-impossible; I've tried renaming the graphs but the CK does not recognize it (cannot find root or whatever, it's been a problem since 2012, where the new animations part of a totally new behavior graph play in the CK but not in-game). Lastly when you have a working behavior project, the animation events are connected by the Idle Manager, found under "Gamplay > Animations." Basically whenever the actor performs an action, like moving, attacking, the plugin sends the animation event to the behavior and the connected animations plays. Anyway, I certainly wish you luck! It's definitely possible to add unique creatures. I urge you to google the Skywind Guar; there's some hilarious videos out there.
  13. To find the Daedric cloak in Cloaks of Skyrim...
  14. OH MY GOODNESS IT WORKS WITH CUSTOM RACES I am jumping with joy right now! Thanks so much fore the help! I added an entry to animationsetdatasinglefile and created a corresponding folder in animationsetdata, then changed the fullcharacter.txt animation file paths just like in asdsf. I'm not sure what it does but since all the DLCs have done it, I thought it would do no harm since the folder is custom-named anyway.
  15. Today the google search for calulator gave me a different list than before, and I found one with seed input. I'm just dumb and I still cannot get the same values as listed in asdsf. I've tried converting string "hkx" (without quotes) to hexidecimal, setting seed to 0 on a crc calculator, messing with all sorts of parameters I don't understand lol. Does Windows Process Monitor show you how crc32 parameters are set, like how you figured Skyrim uses 0 as a seed, or was that discovered from experimenting? EDIT: Ah I found the right parameters! Oh boy, I'm excited! In case anyone is wondering: CRC calculator: http://www.zorc.breitbandkatze.de/crc.html CRC Order: 32 CRC Poly: 4C11DB7 Initial value: 000000 Final value: 000000 Check "Direct," "reverse data bytes" and "reverse CRC result before final XOR" In data sequence, you can put the string of the animation name and path as fore mentioned in this thread. Use lowercase since that seems to be the standard form. And i didn't understand his comment about "hkx" until now: the string "hkx" does not create the same checksum as the number in the animationsetdatasinglefile which is why I was stuck for a few days. Inputting "hkx" (without quotes) into the calculator returns 9E13D1FA (hex) = 2652099066 (dec). But the file lists 7891816 in the part that is assumed to be "hkx." A curiosity indeed. This process is only helpful for animation file paths and names, but that is all that's needed thankfully. Finally, the result is in hex; convert to decimal for use in the asdsf. Still have to see if asdsf will accept a new race.... Side note: I tried creating new behavior files within the existing actors/dragon folder, but even if you rename the file paths in the respective behavior files (vanilla dragon has 'dragonproject.hkx' link to 'characters/dragontest.hkx' which links to 'behaviors/dragonbehavior.hkx' and 'character assets/skeleton.hkx') and assign a race the new file paths, the CK throws an error "unable to find the root behavior." It doesn't make sense; maybe each race is confined to one set of behavior files, or maybe there's other stuff I haven't discovered...
  16. Like this one? http://www.nexusmods.com/skyrim/mods/38376 CBE still in alhpa though.
  17. Ok, so the crc is a check value. I'm guessing it works like this: When the behavior graph requests to play an animation, the game encodes the animation string into crc32, then checks the crc in the asdsf. If the encoded value matches a check value, it loads the animation from the pre-cache; otherwise it loads from the file directly. It seems most, if not all, animations are included in asdsf. All the online converters give values that are different from the ones in the file, so would that mean the game uses a custom CRC algorithm? And in order to add my own file paths I'd have to figure out the algorithm and get an integer CRC value? Well, I don't even understand half the stuff about how a CRC is calculated. Hmm, maybe an easier method would be to place the duplicate behavior project file in the same folder as the vanilla dragon actor but with a different name, then link up the new behavior files with each other. The custom race will use the altered behavior files and the vanilla dragons can continue using vanilla behavior. Why didn't I think of this before! :O Although, the asdsf file lists DragonProjectData\DragonProject.txt which means I might have to deal with pre-caches after all. I will see what happens when I have time.
  18. Sounds great, but I still don't know how to convert crc32 to readable text. I've searched for online crc convertes but they give me different values. I am missing something.
  19. Informative answer; it certainly makes sense. I noticed the blending works when I am stationary or run into a wall, but once I start moving it appears that calculations were overloading the engine, causing hiccups. This is a bummer. If I could manage to add new data entries to animationsetdatasinglefile, it would be incompatible with the FNIS generated version. However, you are able to add information to the humanoid races, so I reckon it's possible to add new race entries. There's a list of all the behavior project files, maybe I'd just have to add mine! (if only it was that simple) I'm not a programmer nor developer but I think limiting the engine to only recognize existing races would make it difficult to add DLCs, although Beth has the source code and we don't. :tongue: And to fix the blending, this is only if I could read the information in the first place... I've thought about altering the original dragon behavior but I'm afraid of breaking their AI and the flying mechanisms surrounding it. I'm curious, how do you decipher the asdsf file? Is there a program? Do you know what the additional .txt files do (Like characterroject.txt)? As far as I can tell, there's animation events that correlate with the behavior graph (like killing an actor in a killmove at x seconds), and random integers. Are they also in crc? Well, it turns out behaviors are the easy part haha. I recall someone mentioning an interview where someone asked a Skyrim dev whether it was possible for modders to make dragons playable. Apparently he said it was impossible. He was wrong, because the mod exists, but he was right, because for a true, fully functioning playable dragon, the same system used by NPC flight has to be coded for player-controlled inputs, after reverse-engineering the engine since modders don't have the source code (currently it's possible to mimic flight with an SKSE plugin). Otherwise when creating a copy of the dragon behavior graph the animations need additional processing. Phew! No wonder the Skywind development team has run into brick walls in regards to implementing custom creatures.
  20. Here's the deal: I am working on improving Burning Skies, the playable dragon race mod (http://www.nexusmods.com/skyrim/mods/25261). One of the many requests was to implement takeoff and landing animations, which was previously thought impossible. After recent progress in mods that alter behaviors, I decided to take a crack. The biggest issue was that playing these animations on the player caused the game to CTD. After looking into the behavior files, I concluded that the animation events are linked to the game engine, and the engine does not have player-controlled flight programmed into it. I made a new dragon race with a copy of the files, and changed all the names of the animation events. The animations finally play without crashing. Still, there are several problems I have encountered. One is that the Crusing state animation blending stops working properly. In the mod, flying animations blend correctly as the player turns. However, using the custom behavior, the blending works sometimes, but often goes into a T-Bone pose seemingly at random. The only difference I can think of is that the mod directly calls the FlyStartCruise event from the ground (by a weird game quirk that the previous author discovered) while the custom behavior graph actually follows the takeoff sequence and cannot start FlyStartCruiseFDR directly from the ground, and the events are renamed. Is there a way to get rid of the T-Bone? Interestingly enough, the dragon's Hover state disables player movement. I was trying to make moveStop trigger the Hover state from Cruising, which works, but I cannot return to the Cruising state even though I have set up the moveStart transition to do so. Annoyingly, I can still shout, so the controls are working, and if I type into the console "player.sendanimevent moveStart" or "player.pa (id of ActionMoveStart)" it will fire correctly. I have tried removing modifiers to catch the culprit; nothing. Does anyone have any idea why/how a state disallows player movement? Another unusual problem is that while flying with the custom race, typing 'help -insert word here-' as a console command crashes my game. This kind of instability is worrying and seems related to the custom behavior graph even though I haven't changed that much. It doesn't crash with any of the vanilla behaviors. Can this be fixed? Finally, I added new states and essentially tried creating a custom Hover state, but the game and the CK puked when I viewed the animations (changing race in-game, animation tab in CK). Since then I scrapped the file. Well, I pasted objects at a random place in the behavior file, and assigned them IDs like 9999, 9998, etc. Is there a certain order I must follow or some hidden requirements? (pretty sure I had the correct event names and generators and stuff attached, although I did reuse and rename useless animation events instead of creating my own, maybe that's why?) Thanks for reading.
  21. data/meshes/actors/character/animations look for those chair idle files and delete them, a mod is likely overwriting the vanilla animations
  22. A variable is a placeholder; you can put anything into it, as long as it's the same type. You can put in numbers, actors, pretty much anything for future use in your script. A property is similar, except it can link to stuff in the CK and it can be read by other scripts. A property is typically for external use (referencing the player, maybe a weapon, another script, etc), a variable for internal use (counting, random number generation, math, etc). Actor Base is like a template for an actor, a profile sheet with all their traits and personality and skills and relationships. An actor reference is the actual actor. You can have several copies of an actor, like 2 Lydias, but Lydia is marked "unique" on her actor base so having 2 Lydias is not recommended. It's more for those bandits and other miscellaneous npcs; you might see several copies of them, maybe not in the same location, but over the course of your game. Notice there's only one Chicken in actor base, but if you right click on "Use," you'll see many references of them. You might create a Rooster actor base, then place many references of the rooster in game.
  23. Since the script is unused, where you say, >>>[ I understand this is what should happen when the effect wears off, but I thought anything that starts with a ; was a comment and didn't run as script and yet everything here is following a ; ]<<< I believe the original scripter disabled everything because it didn't work or there were problems. So you'll have to uncomment them, and maybe change it, to make it work again.
  24. I think there is. In the behavior files, I've noticed game engine features are connected to event names. For example, actors fly when certain animation events trigger, even if it's from a clone of the original and a different race. My case; I cloned the dragon race, tried changing the Takeoff event parameters but still got CTD in game. Finally I renamed every event related to flying, taking off, landing or hovering and I could finally play the animation in-game, although the actor stays on the ground. I don't think the engine supports player-controlled flying so every time the actor tried to fly it resulted in CTD. Renaming the events turned the flying animations into normal ones. Since dragons don't have a sprint event, they can't sprint and they can't sneak either. I'm guessing you have to actually add properly-named events so the engine can recognize what the character has to do. For sneaking, you'll have to add events "sneakStart" and "sneakStop," create a sneaking state where the movement animations are different from regular walking, and connect them together in the behaviors, then connect the event to ActionSneak in in the CK.
  25. Dragons need a landing marker to die, maybe? I've been trying to make a dragon fly around in a huge cave. I placed skymarkers around the cave, it works until th dragon enters combat. Then he ignores all the skymarkers and goes through walls like crazy. I cannot generate max height data or else the dragon flies above the ceiling. The only solution I have come up with is creating my own combat AI package. It's just really laggy because it has lots of conditions and it's even more predictable compared to the default combat package since the dragon just follows a set path around the cave. Getting the dragon to hover is hard because its animations clip through the walls if there isn't enough space and it has to hover near the player or it looks dumb. Landing shouts is hard too. No wonder the dragon in Blackreach never flies.
×
×
  • Create New...