Jump to content

PJMail

Premium Member
  • Posts

    635
  • Joined

  • Last visited

Everything posted by PJMail

  1. The people who generate lots of precomb/previs for mods (including their own) generally have a process for creating precombines that include running a script to add in these matswaps. If you are interested in their accumulated wisdom on this subject I would suggest you look into the various Discord forums mentioned in the "Previsbine Repair Pack" (PRP) nexus mod as a starter. BenRierimanu has useful info here as well, though this is for using the command line version of precombine/previs generation so probably something you will get to eventually. Problems are still being found so surprisingly after 8 years building precombines/previs (previsbines) is still an area of active investigation.
  2. Thats interesting about issues with narrow gaps - is this a generic fault in the previs system or just a bug in 'our' version of the CK? I don't remember seeing any such problems in the base game's Previs (though I may just have ignored it as 'yet another game bug')
  3. This is very interesting. Can you specify another target/container ? also, is there a similar function that can be used as an alternative to addItem() ? (the papyrus one can cause a reset inventory bug on some NPCs) You can get around that additem/reset issue in papyrus by doing the additem(s) on a temporary container then using "Container.RemoveAllitems(NPC)" to transfer the object(s) to the NPC. This does not trigger the inventory/outfit reset issue.
  4. True - you can add anything you like to the player by, say, using the CK to add inventory items to the player. However, in the context of this discussion, my point was the game actively tries to stop the player getting unplayable items - so to keep that in mind when using script functions like removeallitems. I even think unplayable items can't be transfered to Settlement Workshops, but I haven't done extensive testing.
  5. I have some previs cluster that always fail (they get to somewhere in the 29%-49% range and then the CK gives up). You get a message in the log saying "ERROR: visibility task did not complete". This occurs with the GUI and commandline. Repeating it makes no difference... If anyone tracks it down to a certain set of conditions/references I would love to know. And one possible reason Invisible objects can occur is if the overrides on the effected cells (by the previs build operation) are lost/overriden. This is because any object referenced by the XPRI section in the CELL will not be rendered (i.e. invisible) - as it is supposed to be rendered via the Previs (occlusion Culling) process. The Previs generation process adds this XPRI information (as well as the VISI date) to every cell Previs is created for. If this is overriden/lost (by load order etc) then the wrong objects may be made invisible.
  6. I think at one point I found RemoveAllItems() will not move 'unplayable' items if the destination is the player, but not 100% sure if they aren't just lost. As the player can't have unplayable items.
  7. Thanks LarannKiar - I had everything but the equip Type set, I will give that a try and see if getequippedshield now works. It would be simpler than what I have... I had moved to a workaround already as I found UnequipItemSlot(29) did not work (why?!), so just relied on the initial OnItemEquipped event to tell me the Armor to look for. Then just used equipitem/unequipitem with isEquipped and getitemcount tests. These work (as I am avoiding GetWornItem). And the reason I am doing all this? If you do Actor.RemoveAllItems(destination) their equipped armor is removed but some of the buffs from the imbedded object mods stay! So I need to unequip this Armor first...
  8. I was trying to avoid requiring F4SE (I know and have used GetWornItem). GetEquippedShield seemed the perfect function but just doesn't work for me. I don't want to go through the 'unequipitemslot' + 'event onitemunequipped' mess if I could help it.
  9. Specifically the slot 59 (shield) and the papyrus function "GetEquippedShield()". I have created and equipped an item in that slot, but getequippedshield() returns nothing. Shields in Skyrim are slot 39 (used for something else in FO4). Are shields un-implemented in FO4?
  10. Thanks SKK. I understood your code, but took your sentence as implying more than it did. Just grasping at straws trying to work out this weird partial Cell behavior. Would prefer to be down the Pub. Anyway, your code has given me an avenue for further tests - even though I still don't know what "Attached" really signifies - though the creationkit docs say "Loaded and !attached" = "preloaded" (another undefined state).
  11. That is a very interesting observation, particularly reguarding an obscure effect being discussed on Discord concerning Cell records and Partial Forms (That just adding the presistent cell override to a mod, no refs even required, seems to cause any other cell overrides in that mod to act differently). - this 'could' be related somehow to your assertion - "To preload a cell one has to find (or make) an object in it persistent". What have you seen that suggests this? pDmndGateRef is already defined as persistent, yet the cell is not preloaded until you manually do it via PreloadExteriorCell(). I am also struggling with the difference between "Loaded" and "Attached" (for cells), and what it actually means in-game.
  12. Is it an SCOL? The CK can ungroup an SCOL into it's individual parts. If not then... Still curious why only one window is a problem, but clearly Greekrage has seen this before. The house does not lie near a cluster border does it? Previs can act quite odd in those cases.
  13. I understand all this and it does not help. There are more interactions than just these basics. For instance the models (meshes), whether they have collision, and which of those (ARMO, ARMA, OMOD) has a model, OMODs on armor records, where (or IF) objects are displayed in the pipboy inventory (I said the armor was not being displayed in my pipboy yet it was in my inventory) etc. Thanks Larannkiar for listing these things, however my issues are from the undocumented interactions that people do not normally see as they are creating armor for humans.
  14. What Hereami said - and I would add - there are a number of ways to detect wearing Power Armor but the safest is "WornHasKeyword" with keyword "ispowerarmorframe" (Either in scripts or Conditions). Using the "hasperk" check is problematic.
  15. There is an event triggered when the pipboy opens or closes, but I would not recommend you use it as you then have an object(s) getting the event every time the player opens/closes the pipboy - anywhere. Unequiping is different from dropping so you could have a delay triggered by the unequip that does an explicit item.drop() - however you then still need to syncronise with the pipboy menu (to see if it is still open etc). Messy. What exactly are you trying to achieve as I don't understand your reference to 'pipboy lockup'? Are you trying to drop a quest item?
  16. The relationship between Armor types, BOD2 (armor slots), RACE, and Body Part Data is giving me a headache. I seem to be able to create an Armor that I can see in my inventory, but it won't equip on a non-human race - OR make it available for that race but then can't see it in my inventory (I am using chem bench crafting recipe to make it). What is the minimum I need to do to have an ARMO type object that I can craft and see in my inventory, but when transfered to an NPC of a different RACE I get the 'T (equip)" option when in their inventory? I am really using this to alter that NPC's AV's and resistances so it won't actually be visible on them. The NPC does not have any 'normal' armor slots - only 33 (BODY) - which is used by their 'skin' ARMO. I tried duplicating the dog collar - but it is invisible in my inventory (so I can't transfer it). I can't use a robot as an example as they use a special Workbench to get around this issue. The closest example is Pet Armor - but it is not working for me, I think because I can't use standard armor slots. I am not sure how the Pipboy inventory decides which screen to display an object in either. Thanks
  17. If you just want to exclude the window itself from precombines there are a whole bunch of things that you can do to the REFR that don't need to be undone after previs generation (unlike 'initially disabled'). The following fields block it from being precombined - Disabled, Deleted, XESP, XATR, XEMI, XKLR (unless if it is MultirefLOD), XLRT (of types NoObjectCombinationReftype & BlockPreVis). The simplest is just giving it the XLRT type of "NoObjectCombinationReftype". I am interested to know if the non-occluder flag fixes your issue however... very odd bug you have there.
  18. I do wonder if landscape are actually built into previsbines, or the 'broken' detection is just checking all cell children indiscriminately. Something to test at some point.
  19. I know what you mean - 80% of my load order work is rebuilding visibilty as every mod now seems to include new/rebuilt precombines. My wish for those xedit scripts I mentioned above is serious as I could use them to create a special mod that I could then feed into the command line 'build visibility' operation (to just rebuild visibility where it is broken - so CK might actually finish without crashing!) And I am not even considering where I have to rebuild precombines as well because 2 mods touch the same cell... Yuk.
  20. Interesting - I suppose it is logical as the landscape record is a big list of vertexes so can be considered a static mesh itself. I gather then that the 'disable precombines' detection works the same way for it (compare it's VC1 date to the CELL's). Live and learn.
  21. Someone has mentioned that landscape are static meshes so also included in precombines. I can't confirm or deny this, though it seems odd as they are not listed with the rest of the precombine statics in the CELL record. I would not put it past Bethesda to be inconsistent though.
  22. Another situation it would be nice to have a detection script for. Though I don't think it would be possible (except perhaps one that just says 'this mod breaks precombines')
  23. I am clearly missing something as you know far more than me, but what you describe sounds exactly like what happens when you have a mod that breaks precombines (moves/deletes precombined statics) but works because it relies on the game noticing this and disabling precombines in that Cell. Then a later mod comes along and updates that Cell's precombine date (PRP does this all the time to me) - so that now the game thinks precombines are not broken (cell date is later than all the Refr vc1 dates) so enables precombines which shows the original objects - not the moved/deleted ones.
  24. Hi niston - are you sure the VC1 info on the changed refr's wasn't causing this issue? CK and xedit seem to handle that field differently. Not sure what you used for the patch. Can't imagine the 'rule of 1' isn't being followed.
  25. I think you are correct as precombines are only composed of referenced statics (including SCOLs), and previs is constructed from precombines (only). This implies previsbines ignores landscape (terrain) records. The important thing to remember is my point about previs - it must 100% match ALL the precombine meshes in the 9 cells a previs (uvd) file covers. Just one changed/rebuilt precombine mesh causes visibility issues. Does your script look at this? You mention 'files' (I am away so can't try your script). I would LOVE a script that could (at least) tell me 'this mod has broken visibility in these cells'. Unfortunately making no changes to a Cell, but rebuilding precombines in it, can break visibility - so just looking at cell changes is not enough.
×
×
  • Create New...