Jump to content

xkkmEl

Members
  • Posts

    260
  • Joined

  • Last visited

Nexus Mods Profile

About xkkmEl

Recent Profile Visitors

2254 profile views

xkkmEl's Achievements

Community Regular

Community Regular (8/14)

1

Reputation

  1. Please do report of success/failure of your lip file experiment!
  2. I have not full tested this, but I do use it in the context of forcegreets where it works like this: The game engine sort of mashes up the topicinfos that are linked by invisible continue. Your scripts execute correctly, but it you don't set a prompt text on the 2nd segment, the 2nd segment's follow up topic menu will show while the 1st segment is still being said. Add a dummy/ineffectual prompt on the 2nd segment of your invisible continue. It will then wait for the 1st segment to be done before evaluating the conditions for the possible continuations from the 2nd.
  3. Locations are hierarchical, so Bannered Mare is a separate location child of WhiterunHold... You do need the isInLocation, or isSameLocation test. However, if you refer to a colored map showing you borders between holds, most cells won't correspond to the map because they do not have a location set at all, and others will have a location that is not attached to any hold. I know of no way to fill in the gaps in order to get a clean and complete cell-to-hold mapping. In my WIP mod, I have processing that is triggered by a change of hold... I assume the player is in the last hold visited until he enters a cell that is positively attached to a different hold... The gaps are large... so very few cells have an actual location set.
  4. Add more traces to confirm the content of your variables and properties.
  5. You mean for the condition system? You need the conjunctive normal form... The wikipedia page does as good a job as anyone will do in explaining it. For your A & (B | C) example, you get: A (AND) B (OR) C (AND; though the very last one is a "don't care") It quickly gets hairier... and in such cases thinking of the negation of your condition is often simpler.
  6. Use Location.isSameLocation: Keyword property LocTypeHold auto ObjectReference testThis ObjectReference mapMarker if testThis.getCurrentLocation().isSameLocation( mapMarker.getCurrentLocation(), LocTypeHold) isThere() else isNotThere() endif Either that, or I didn't get what you're looking for.
  7. How about: ElseIf QI >= 4 && QI <= 23 && QI != 13 I use a lot of this construct as well: ElseIf myComplexCondition( args...) bool function myComplexCondition( params...) global if something return False elseif somethingelse return False elseif someotherthing return True else return somesimplecondition endif endfunction
  8. I play Skyrim LE, so results may vary. I can click on a creature in the console, and type "getav damageresistance". However, all I get is an error message. There is no such actor value in my game. There is however a damageresist actor value, which is zero for everything except NPCs wearing armor. I just checked in game with goats, wolves, bears and NPCs (both naked and in armor). The only methods I know for changing an actor value are (1) via script, using one of the actorvalue functions on Actor, or (2) using a magiceffect. I have not tested, but I suspect that although it is using an Armor record, the naked skin entry on the ActorBase is not counted in damageresist, only worn/equipped armor. You could try to make an "empty" armor (one with a base body but no actual armor layers) in the CK and have your bears wear that, perhaps even by assigning it an outfit in the CK's inventory tab. However, tinkering with the AV via script would be far simpler.
  9. There's also the player's OnMagicEffectApply, that will trigger when you consume the potion. I you don't want timeouts or empty bottles, you can use the OnMagicEffectApply or OnEffectStart events to add a potion back when it is consumed; you'll see it disappear and reappear immediately in the inventory.
  10. This new GreybeardMeditate nif works very well. I copied the nif to a different path to avoid any possible conflicts with other mods, and created a new furniture record in order to adjust keywords and a couple of flags. There is a slight quirk though. Playing a female Dragonborn with high heels, when I use placeAtMe to create the furniture reference, it places it some 4 inches too high... so I am actually levitating above the floor as I meditate . You can't use moveTo on furniture... it stays put where you created it... and besides I have no idea on how to test for high heels and the offset being applied. I could force-remove footwear, but then I'd need to figure out how to catch the exit animation event in order to put the footwear back on (btw, it does align my correctly with the floor if I remove my heels beforehand). Does anyone have tips on how to deal with this?
  11. Isn't it an AI package issue? If you just copied the encHare record, it comes by default with the DefaultCreatureSandboxEditorLocation4000 package, which allows it to wander anywhere within 4000 units (about 60 yards) of its CK location. It does not know about your X marker either. I did not check the details, but I suspect it will also easily activate it's combat override package, which will turn on a fleeing behavior that can send it even further away.
  12. I now award you the official title of 'experienced modder'. Welcome to the club.
  13. I'm pretty sure the formlist will sit in RAM all the time; the array definitely will. It is a cost. It will compete for loading textures and nifs. Not catastrophic since even if you have a few hundred it will amount to a couple of 100Ks of RAM, compared to 8M-40M for a typical texture file. Not optimal but workable, I estimate. Check your esp size, it will give you a good approximation.
  14. So how sure are you about the other part of your code line? csbMagTextHolderAlias[QuestIndex] If csbMagTextHolderAlias and QuestIndex are script properties or variables (not variables local to a function), they will be visible in game with the console command "sqv myquest". I suspect your array is not properly initialized, a common mishap when adding script variables/properties to an already running game.
  15. Replace the Utility.wait( 2.0) with While QuestToRestart.isStopping() Utility.wait( 0.1) endwhile More robust, more responsive.
×
×
  • Create New...