Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

BrettM

Senior Allies
  • Posts

    356
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by BrettM

  1. The only way to know if everything is done right is when the scripts pass the smoke test -- working as intended to work without crashing the game. Getting scripts past the compiler is the first step, before even thinking about smoke testing. Once you're there, however, the best way to proceed is to plan your testing in advance. Think about each activity your script performs and under what circumstances that activity takes place. Then make a checklist of actions that a test character needs to take to be sure all of those script functions are carried out. Programmers often refer to this as "exercising" the code. For example, if you have a script that behaves differently at night than in the day, you need to make sure that your character uses it both at night and in the day. If you just test it at night, then you don't really know if it will blow up when someone uses it during the day. You also need to test situations where things are NOT supposed to happen, to be sure they don't happen. For example, if your spell is not supposed to work indoors, test it indoors to make sure it doesn't work.
  2. In general, code blocks with names that begin with "On" should be events. Events defined by Papyrus are documented on the Creation Kit Wiki, which will tell you a number of important things about them and usually provides an example. For example, the OnCellAttach page. In your first script, you can see that the OnEffectStart is really the beginning of the script. When the player casts the spell, the system signals this event, telling it who cast the spell (akCaster) and, if the spell is targeted at some actor, who that target is (akTarget). The event then calls the functions needed to produce the effect. It is really important to have a basic understanding of concepts like Events, Functions, and Properties if you're going to script. I would recommend that you read the short Papyrus Primer at the CK site, at the very least. Reading some of the simple tutorials there, like "Hello World" and the introductory tutorials here would be very helpful as well. It's easier to get started by following a proper lesson that explains things in order than it is to get the basic information one question at a time when you don't really know what questions you need to ask.
  3. First, it would really help readability if you would indent your code properly and use the "code" format button for posting it. (The button that looks like a blue "<>" in the editor toolbar.) Second, punctuation errors, such as the missing right parentheses, can cascade throughout your code, causing a lot of errors that will just vanish if you get the punctuation fixed. Always fix your punctuation first, so you can see any real errors that remain. Finally, there is a big difference between Functions and Events. None of your scripts have any Events that the system or other scripts can call to execute your code! Most of the routines that you have called Functions should actually be Events. For example, function OnCellAttach() self.ResetElinthrialPortalAnimFunc() endFunction should actually be Event OnCellAttach() self.ResetElinthrialPortalAnimFunc() endEvent Events are how the system notifies your script that something has happened that you may need to handle. So, when the system attaches a cell, it sends notifications of the event out to scripts. If the script has something that needs to be done when the cell is attached, then it intercepts that notification by having an "Event OnCellAttach." You need to sort out which of your code blocks should be events and which should be functions for your script to work properly.
  4. Before I entirely abandon my aquarium spawner, I would like to know what -- if anything -- can be done to keep all those little fish scripts from causing stack dumps. Each fish has a critter script to control its behavior, and even just eight of them running at once seems to overwhelm Papyrus, though not to the point of crashing me out of the game or even showing any lag. I have had as many as 28 going at once, in two different spawners, with no particular effect on gameplay but far more stack dumping. I've posted the fish script below, in case I've done something foolish in it that is the root of the problem. Would it help if I dropped all the routines involved with schooling behavior? That processing is more complex, and I think it's resulting in jerkier motion than I might otherwise be able to achieve. I've also posted the spawner script, though that script is inactive once the fish have been spawned and does not register for any updates. The dumps don't begin until after all the fish have been spawned and have been moving around for a bit. Edit: I tried a version of the script without the schooling code. The motion is better, but it still stack dumps. I noticed the dumps are happening exactly once every 60 seconds, which seems a little odd. Edit2: It appears this may be something specific to the particular character I was using to test. I tried several other characters, and none of them had any stack dumps. Strange.
  5. BrettM

    Blooming Clovers

    Where be this village? I think I want to move there. And I really like what you did with that tower roof piece.
  6. From the album: FPI Research

    I managed to rewrite the whole critter spawning system into a version that will spawn fish in an aquarium. It still needs a few more tweaks to keep the fish inside the box, which takes a more complex algorithm than the usual spherical or conical critter spawners. But the worst problem is that the motion of the fish is not very natural at this scale because the traversal distances are so short. The movement is pretty stop-and-go, with abrupt changes in angle as they reach the next target point and stop to wait for their script to calculate a new target. Crash dives and zoom climbs are pretty common as well. The pre-animated FX are just more suited for this, in terms of both smoother motion and less demand on the processor than a bunch of fish running scripts. I guess the effort wasn't totally wasted, though, since I learned a lot from the process. And my new spawner might come in handy for someone wanting a very large tank with bigger salmon and/or pond fish.
  7. Thanks. 3Ds seems a little pricey for someone who isn't planning to do a lot of animating, but I'll go that way if I have to. I had already searched the tutorial library here and came up dry. The Nexus link you provided doesn't seem to have anything relevant. I'll keep googling until I turn up something that gives me a foothold on getting started with this. Edit: I think I'm starting to get an inkling, but I need some pointers. There are actually TWO animations in the FX file. One is the animation that controls the bones and produces the swimming wiggle of the body. It seems to correspond to the regular salmon animation that is controlled by some "hkx" file that I guess needs to be converted to "kf" for import into Blender. Except that the FX makes no reference to the hkx file. The same animation seems to be built into the salmon in FXAmbWaterSalmon, with no need for any external source of animation data. However, I have no desire or need to mess with that animation, though I need to know how to put each fish in the starting position I want and have his bones come with him. Applying any translation or rotation to the fish in NifSkope seems to move the body further than the bones instead of keeping both together, and I have no idea how to change that. The second animation simply determines the location and angle of the body in any given frame, like a stop-motion animation of a wooden block moving around a table. That's the thing I need to fix, and there is no hkx, kf, or any other kind of file I can feed Blender to modify the existing animation. Can I generate this animation data from scratch somehow, perhaps by creating a new animation using a dead salmon with no skeleton, and then attach it to the FX salmon after I export it? Or is there a way to export this positioning data from the nif in a form that Blender can use? Or am I pointed completely in the wrong direction?
  8. I just took a quick look at Willie's Leveler's Tower Magic Door setup. The permanent door in the Tower is just a copy of a Riften load door tied to the LevelersSpellMagicDoorActScript plus an XMarkerHeading used as the target destination. The vanilla barrier sitting over the door is just there to provide animation effects, which are already built into the portal you want. I would think all you would need to do is set the movable-static portal and the portal activator that goes with it, set up an XMarkerHeading at that location, attach Willie's script to the activator, set the parameters to your portal and marker references, and you would have your permanent portal. Make equivalent changes for the summoned door and you're done.
  9. I need a hint to get me started. If I want to fix these animated salmon to turn them into decent aquarium fish, what tools do I need? Are there any good tutorials on getting started with Skyrim animations?
  10. You may be right about the leek. Fortunately I was able to figure out a way to get some plants into Blender, so I now have both kinds of nirnroot without the roots, spiky grass without the pods, and nightshade without the flowers. Those look more like freshwater aquarium plants than the fern in your link, I think.
  11. The Creation Kit wiki has a Papyrus Reference that has information on all the functions and events used in scripting. Since I'm fairly new to scripting myself, I find that reference very useful.
  12. It sounds like Willie's script is the right starting point, since it will do the basics for you and just needs the special effects added. If the author's permissions for the Mark & Recall script allow you to use the assets, then you could use the animated portal and trigger from that with a modified version of the Leveler's Tower script to get the result you want.
  13. From the album: FPI Research

    I've got a whole bunch of decorations now, too, though I only have my animated Dwemer circulating fan in this one. Rocks, rubble in various styles (Dwemer, Nord, or Imperial). Imperial lighthouse and tower. Dwemer tower. Nord hut, henge, and statuary. Plus the usual clam-with-pearl, treasure chest, and sunken ship. About all that's left to do is get more fish and better FX. Then I can release the FPI Research Aquarium Pack resource.
  14. From the album: FPI Research

    The fishies now have a variety of plants available so they don't get hungry. Hanging moss turned upside down makes a surprisingly-decent aquarium plant, as do the leeks. Clover makes a nice floating duckweed-ish plant. Thinking about redoing the vanilla texture for the kelp to make it green. I wish I had some of the grass from the grass-pod plants. Have to see if I can remove the pods with Blender. The six different models of the basic aquarium are done: three with the base and three without. Choices for each are all-glass, solid top, and solid top & back.
  15. Just a couple of explanations on things that confused you: Scripts can't create just anything they want out of thin air. Often they must work with pre-existing items placed in the Creation Kit. But these items are not meant to be seen by the player at all times or Skyrim would look like a junkyard. So, they are stored in places where the player can't see them, such as dummy cells, or a few thousand units underneath the world. As long as the scripts know the reference numbers of these items, it doesn't matter if they're all jumbled together or where they are. There is a difference between a movable static, which is generally a physical item, and an activator trigger, which is often just an invisible box. The animation on the door is probably meant to play at all times to show that it is a magic door. The animation on the trigger is probably special spell effects that only play when the trigger is activated. The animation names that you listed don't reveal anything useful, since hundreds of animated objects use the same names to identify different parts of their animation cycle. They are standard terms. Have you taken a look at the script WillieSea suggested in his Leveler's Tower mod? If it does what you want, you're already set. If it does much of what you want, then you can decide whether that's good enough or whether it needs changes to be what you have to have.
  16. What I need are versions of the vanilla FXAmbWaterSalmon that are properly sized for use in an aquarium. Scaling these FX down in the CK to fit ends up making the salmon into bacteria, rather than fish of a size appropriate to an aquarium. I hand-scaled the editor marker for one of them without scaling the fish, and then had a heck of a time trying to adjust the animation in NifSkope so the fish stayed in the new box. It still isn't quite right, but scaling it to about 20% of its current size in the CK results in nicely-sized aquarium fish. But the current size was intended for a larger harvesting pool, not a tabletop aquarium. Having versions that don't need such extreme scaling at all would be nice. Better yet, if it is even possible, would be FX containing more than one fish in a deeper box, appropriately animated so they aren't all in sync or counter-sync or swimming into each other. The current FX need a lot of vertical juggling and rotating to achieve this effect when stacked in a tank. Anyone interested in taking on such a project?
  17. Nice place! I really like the direction you seem headed with the main hall. Looks very welcoming to visitors and like a great place to kick back for the residents. The pool room is pretty impressive, as well. Why three cells at this point, though, for a place that doesn't seem all that large? In fact, in some ways it seems pretty cramped for a manor. I keep expecting to hit my head on those promenade arch thingies between the Hall and door to the pool room, and have a hard time navigating around the narrow open spaces in the kitchen. But then, I can be a real kutz. Still, I'd take a look at kitchens in places like Dragonsreach and the Windhelm palace as the kind of model for the spaciousness I'd expect in a manor kitchen. And move those arches UP five or six feet more. Wow, you really scaled up that aquarium! I don't think you'll want to use my new fishies in that thing. It looks great, though. The only thing I'd change about it is to retexture the bottom panel to match the dirt. That's the main reason I made it a separate panel from all the other parts -- so it could be retextured to conform to terrain-type-stuff if one wanted to make a terrarium or some sort of diorama (like the one I did with the giant and mammoth). Edit: To add a few more thoughts on the scale. You start out in a grand, spacious entry hall that looks very manor-like. But, when you walk into the kitchen, suddenly you're back in a cozy little cottage. For a manor, what you need is a BIG kitchen with cozy areas. A cooking area with lots of food handy and stuff in preparation in one spot. A cozy breakfast area in another. Storage area somewhere where the crates aren't in your lap at the table. Then, go one step further and attach a good-sized dining hall. Not Dragonsreach size -- something more modest but still a distinct dining area capable of seating, say, 6-10. Why own a manor if you're not going to show off by throwing big dinner parties? The BYOH houses are an example, with a big central dining hall and a kitchen in its own connected wing. That says "manor" rather than "cottage" even though the Hearthfire houses are not really all that big. Look around at places like Nepo's house in Markarth, Vindrel Hall, Proudspire, or Goldenglow Estate to get your manorly mojo going.
  18. From the album: FPI Research

    My current crop of mutant salmon. Not too bad, since one would ordinarily observe them from a greater distance. The larger ones are from a custom salmon FX I made for the Gallery, and they're about the right size. Bigger and they would look pretty ugly. But the animation isn't quite right because I adjusted it by hand in NifSkope, not knowing how to animate yet. And I don't have custom copies of the second FX with the longer box. The two smaller ones are from the standard smaller FX. I sure wouldn't turn up my nose at an offer of help from anyone who knows how to do Blender animation!
  19. From the album: FPI Research

    On the left is my current tank, made from the biggest box I have. On the right is the tank from the Lakeview Manor mod, which is nearly twice as long and 30% wider/higher. The fish from the normal ambient salmon FX still look fairly small when scaled into the Lakeview tank. Scaled into mine they become bacteria.
  20. Sorry, I guess I misunderstood. When you said you wanted to change the script, I assumed you had access to the PSC source file for it, which is the only way to change it. You're right that it's no use posting the compiled PEX version here, since that can't be changed. So what you really need is not a change to that script, but a whole new script written from scratch that works just like it except for using a fixed home location. That's a bit bigger job than telling you how to fix an existing script.
  21. From the album: FPI Research

    I borrowed the aquarium in the Lakeview Manor mod to test a couple of new fish textures that I hoped would be more interesting for an aquarium than dull old Salmon01 and Salmon02. I did it by making paint jobs based on tropical fish and overlaying them on the regular DDS using Hard Light blending at about 75% opacity. The one in the left center is a Salmon01 with a zebra-fish paint job. The other three in this shot are Salmon02 with an Emperor Tetra paint job and a glow map to go with it. I'm amazed at how well it turned out, probably because the salmon are only about 10-20% of normal size. The paint jobs are really, really crude (slap on some lines of paint in different colors and run a soften brush over them), but the crudeness is hard to spot at that size.
  22. Sadly, no hole. I would have to give the top frame some thickness before I would dare leave off the top. Since it has to be defined in the CK as an activator for the water to work, I can't give it a lid that opens, either, unless I make the whole lid a separate piece. (Frustrating that we can't define pieces of a mesh as different objects! Why can't one piece be a door and another an activator?)
  23. Not having seen the script, it sounds like what you want is to set up an XHeaderMarker at the location you want to be the permanent destination. That is like a COCMarker, and is used in many scripts for teleport activators. Place the marker at your permanent location. Preferably give it a name that makes its reason-for-being clear, like "TeleportSpellHomeMarker". If the spell script doesn't already it, add a property like "ObjectReference Property TeleportHomeMarker auto". Set that property to reference the XMarkerHeading you created. If you want a more detailed analysis, post the script itself. Unless someone comes along who already has that mod, we're not likely to download it just to find what needs to be changed for your purposes.
  24. From the album: FPI Research

    Glub, glub! We gots waters. Now for some proper textures, plants, and decorations. Am I forgetting something? Oh, yeah ... FISH.
  25. From the album: FPI Research

    You Blender experts can stop laughing now. I discovered the Extrude process that you knew all along was the answer to my skirting problem. Backdrop has been expanded as much as I could manage without bringing it too far into the tank, so it doesn't look so silly. The whole assemblage passes the CK smoke test at this point, and seems pretty modest in size (43k without collision). As a fanatic aquarium hobbyist in a former life, I've got to say this is shaping up fairly nicely. If only Skyrim had better fish to go in it! On to the struggle to get a water plane added.
×
×
  • Create New...