Lemecc Posted September 17 Share Posted September 17 I'd like to condition topics in a dialogue quest to ensure that certain dialogue cannot run if the actor is currently in furniture. Skyrim had - as far as I know - the ability to condition using "IsInFurnitureState" to broadly capture the actor interacting with any furniture. I cannot find the same condition in FO4's CK at all. Is it now under a different name? I've considered using IsCurrentFurnitureObj instead, but there's a lot of furniture objects I'd need to specify and it makes for a real messy and clumsy conditions list. Does IsInFurnitureState (as a condition function I can apply to a topic) exist still, and if it doesn't, is there any other way I might condition a topic to not be allowed to fire unless the actor is outside of any furniture? Thanks! Link to comment Share on other sites More sharing options...
Qrsr Posted September 17 Share Posted September 17 If a certain furniture will always cast a 3rd or 1st person you could at least try to circumvent it by adding a condition which checks the camera state. I have to see if i can find IsInFurnitureState ... EDIT: The following might help ... If you know the Keyword of the furniture of interest it should work: Link to comment Share on other sites More sharing options...
Lemecc Posted September 18 Author Share Posted September 18 (edited) Good shout on "CurrentFurnitureHasKeyword", thanks! It's not an elegant solution since I have to list a bunch of keywords and there's no future-proofing against any new furniture keywords that may be added by CC or mods, but I think it might have the same end result for the moment. Just as a bit of extra context btw, I'm not checking furniture on the player. I'm checking if a dog is using one of the pieces of dog furniture in the game, so no nice broad keywords to use like "FurnitureClassWork" or "FurnitureClassRelax". Every bit of dog furniture has it's own unique keyword and I have to check against all of them, which is why this ends up a bit of an ugly solution. That said, results are results, and that's what matters! I just wonder why "IsInFurnitureState" appears to be removed. It makes sense to me to be able to condition something to check this. Edit: Unfortunately, on testing, this just seems to ensure that the dog has to be in a furniture state to begin with - which makes sense from the keyword title - and that's the opposite of what I want. Back to square one. Edited September 18 by Lemecc Link to comment Share on other sites More sharing options...
Pelgar Posted September 18 Share Posted September 18 I think that in Fallout 4 you are going to want the GetSitting condition. The name is a bit deceptive as It will return a positive if the actor it's called on is using any furniture, probably including power armor. I have not tested it but my guess is it will probably return the same as the script function GetSitState. If I'm right you'll want to test for a return value of 3. 1 Link to comment Share on other sites More sharing options...
Lemecc Posted September 18 Author Share Posted September 18 6 hours ago, Pelgar said: I think that in Fallout 4 you are going to want the GetSitting condition. The name is a bit deceptive as It will return a positive if the actor it's called on is using any furniture, probably including power armor. I have not tested it but my guess is it will probably return the same as the script function GetSitState. If I'm right you'll want to test for a return value of 3. Thanks Pelgar, I'm pretty sure that's doing the trick for me! I think I'm after a 0 value myself, to ensure the actor isn't engaging with any furniture at all before the topic is allowed to continue. It makes sense too, since I recently made some custom AI Packages for Starfield that borrow the sitting template to make an actor glue themselves to a specific piece of furniture, even though it isn't actually classed as any kind of chair/sitting furniture. Now I feel a bit foolish I got hung up on working forwards from Skyrim, when I could have worked backwards from Starfield! Link to comment Share on other sites More sharing options...
Pelgar Posted September 18 Share Posted September 18 Yes, if GetSitting returns the same values as GetSitState a 0 return would indicate not using furniture. Link to comment Share on other sites More sharing options...
Recommended Posts