hereami Posted November 24, 2022 Share Posted November 24, 2022 How its content could be passed to a quest alias or script, if is not an Actor? Problem as an abstraction: how to allow an Actor to alter a random unprepared object found during Package execution (e.g. SetValue, AddItem, AddKeyword etc.). Example. NPC finds (Find->ObjectList) a lootable object (actor or container) and then uses Say proc and triggers TopicInfo, which does GetDialogueTarget() to extract the exact targeted object for subsequent processing. BUT somehow a Container isn't treated as valid object by that function and probably it returns NULL (alias isn't updated to new value), despite the fact that Target does technically exist and Condition for Target inside Info still determines the type. Took some time to understand this unfortunate misbehaviour. Good enough, but deficient as said. Can't see other methods for now. UseMagic wouldn't hit objects, even if ever worked. Problem is that exact target cannot be known utill NPC interacts, so events on target side, like OnActivate(), OnHit(), are useless here. I guess, weapons cannot apply any effect/script to non-living objects anyways. Link to comment Share on other sites More sharing options...
Blinxys Posted November 26, 2022 Share Posted November 26, 2022 Little hard to follow what you are saying, but from what I gather in abstract terms... Thinking about the "dogmeat found something" trick. Might have a script/trigger to help identify a stored/LL object then transmogrify/process upon discovery. Weapons apply impact data to some objects. (That's a hook at least). Not sure if that helps anything you are working on, but seemed to relate to what you were talking about. :blush: Link to comment Share on other sites More sharing options...
hereami Posted December 3, 2022 Author Share Posted December 3, 2022 (edited) Well, thanks anyway. If more abstract, an object of interaction should be identified and extracted from inside actor's conscience (i.e. packages and procedures, Find proc in particular), not injected into his "mind" from outside (e.g. from event-driven quest, like for dogmeat and companions findings). Suppose it's a weird problem of npc's free will now, primarily the question and method above appeared thanks to ps4 limitations, then it becomes more interesting to model behaviour this way, even though makes no difference from viewpoint of a user, i guess... Edited December 3, 2022 by hereami Link to comment Share on other sites More sharing options...
RaidersClamoring Posted December 4, 2022 Share Posted December 4, 2022 I think we got the answer to this in Todd Howard's interview on Lex Friedman's podcast. They talked about the loot system and he specifically brought up NPCs in previous Beth-games having been able to grab so called "treasures" i.e. reward-items in chests, before the player got to them, and that this had now been adjusted. So it's probably an intentional limitation in their packages.They will still snatch legendary gear in the blink of an eye so not exactly water-tight. >:| Link to comment Share on other sites More sharing options...
hereami Posted December 4, 2022 Author Share Posted December 4, 2022 (edited) I think we got the answer to this in Todd Howard's interview on Lex Friedman's podcast. They talked about the loot system and he specifically brought up NPCs in previous Beth-games having been able to grab so called "treasures" i.e. reward-items in chests, before the player got to them, and that this had now been adjusted. So it's probably an intentional limitation in their packages. They will still snatch legendary gear in the blink of an eye so not exactly water-tight. >:|Haha, curious. Nah, they're fine though, besides usual borrowing of weapons from dead player toon, one time i've seen them taking all clothes and armor, and marauder commented like "this dead meat should have something useful", amazing, paying zero respect to Hero of Commonwealth. I hate devs for ai castration in Fallout 76 (npc used to loot downed players, heh..), that's not a right way to make game more fun.Think it's made differently in a harmless and flexible way. For example, REFR can have a flag NoAIAcquire to prevent npc access, but non-protected containers still can be looted even if locked. Also QuestObject flag in alias for most important thingies. Edited December 4, 2022 by hereami Link to comment Share on other sites More sharing options...
LarannKiar Posted December 5, 2022 Share Posted December 5, 2022 Wouldn't it be better to just scan the area for that particular object in Papyrus, then Package >> Travel >> NPC.PlayIdle(NPCPickUpItemOrSomething)? It may provide better control than AI procedure Find. Link to comment Share on other sites More sharing options...
hereami Posted December 5, 2022 Author Share Posted December 5, 2022 (edited) Probably could, just not for PS. Though still can be a quest attempting to restart every 2-3 seconds and refill an alias, emulating continuous search. Allows explicit filtering, unlike Find, and easy access to subject, but looks too heavy and can't be shared by multiple actors. Package >> Travel >> NPC.PlayIdle(NPCPickUpItemOrSomething) , in this context what is PlayIdle supposed to mean? Because there is undocumented procedure PlayIdle, which i haven't succeeded to crank up and suppose it's undone, or no? Edited December 5, 2022 by hereami Link to comment Share on other sites More sharing options...
LarannKiar Posted December 5, 2022 Share Posted December 5, 2022 (edited) Package >> Travel >> NPC.PlayIdle(NPCPickUpItemOrSomething) , in this context what is PlayIdle supposed to mean? Because there is undocumented procedure PlayIdle, which i haven't succeeded to crank up and suppose it's undone, or no? I meant the "pick up item" animations, the ones that play on actors when they Activate ("pick up") an item. They're under 3rdPPickupRoot (FormID: 0013FE07). Edited December 5, 2022 by LarannKiar Link to comment Share on other sites More sharing options...
Recommended Posts