Jump to content

Sphered

Premium Member
  • Posts

    466
  • Joined

  • Last visited

Nexus Mods Profile

About Sphered

Profile Fields

  • Country
    None

Recent Profile Visitors

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

Sphered's Achievements

Rising Star

Rising Star (9/14)

12

Reputation

  1. Open racemenu ---> Change your weight to whatever the head mesh is ---> Import the head mesh ---> Now change your weight to whatever you want to be ---> Done Ideally you will know what the weight is. Like if its a facegen of a NPC, check what that weight is in the creation kit or xedit. Otherwise you can just guess and repeat above process till you see no gap
  2. I worked on a project once where we had a dark world version of Skyrim. Dark Whiterun for instance, where dragons ruled. I used a portal to go between the two worlds, so I basically had full control of what happens before/after I cross. Before I entered, I spawned a bunch of them via script, and added them to a formlist. When I use my portal to leave, I would fade screen-to-black, and run a routine which takes a couple seconds, to disable and remove all the dragons in that list, before player returns to the light world. This prevented crossover, since they no longer existed. They were simply removed from the equation entirely. I could do this because I fully controlled the situation, and I simply never had unexpected dragons to contend with I just know they will cross worldspaces under certain conditions, which like you pointed out, are part of the game engine. They may simply need to be flying, or there might be a IsInCombat check, etc. My method worked to prevent crossover, so I stopped exploring other ways. So in short, I would start with tracking all of them in a list or something, and to explore using a script to zone to and from this place instead of a door, if realistic. Easier if there is only one entrance/exit, and to regulate it via script. Probably could work with a normal door or trigger areas, but imo you can control what happens better if you control the passage in between world A and B, and do things before/after teleporting the player
  3. Someone would have to write a SKSE plugin to achieve a IsStolen() kind of function. Far as I know, that does not exist
  4. Answering the title: Yeah if you are saavy enough you can cleverly piggyback off of anything, native or mods, to do whatever you want. If that MCM mod uses GlobalVariables for the setting in question, you call a GetValue(). You can also change the value via script. If they use properties, you can call/change those with (WhateverQuest as NameOfTheScript).PropertyName. Etc
  5. For quick testing, I suggest LE, and make a profile with minimal mods and graphic settings so you can get right in. I go from desktop to completely in game looking at my character, in about five seconds with this setup. I also use a custom autohotkey script to spam enter a few times if I really want to be lazy. For the save, just make sure your test profile only has that savefile within it, so you don't have to pick one manually Most mods work on LE, but I suppose if you are testing SE-only SKSE mods, esl's, etc which aren't compatible with LE, you will have to kinda deal with waiting a bit longer to test on SE. But you can still do the profile thing with a minimal environment to speed that up. You bring back some nostalgia when I used to mod this game like crazy and test all the time lol
  6. Just a male character using an altered female head. The alteration fills in the neck gap, and you need custom textures to avoid neck seam. Look up "Bochu Skyrim" for more insight
  7. The idea behind it was to have dragon attacks that were happening outside a major hold, to also continue if you zone inside. This game was made to work on PS3 remember, which is why we had to deal with zoning here at all. So if dragons were flying above you when you walk into Whiterun, then magically disappear after you cross that gate, yeah. Anyway that was the thought process behind it. Resolved with mods later, at least somewhat. One of the many incomplete things that didn't make it to 11/11/11 release. And I am old now
  8. Assuming you have NIOverride you could use a NiStringExtraData in the armor nif, set to auto-scale anyone wearing that armor Add this string: [{"name":"Canine_","scale":0.5}] Disclaimer: I am old school and this 100% works on LE, and only assume it will work on SE. If whatever reason it doesn't, you can instead add a script to the armor record and have an OnEquip() Event to setscale. Just cleaner if you can go the nif route
  9. Strangely enough there is an actor value for mood you could experiment with. Attach an ability to the actor/s or magic effect/s which can run a script once a condition applies How well this will work, is not something you would be likely to get a concrete answer for. Even if someone claims something is impossible, they might be wrong. Just research these a bit and maybe try them out and see what you can make work Some examples of conditions GetDialogueEmotion GetDialogueEmotionValue IsPleasant GetActorValue: Energy Etc
  10. There isn't a way in the game prevent a horse from appearing, but I suppose you could have scripted triggers of various flavors, with a GetRace() check to resolve the horse's presense if it shows up "If horse then hide 3D" and such routines. Gets more complicated if you mean people riding on horses. You would have to override the riders' AI and use a package that has "Ride Horse" set to false. Up to you how to handle this but it is more involved to solve than one might think If you really wanted to prevent mounting at all, it needs to be a Cell or (I think) Small World, where that option is checked on a worldspace. Comes down to what you are trying to accomplish and how flexible you are
  11. In the CK there is "GetDisabled" as a condition Scriptwise there is a IsDeleted() function
  12. I'd use a formlist as our property instead. Add tons of sound files to it, and just point to it when wanted (OurFormlist.GetAt(Utility.RandomInt(0,OurFormlist.GetSize() - 1)) as Sound).Play(Whoever) Way easier to add/remove sounds to this list than to mess with a property array
  13. Doable but will most likely not be very intuitive for you to use how you envision Actor needs to have ragdoll mode added unless they are already dead before HavokBall calls will work. The nodes on the object and actor, both require the right collision type in the nif ; Forcibly adds / removes the ragdoll for a reference to the world Function ForceAddRagdollToWorld() Native Function ForceRemoveRagdollFromWorld() Native ; Adds a ball-and-socket constraint between two rigid bodies,identified by their ref and node names Bool Function AddHavokBallAndSocketConstraInt(ObjectReference arRefA,String arRefANode,ObjectReference arRefB,String arRefBNode,Float afRefALocalOffsetX = 0.0,Float afRefALocalOffsetY = 0.0,Float afRefALocalOffsetZ = 0.0,Float afRefBLocalOffsetX = 0.0,Float afRefBLocalOffsetY = 0.0,Float afRefBLocalOffsetZ = 0.0) Native Global ; Removes any constraint between two rigid bodies Bool Function RemoveHavokConstraInts(ObjectReference arFirstRef,String arFirstRefNodeName,ObjectReference arSecondRef,String arSecondRefNodeName) Native Global Here is the Hangedmanscript in the game as an example of usage to connect a dead actor to a rope. Works on a live actor too but you need to add ragdoll first ScriptName hangedManScript Extends ObjectReference {Script for noose ropes. PoInt to an attach dummy and a corpse} ObjectReference Property nooseDummy Auto {PoInt to a rigidBodyDummy placed at the end of the rope.} ObjectReference Property corpse Auto {the hung person} explosion Property fakeForceBallNudge Auto Bool shotDown EVENT onLoad() ; this gets the guy actually hanging when the 3D is loaded up. if shotDown == False ;Game.addHavokBallAndSocketConstraint(corpse,"NPC Neck [Neck]",nooseDummy,"AttachDummy",0,0,16) Game.addHavokBallAndSocketConstraint(corpse,"NPC Neck [Neck]",self,"JoIntHelper01",0,0,16) endif EndEvent EVENT onHit(ObjectReference akAggressor,Form akSource,Projectile akProjectile,Bool abPowerAttack,Bool abSneakAttack,Bool abBashAttack,Bool abHitBlocked) ; debug.trace("Noose Rope Hit by: "+akAggressor) ; debug.trace("Noose Rope Hit by: "+akProjectile) ; debug.trace("Noose Rope Hit by: "+akSource) Game.removeHavokConstraints(corpse,"NPC Neck [Neck]",self,"JoIntHelper01") nooseDummy.PlaceAtMe(fakeForceBallNudge) shotDown == True EndEvent Good luck. You are in for a project if you want this
  14. Quick one at a glance. You can use math for sections like your first one there. Below replaces all the if/else for that section OnlyDaughtersQuestProperty.SetStage(DaughtersCount2 * 10) Otherwise I'm sure others will chime in. That one just stood out
  15. Been a while since I done much with swing events... but it seems not-good-practice to register for both power and non power. A power attack will trigger two events I believe. Again, been a while, but I know there's a reason you don't see it done this way usually Aside, try resolving in a different order. Check for power attacks first. Then if no power attacks, then check for whether it's a left and right regular swing. If written a certain way you might be able to pull off all those registrations
×
×
  • Create New...