Jump to content

verteiron

Premium Member
  • Posts

    23
  • Joined

  • Last visited

Nexus Mods Profile

About verteiron

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

verteiron's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. I've built a mod that does something very similar but did not find your post here until just now (while googling for something else). It does not engage combat music unless the player is directly targeted by an enemy, the player has seen or been hit by that enemy (so you are no longer alerted to an attack by combat music), or the player has made the first strike. In all cases, the music plays only if the total health of all enemies adds up to at least 1/3 the health of the player (a value which can be changed). It's called Smarter Combat Music, and it has quite a few other features, as well. Enjoy!
  2. Cross-posting this from the mod thread 'cause Daventry wanted to know: The problem with walls-of-light, road signs, etc is that there's NOTHING in-game, even available to modders, that tells where one hold ends and another begins. I had to use an amazingly circuitous route to get even the rudimentary detection this mod provides. In order to do 100% accurate border detection (and therefore walls of light, signs, etc) you'd have to go through the Skyrim maps and place some sort of object along all the (completely unmarked, mind you!) borders in the game. And you'd have to do it at a very zoomed-in level, since there's not really any map view in the Creation Kit. I'm not saying it couldn't be done, I'm saying it would be a very time-consuming effort, is all.
  3. Okay, I've implemented the most basic version of this, the notifications when approaching/cross hold borders. Here's the mod: http://skyrim.nexusmods.com/mods/35718/
  4. Actor Ball / Katamari Dovahkiin Creation Tutorial I've gotten a surprising number of requests for an explanation of how my Actor Magnet spell works, so I thought I'd write a tutorial about it. Really, there's nothing particularly groundbreaking about Actor Magnet. It just uses simple techniques in an unusual way. This tutorial assumes you already have a passing familiarity with the Creation Kit (i.e. you've run through the basic tutorials on the Creation Kit wiki) and are looking to learn more about how to use and abuse the magic system. During development of this mod I was calling the spell ActorBall and all the spells/effects/scripts are named accordingly. There are also some questionable naming conventions here, as I was building it in a hurry and didn't take the time to go back and rename everything. In other words, this is not neat and pretty :wink: If you follow this tutorial, you should end up with a working duplicate of my Actor Magnet spell as posted to the Workshop and Skyrim Nexus. These are the original scripts. If you already have my Actor Magnet mod installed, either remove it first or name everything with a different prefix to avoid conflicts. Actor Magnet actually consists of three different Spells and their associated MagicEffects. First we have the effect itself, ActorBallEffectSpell, which targets all Actors within the spell radius with the PushActorAway function. The Player is exempted and serves as the source of PushActorAway.Second, we have ActorBallAbility. This is an ability spell which, while the player "knows" it, continuously recasts ActorBall while providing visual and sound effects.Third, we have the ActorBallSpell spell. This is the spell the player actually casts. It is just a script that toggles the Magnet on and off by adding or removing the ActorBallAbility. Part 1: The Effect We're going to create the actual Actor Magnet effect first. For this, we are going to need a new MagicEffect, so let's create one! Launch Creation Kit and open the Skyrim and Update esm files in the usual manner. Pick Magic Effect in the Object Window, right click somewhere on the right side and choose New. Here's a screenshot of the ActorBallEffect properties: http://i.imgur.com/kvGn1.png Right away you'll notice a few atypical things about this spell. For starters, there are no visual effects or sounds set up. This spell is going to be spammed about 10 times a second; flashy visual effects are a not a good thing to play that frequently. The Delivery is to Self, because the player is going to be the actor the spell is pushing everyone else toward. I have no Magic Skill set because otherwise the player will level very quickly; remember, this is going to be cast multiple times a second. The Effect Archetype is Script: This simply tells the game that the spell is scripted and no other effects need to be applied. Casting time is zero (although, as we'll see, that doesn't really matter). The spell is not flagged as Hostile or Detrimental, which keeps it from ticking off city guards, citizens, and other allies. Area is 2500. That's in feet (rather than the usual Skyrim units) so that's over half a mile in real-world terms. That's way beyond the draw distance in most cases, and ensures the moment an Actor is loaded it will be hit by the spell. Now to the heart of the spell, the script. Click the "Add" button in the bottom right corner, double-click "New Script" and call it "ActorBallEffectScript". Here is the code, it's quite short: Scriptname ActorBallEffectScript extends ActiveMagicEffect Actor Player Event OnEffectStart(actor Target, actor Caster) Player = Game.GetPlayer() If Target != Player If Target.GetDistance(Player) > 2000 Caster.PushActorAway(Target, -8) Else Caster.PushActorAway(Target, -5) EndIf EndIf EndEvent That's it! This script is pretty easy to interpret. It uses the OnEffectStart event (which fires when the spell is cast) to apply the PushActorAway function to the caster and target. Notice we're using a negative value, which is why the target actor flies toward the caster rather than away from him. You also see that, beyond a certain distance, we're actually applying more force. This is because I was running into problems with far-off Actors not getting pushed uphill or over small obstacles like low fences. I'm not sure why this was happening, but applying a touch more force seemed to cover it. A lot of scripting time can be spent overcoming little oddities like this. Compile/Save this script, close the scripting window, hit Ok, and save your mod. Now that we have the Magic Effect, we need to create a Spell so we can cast it! Go to Spells on the Object Window, right click on the right panel, choose new. Here are the settings: The Casting type and Delivery method must match those of the Magic Effect we just created, in this cast, Fire and Forget and Self, respectively. To add the Actor Ball Effect to the list of Effect, right-click the list, choose New, and pick ActorBallEffect from the drop-down list. http://i.imgur.com/fpD59.png Now fill in the magnitude and duration as 1 each. DO NOT FORGET TO FILL IN THE MAGNITUDE. This is a purely scripted spell, so the magnitude is not important but it MUST BE GREATER THAN 0. If it is 0, the spell will fail silently and you will go CRAZY trying to figure out what you did wrong. Ask me how I know this. Your spell setup should now look like this: http://i.imgur.com/V8Ncg.png If the Area for Actor Ball Effect says 0, double-click it to edit the effect, then cancel. That should correct the Area value. Now hit Ok and save your mod. At this point, you can play Skyrim, use the console command psb (Player Spell Book) to add all spells to your spellbook, find Actor Ball on the list and try casting it. It SHOULD yank all actors in the area toward you, just once per cast. If this doesn't work, run through the previous steps and see what you missed! CHECK THE MAGNITUDE! Now on to part two, creating the Actor Magnet Ability! Part 2: The Ability An Ability is a particular type of spell that applies its effect as soon as the player "learns" it. Abilities are used for everything from simple visual effects (the fog effects surrounding a Frost Atronach are provided by an Ability) to race-specific traits like WaterBreathing. In this case, we're going to use an ability that casts the spell we just created over and over again. Create a new Magic Effect. Here are the settings for it: http://i.imgur.com/uN7G0.png I used the IllusionPosFXBody hit effect to provide a visual effect when the Magnet is activated, and the IllusionPositiveFX shader to make the player glow green while the Magnet is running. The FX Persist flag makes sure the shader plays throughout the duration of the spell. Again, all casting costs are 0 and the effect is not part of an particular Magic Skill. Let's create the script. Name it ActorBallAbilityScript. Here is the code: Scriptname ActorBallAbilityScript extends ActiveMagicEffect Import Utility Spell Property ActorBallEffectSpell auto Sound Property OBJEyeofMagnusCloseLowLPM auto Bool Running = True Int SoundInstance = 0 Event onEffectStart(ACTOR akTarget, ACTOR akCaster) Debug.Notification("Actor magnet activated!") SoundInstance = OBJEyeofMagnusCloseLowLPM.Play(akTarget) While Running ActorBallEffectSpell.Cast(akTarget) Wait(0.1) EndWhile EndEvent Event onEffectFinish(ACTOR akTarget, ACTOR akCaster) Debug.Notification("Actor magnet deactivated!") Running = False Sound.StopInstance(SoundInstance) EndEvent Again, the script is fairly simple. When it starts, it displays text indicating that the Magnet is activated, plays a looping sound effect, and starts a conditional loop. This is where the rapid recasting of Actor Magnet takes place. The wait time of 0.1 seconds provides a powerful pulling effect without bogging down the system too much. When the onEffectFinish event fires (when the ability is removed from the Player), the Running bool is set to False, which kills the loop. We then stop the sound effect loop (for more info on sound handling, see the wiki article here: http://www.creationk...om/Sound_Script). If I were creating this today, I'd probably use Updates instead of the loop, but it works fine as written. After saving the script, you'll need to populate the properties. If you've followed this tutorial to the letter, you should be able to autofill the properties. Do this by double-clicking the script in the Magic Effect window, then hit "Auto-fill All". It should say "2 properties auto-filled". If you used different names or the auto-fill fails, just pick the Actor Ball Effect spell you created in part 1 for the ActorBallEffectSpell property, and pick the looping sound of your choice for the sound property (the effect I used for it is a low, almost electric droning sound faintly reminiscent of the Hypnotoad). http://i.imgur.com/2FFBL.png Once you've got the properties filled in, hit ok and save your new Magic Effect. Now we need to create the actual Ability Spell, so save your mod and create a new spell. Fill it in like this: http://i.imgur.com/72gYe.png The Spell Type is Ability, which will cause the OnEffectStart event to fire as soon as the ability is added to the player with AddSpell. Add the new Actor Magnet Ability to the effect list just like we did before. Don't forget to set the Magnitude to 1! Now save your new spell. We're nearly done! Part 3: The Toggle Create another new Magic Effect. Here are the settings: http://i.imgur.com/RLksk.png Here we're setting it up more like a normal spell, because this is the spell you'll actually cast to turn the Magnet on and off. We have finally set the Skill as Alteration, and we're using straight Alteration sound effects and visuals. Remember, we set the Hit Effect in the Ability so we don't need one here. Now for the script... Scriptname ActorBallScript extends ActiveMagicEffect {NaaaNaNaNaNaaNaaNaNaNaNaaaNaaaaNaNaNaaaa} Spell Property ActorBallAbility auto Event OnEffectStart(actor Target, actor Caster) If Target.HasSpell(ActorBallAbility) Target.RemoveSpell(ActorBallAbility) Else Target.AddSpell(ActorBallAbility,False) EndIf EndEvent Once again, pretty simple stuff. If the player doesn't have the ActorBallAbility spell, we add it to them. If they do, we remove it. It's a toggle. Set the Spell Property to the Ability we created in step 2 and save the new Magic Effect. Now create a new Spell. Here are the settings: http://i.imgur.com/oyePM.png The spell is actually called Actor Magnet, because this is the only spell of the 3 that the player should see under normal circumstances. "Disallow absorb/reflect" is checked to avoid a bug that sometimes happens with self-targeted spells. The Menu Display Object is the graphic that will appear when you view the spell in the menu. In this screenshot it is set to the Fireball spell graphic; you may want to change it to one of the other MAGINV graphics. Add the Magic Effect we just created to the list, and don't forget to set the Magnitude to 1. Go play! NOW.... you can either start the game and use psb to add the spell to your inventory, or you can do what I do and create a tome for it. Creating the tome is very simple, just duplicate an appropriate tome (you'll probably want to use the tome for another Alteration spell) and change the spell it teaches you. http://i.imgur.com/yrIEw.png Now place the spell tome somewhere easy to reach, like the main hall of Dragonreach. For info on how to place items, see the Lokir's Tomb tutorial in the CK wiki. Now get the spell and test out your own version of Actor Magnet!
  5. Dude. Dude. That's awesome stuff! It's nice to see other people releasing heavily scripted spells. It's what I love to do (all my spells use vanilla meshes/textures and just script them in interesting ways) and I truly wish I had more time to work on it. Congrats on your upcoming release, I will be checking it out for certain! Also, I've been working on a geyser and volcano mod of my own to add to my upcoming Elemental Mastery mod... Hope you don't mind ;) I suspect they'll be very different from yours!
  6. Actually mammoths (and dragons) won't budge in response to pushes or blasts no matter what; they're marked in CK as immune to pushing. Even if you disable that flag they still don't react properly to PushActorAway. I tried and tried and could not make them roll into my Katamari ball :( The only physics functions I'm aware of are PushActorAway and ApplyHavocImpulse. I've also taken up using precisely aligned force explosions to move clutter objects around. Sadly, only PushActorAway accepts negative force values. If I could do negative force explosions it would make this script I'm working on SO. MUCH. EASIER. As for vectoring your force pull, you're right; he should spawn an invisible activator above his character's head and use that for the negative PushActorAway. -1 or -2 is enough to push even a giant around without flinging smaller creatures too violently... but telekinesis -should- require some finesse to use properly ;)
  7. Just so you know, PushActorAway accepts negative values (and is about the only physics function that does). If you do something like Game.GetPlayer().PushActorAway(target, -1) You won't even need the ApplyHavocImpulse. PushActoraway causes ragdoll state all by itself. Since Concentration effects basically recast repeatedly for the duration, this might even be the only line you need. Give it a try. PushActorAway with negative values is one of the most fun physics tricks ever. My Katamari mod is based entirely around it, and my upcoming Whirlwind mod relies heavily on it to suck actors up into it.
  8. Okay, I'm now pretty sure this can't be done with regular dialog and Papyrus; even if I jumped through all the hoops of created additional quests, dialogs, and topics just to make the NPC say "AUGH!", they can't talk AT ALL while in Ragdoll state :( I'm almost certainly going to have to just force-output screams with the Play function. I'm having a hard time extracting the existing NPC screams. I can get the FUZ files, de-FUZ them, but xWMAEncode.exe does not give me any output files when I use it. It just silently returns to the command prompt with no output at all. For all the trouble this is causing me I may as well just leave the NPCs silent. Just getting relevant audio to play is taking longer than the entire mod up to this point. Does anyone know if I'm even allowed to redistribute extracted in-game assets like NPC screams? EDIT: Okay, didn't realize there was a tool to automate dialog extraction, so at least that isn't a problem, so that just leaves my last question: Am I allowed to redistribute extracted game assets with my mod?
  9. Anyone mind if I borrow a few of these ideas for my upcoming spell pack? If you look at my mod history you'll see I love making flashy and powerful magic. All ideas will be properly attributed, of course.
  10. D'oh! How could I have missed it? PlaceActorAtMe requires an ActorBase to place, not an Actor. what's an actor base? Is it the numerical ID that the console uses? Just change Actor Property Troll Auto to Actorbase Property Troll Auto Then fill the property in the usual way. You'll probably want to use EncTroll.
  11. D'oh! How could I have missed it? PlaceActorAtMe requires an ActorBase to place, not an Actor.
  12. I believe you need to break that up and add a variable. Scriptname trollenc extends ObjectReference ObjectReference Property Markertwo Auto Actor Property Troll Auto Actor SpawnedTroll Event OnActivate(ObjectReference akActionRef) SpawnedTroll = Markertwo.Placeactoratme(Troll) SpawnedTroll.StartCombat(Game.GetPlayer()) Endevent If you don't need to do anything else with the SpawnedTroll actor after the OnActivate event, you may prefer to put that variable inside the Event block.
  13. About the whirlwind effects, it's about 95% scripting. The objects involved are all from vanilla Skyrim, just with scripted effects applied. The BIG sky swirl is the same Hazard that is placed by Storm Call. The twister itself is about 100 activators with the fxsmokesmokelgvol.nif attached to them, along with a script that translates it 180 degrees and repeats that every time it finishes. There's a long enough delay between each rotation that the script events don't pile up and slow down too much, even with Fraps running. The scale of each activator is determined by its altitude. I am considering trying to modify the blizzard hazard NIF to add a non-scripted spinning cloud effect, but we'll see if it's worth the effort. If so, it would be the first time I've included a modified nif in any of my mods. Obviously, a long way to go with this effect, as you can clearly see the repeating cloud pattern in the storm... not good enough! But it's a start, and I'm pretty happy with the physics effects. If anyone was wondering WTF my Katamari Dovahkiin mod was about, now you know :P ANYWAY.... I was thinking about using code similar to yours to make them scream their own screams based on their race and sex. I'd really prefer to use their own screams, though; if you throw fireballs at NPCs they all have a couple of AUGH or WEEAGH screams that they use when they take damage or are frightened. There must be SOME way to make that happen on command. At least one would hope so... Anyone else know how I might do this?
  14. Okay, so I'm working on another over-the-top spell mod. Big surprise, right? Well, this one is a bit more over-the-top than usual. http://www.youtube.com/watch?v=YNlbRelbNok So, aside from the fact that the animation needs a lot of work, what's missing here? SCREAMING! Visceral, throat-tearing screams of sheer horror as people are snatched from their lives and flung headlong into the whirling vortex OF DEATH! So I put it to you, my fellow modders... how can I make these people scream? I'd like each NPC to perform their own screams, rather than emit them from some central location. Just making them say their "WEEAGH" line would probably work fine, except I have NO idea how to go about it. The built-in script that makes NPCs say something when hit by a spell isn't doing the trick, and "WEEAGH" isn't a topic of conversation anyway. Oh, and the cow needs to moo, because... dude, flying cows go MOO. Applying damage to them with the spell doesn't seem to make them yell, either... I think being in ragdoll state blocks most of the automatic vocalizations. Can anyone point me in the right direction?
  15. Hi man Can I add and Translate your mods Summon Ice Wall and Summon Ball lighting to site modgames.net
×
×
  • Create New...