Jump to content

Sphered

Premium Member
  • Posts

    504
  • Joined

  • Last visited

Everything posted by Sphered

  1. If you go the AI pack route the absolute requirement there would be you take over his combat. Aka... the pack needs to be a combat override pack and attached accordingly
  2. Orig question was for shouting to an already engaged opponent. Being engaged means the target is present and most likely already being focused on. I notice he has mounted flying projects so assumed its something he wants to invoke while mounted. Should work well either way
  3. Max dude why would we want to start a scene every time he shouts OP I hear ya on the package aspect. That is ideal when practical but this is definitely one of those situations (you wanting synced precision without delays) where you cant rely on a package stack to handle this well I also suspect you might encounter a snag with breath duration, if you ever want one longer than a usual blast. His mouth will close after a moment, so if you want it to remain open longer, you might have to explore some graph data or another workaround for that component
  4. TBH I would run it through nif optimizer. Take a copy and covert it to be LE friendly, then turn around and convert it right back to SSE format This is the "I just want this annoying issue to go away" route. You wont know what caused it (I suspect vertex colors or tangents) but it lets you move on, and it does fix those kind of issues quite often
  5. Beauty of skyrim with coding is there is no standard. Check out how beth writes so much of theirs and you have a very low bar. In code scenes theres always that type that has a criticize fetish for anyone that dares offer insight off a beaten path but thats all the scenes I do suggest libraries with useful global calls. Not nearly enough of them in vanilla
  6. You can also copy to all selected records So you compare whatever refs. Then go down to the section you want to batch change and choose copy to selected records It basically copy pastes your change for one record, to all the others in the comparison
  7. What I would probably do in your situation, is a fake shout. Not worry with a pack or his abilities. Instead use AnimEvents of Shout start and release, then a script cast for whatever breath or spell, from the dragon to his target Tested since I have a drake AI module I mess with sometimes. Works incredibly well. Dont actually need a combat target technically but you can point to them if you want. Breath has a decent collision area Event OnKeyDown(Int Code) If !Utility.IsInMenuMode() && Code == WhateverBindYouUse Actor ComTar = Drake.GetCombatTarget() If ComTar as Bool; && DistanceChecksEtcAsWanted() Debug.SendAnimationEvent(Drake,"ShoutStart") Utility.Wait(0.5) Debug.SendAnimationEvent(Drake,"ShoutRelease") (Game.GetForm(0x90355) as Spell).Cast(Drake,ComTar) EndIf EndIf EndEvent
  8. I tend to avoid fluffy functions like giftmenu. IDK the word im looking for but I just prefer to simplify things I guess. Anyhow. It sounds like you simply dont have a formlist declared. Perhaps the owning quest has a list? Anyway, its a decent chance its referring to the FavorHealingPotions list. You can fetch that with getform and sidestep a couple headaches and just enjoy your follower Example... Actor Whoever = akSpeaker as Actor Formlist FavorHealingPotions = Game.GetForm(0xB15F9) as Formlist Int BananaSomethingPointsIGot = Whoever.ShowGiftMenu(True,FavorHealingPotions) Bool ThatEndedFavorably = BananaSomethingPointsIGot > 0 If ThatEndedFavorably GetOwningQuest().SetStage(20) EndIfAbove could be made a lot shorter (akSpeaker as Actor).ShowGiftMenu(True,Game.GetForm(0xB15F9) as Formlist) > 0 && GetOwningQuest().SetStage(20) But it can be helpful for understanding, to break it up to see whats going on. Anyhow, either of those should do what you are needing, without worrying with a property
  9. IMO this isnt best solved at the package level. The key here, is to give them the shout as one of their built in capabilities, and tailor it in a way they will want to use it. Put another way, use the system, dont fight against it. They will want to use it, if it meets certain criteria. Like if it does x more damage than anything else they can do at given time, etc. Shouts have cooldowns you can set to any amount, so its the perfect candidate here for this approach so that you avoid over-usage And dont worry about the word level. No need to assign a word or teach a word to a npc. Just the shout, and if it seems to help, the enable shout perk. Though I dont recall ever needing to give anyone that
  10. A good flow for complex mods, or just mods with a lot of different elements in play, is to make separate modules and blend them later Like if you have a lot of npc noise, like records, races, skins, parts, etc. Make that its own module. The the same for all your spells or perks. Then another for quest and dialogue. Etc Comes down to what makes a project easier to manage. You can use xedit to merge mods, or just use a merge tool when done
  11. Prolly is but in the meantime you might find you dont need that You can sort by line
  12. Simple condition at the spell and magic effect level. Possibly in the perk too. Dont recall the verbiage but might be under "GetCombatState" or something similar
  13. Say your plugin is called aaa.esp Make a copy of aaa.esp. Rename it. Make aaa.esp its master Thats your base. Its at the bottom and carrying all records Thats a quick way to get that baseline started. You need to know what you are doing though
  14. Ini settings you do remind me there is one that helps with clipping a good bit [Camera] fActorFadeOutLimit=-100.0 and thats a minus sign meaning negative 100. Zero doesnt seem to make enough difference to matter but negative vals do As for a designated cameraman race that is viable and I did that before. They just need a skin of some kind if I recall. Cameraman can be disabled and imo should remain disabled so they dont get in the way or move around etc. Setting their scale completely changes how SetCameraTarget(Them) will look btw so try something like 0.2 scale, and yes even if disabled it reflects on what you will see As for setting destination I am not sure how that computes for camera use but I would def try that on the actual look nodes. These are on the first person skeleton, not the main one. So play with that too if still having issues x_NPC LookNode [Look] x_NPC Translate [Pos ] x_NPC Rotate [Rot ]
  15. I am not needing luck. I am not exploring SSE means of doing what I enjoy in LE. It was me offering you a lead. Take care
  16. For the dynamic portion you mention The only sane way to do this on any non-simple scale would be to use your own invoked menus. UIExtensions is an example of a mod that offers the means. There is just no going back after you get to enjoy such precise situational menus on demand
  17. Creation club clutter, xedit, and other changes imposed on SE have resulted in me mostly making content on LE. I understand that netimmerse is gone from SE. Possibly merged into NiOverride, IDK just guessing dont have those sources handy atm Point being, changes happened, and for all I know this isnt as viable on SE, but I should think it would be Heres one of my NetImmerse calls. Again, its not SE-friendly with their changes they made, but could help guide for usage ;================================================================= Function AdjustFPSNode(ObjectReference Who,String NodeToAdj,Float PosX = 0.0,Float PosY = 0.0,Float PosZ = 0.0,Float RotY = 0.0,Float RotP = 0.0,Float RotR = 0.0,Float Size = 1.0) Global Bool Proceed = Who as Bool && Who.Is3DLoaded() && Who.HasNode(NodeToAdj) If Proceed Float[] XYZ = New Float[3] Float[] YPR = New Float[3] XYZ[0] = PosX XYZ[1] = PosY XYZ[2] = PosZ YPR[0] = RotP YPR[1] = RotR YPR[2] = RotY NetImmerse.SetNodeLocalRotationEuler(Who,NodeToAdj,YPR,True) NetImmerse.SetNodeLocalPosition(Who,NodeToAdj,XYZ,True) NetImmerse.SetNodeScale(Who,NodeToAdj,Size,True) EndIf EndFunction ;=================================================================
  18. Well good luck dep on specifically what you mean by ui mods There is the UI script which can invoke forms, and good luck. I consider myself half savvy and dont know what two thirds of that script does, but I did want custom menus so winged it till I saw how to invoke my files Best to get a mod like UI extensions and dissect it. Will be a project though. Authors like that love to obfuscate code
  19. Bethesda employees were coding against a deadline so its best to avoid using their syntax and such, and focus more on the task they are aiming to accomplish States arent even required to be declared in a script. Just useful depending on your situation. And when they name states similar to actual conditions actors can be, like dead, yeah, it will confuse a passerby very quickly Moving does not resurrect, no. Maybe there is a reset() routine somewhere? That could cause some things to look un-done
  20. The aggression settings dont apply to summons in regards to the one who summoned them Theres always NPCA.StartCombat(NPCB) Or Placing via script instead of conjuration school effect, would bypass the built in punching bag threshold they have Might be some nonscript way but atm I cant think of one
  21. Sounds more like an AI 404 issue to me with someones package but aside. Assuming there is no stack issue etc, look into quest priority. That plays a role in which package overrides what. I've personally just not ever had to really worry about this and it seems like a conflict or bug
  22. Syntax can help. Spread a checking routine out a bit. You can always condense it later Bool FirstCheckWasYes = AAA == BBB && WhateverCellCheckWeMightHave == True Bool SecondCheckWasYes = FirstCheckWasYes == True && (WhateverAlchemyRecipe).GetPlayerKnows() == True Bool OtherRouteThen = SecondCheck == False && Game.GetPlayer().GetItemCount(SomethingSomething) > 4 Bool OnlyTheFirstOneHasATaskForUs = OtherRouteThen == False && FirstCheckWasYes == True && SecondCheckWasYes == False If SecondCheckWasYes GogoABC() ElseIf OnlyTheFirstOneHasATaskForUs SomethingIDK() ElseIf OtherRouteThen KillNazeem() EndIf
  23. You can set CameraTarget onto any actor. So thats one way. The actor doesnt have to be visible or even 3Dloaded, just there. Move them and set their angle (via script most likely) to wherever you want a vantage point. Then Game.SetCameraTarget(Them) and thats that. Controlling the player will be disorienting but you can def do this
  24. Dont know what to look for. I thought the specular seemed a skosh high for my taste but not seeing anything wrong with the model /shrug
  25. Looks bad ass The disappearing thing is niche. My guess: You have translation coordinates on the trishape and should clear them. Or. You need translation coordinates on the trishape. If the latter, I am not certain what armors need, but I do know some head shapes need position z around 120 to not have that disappear issue. Play with it I guess
×
×
  • Create New...