RoyBatterian Posted April 16, 2015 Share Posted April 16, 2015 Not a new game but different games (I'm modding that one since more than a year) and from clean saves.This is the scenery: I have a group of NPCs which are alarmed via radio if the player attack another group of NPCs. Since the first group is on another place, if the player wasn't "meeting" them before (entering in their zone), their Travel package wasn't working as intended. After un-flagging that flag, it started working. They're all Persistent References, since I'm scripting all these situatios. However my package is a very basic movement from point A to point B, there's no transaction from Worldspaces or Interior / Exterior, maybe your case is more complicated Well it's something as simple as a merchant in a store. For instance, Frankie in his Ammo shop in Goodsprings (part of AWOP). I can set him to unlock the door at say... 8am and lock it again at 10pm. He is a persistent reference, and he does not travel out side the cell (for now). When starting a new game, he will never unlock the door. If I unlock the door via console and then enter the cell, and leave again. He will continue to unlock/lock the door until the cell is purged, at this point he will stop unlocking the door again. It is a very strange thing, and it's a long standing problem with Moira and Rivet City as well in TTW as other examples. Of course this works perfectly fine in Fallout 3, always, without issue. I have setup a quick test vendor in Springvale with the same setup, and it works without fail in the Fallout 3 engine. Link to comment Share on other sites More sharing options...
rickerhk Posted April 17, 2015 Share Posted April 17, 2015 I don't want to say packages are totally broken because they work very well if the NPC is in the player's loaded cell. Packages in general have broken features in FNV compared to FO3 or Skyrim. At times, NPCs will just be teleported to their destination instead of actually running the package. Package result scripts can fire multiple times if they go through a portal. I've seen A 'find' package to an XMarker cause CTD as the NPC appears to bend over to pick it up :) (I have not tried this in FO3). Wander package - continue in combat flag will just make them ignore being shot. They had to hard-code followers being teleported to you because of follow package bugs. Sandboxing - if there is a furniture item off the navmesh the package will break if the AI happens to randomly pick that one. There's other stuff I can't think of now but when I want everything to run consistently every time I just do a script. Thankfully package conditons themselves seem to always work and if you move an NPC with your script, it will run the package you set for it. Also the combat style set in the package is reliable. Link to comment Share on other sites More sharing options...
llamaRCA Posted April 17, 2015 Share Posted April 17, 2015 Packages are very difficult in NV v FO3. There are so many things that don't work like they should. Rick's summary is a good one. I've seen most of that (have never seen a NPC try to pick up a marker (ha), but have seen other bizarre things). Like Rick, I script package behavior to get what I want from a NPC when I want it. Re: FrankieI'd try evping when the player first encounters him or when the game starts, etc. If he has more than one of that particular package type I'd give each package a unique condition. In NV NPCs can have trouble "choosing" the correct package from among packages of the same type. Using a unique condition and scripting an evp forces them into the right package at the right time. Also, you might try playing with package flags. Moira, for example, fails to unlock her door sometimes (not TTW) but I've never have that problem with Chet and they have different flags ticked in their packages. I don't know which NPC is responsible for the RC doors so couldn't look up those packages (not TTW and RC is reguarly locked when it shouldn't be). When problem solving a NV package problem I look at everything. Packages are so messed up the problem can be something you don't expect or think should work a certain way and then doesn't. Edit:Missed some of what you'd written. So, yeah, when the player isn't in the cell the NPC might do nothing. It's not unusual for them to wait to execute until the player is present. They'll be in the right package per scripting, etc, but just do nothing about it. One way I got around that (to get a NPC moving through the gameworld when the player isn't present) was to make the NPC a quest object. Link to comment Share on other sites More sharing options...
RoyBatterian Posted April 17, 2015 Author Share Posted April 17, 2015 Thanks much both of you, gives me some insight into what I can possibly do to fix the problem with Frankie I am having. When you say scripted, do you mean a script attached to the NPC or a quest script, or both like a companion would have? I have done quite a bit with companions (at least vanilla style). I am well acquainted with companions now and their packages/flags/behavior, but by no means an expert. What I am wanting to do is have Frankie travel home and back, much like Cliff Briscoe and lock/unlock the door to his shop, and house. So I setup travel packages, and a sleep package, and also the idle package so he sits on his stool in the shop waiting for the player. I would also like to have his guard accompany him to and from, much like the caravan guards. I checked Chet and I see that he is locking/unlocking doors in his sleep package, so that must be the trick. Thanks :) Setting them as a quest object is interesting, I wonder if that could fix the issue with Hannibal and the slaves getting stuck in limbo bug that's been in Fallout 3 forever. The Rivet City guards all have a key and a lock/unlock package for the doors. Funny enough, the door to the flight deck has no key/lock data. The player teammate thing is in FO3 too, with the teleporting. I managed to finally fix that dumb bug with Paladin Hoss and the Initiate by ref.setplayerteammate 0 in the quest completion scripts. I still play and try to fix bugs in Fallout 3 so my inquiries also pertain to it. :) Link to comment Share on other sites More sharing options...
rickerhk Posted April 18, 2015 Share Posted April 18, 2015 Use a quest script if you need the NPC to traverse cells because that will always run near the interval you set for it, no matter where the player is at. Object scripts only run when the player is in the same loaded cell (except activation blocks you can trigger them with the activate function from anywhere). Link to comment Share on other sites More sharing options...
RoyBatterian Posted April 18, 2015 Author Share Posted April 18, 2015 (edited) OK, I can just use GetGameHour and AddScriptPackage followed by evp to make them do whatever based on time of day then I take it. :EDIT: Thanks again to both you, setting the base form as persistent definitely fixed the problem with the locking and unlocking. Edited April 18, 2015 by RoyBatterian Link to comment Share on other sites More sharing options...
llamaRCA Posted April 19, 2015 Share Posted April 19, 2015 OK, I can just use GetGameHour and AddScriptPackage followed by evp to make them do whatever based on time of day then I take it. Script packages are understood to be packages that aren't added to the NPCs package list in the NPC record. If you use AddScriptPackage followed by an evp then you cause the NPC to immediately check through his list and pick the package, in the NPC package list, which fits the current conditions. NPCs can also "fall off" script packages during the next regular evaluation that the game imposes on the NPC. That means that AddScriptPackages are good for things like delivering dialogue lines or anything else that doesn't require the NPC to stay on that package for any length of time. If you add a package to the NPCs package list then you would use evp and make sure each package the NPC has in its list is distinguished from the others in some way (unique conditions, times applied, etc) so the NPC will be able to pick the one you want when you want that action performed. Hope that was clear :smile: I have a migraine and they make me dumb. Link to comment Share on other sites More sharing options...
Jokerine Posted April 19, 2015 Share Posted April 19, 2015 That could help me a bit, too. I've tried to add some packages to my companion with AddScriptPackage but for some reason he stays on the new package (so to speak) for a couple of seconds and then goes back to following me :pinch: Thanks for the pointers! :kiss: Link to comment Share on other sites More sharing options...
RoyBatterian Posted April 19, 2015 Author Share Posted April 19, 2015 Ah I see, so I can use them for temporary actions that I don't want them to do more than once, or... I could use RemoveScriptPackage to remove a package and replace it with a new one? That seems like an interesting and useful thing if it's true. I like dynamic NPC behavior. That seems easier than creating a package list because GECK won't let you sort the order of packages which is very very annoying having to rebuild the whole list each time you change something. Link to comment Share on other sites More sharing options...
llamaRCA Posted April 19, 2015 Share Posted April 19, 2015 (edited) Ah I see, so I can use them for temporary actions that I don't want them to do more than once, or... I could use RemoveScriptPackage to remove a package and replace it with a new one? That seems like an interesting and useful thing if it's true. I like dynamic NPC behavior. You can use script packages to have them do something more than once. You just have to set it up so that it works whenever you want it to. You can have a NPC pick something up in the environment, comment, find/use something, etc. If I want a NPC to do multiple packages following one after the other I create "scenes" that run a NPC through those packages. I usually use a quest (with a very high priority and a script) that I turn on/off again just to run the scene. I use staged timers for that so I can move the NPC off and on of script packages as needed. However, if I absolutely need a NPC to stay on a package for any significant length of time (say sleeping) I put that package into the NPC package list. Most of the scenes I set up are run entirely with script packages, because yeah, getting the package order right and working in the NPC list can be difficult. I usually only escalate to putting the package into the NPC's list if it fails as a script package. That seems easier than creating a package list because GECK won't let you sort the order of packages which is very very annoying having to rebuild the whole list each time you change something. At the top of the list of packages is "AI Package List" and two buttons. The left one (<<) moves the chosen package higher in the list and the button on the right (>>) moves the chosen package down the list. Managing the package list order can be more frustrating in NV than in FO3. I think it's easier to sort and get things working in FO3. @Jokerine - Hi :smile: Anytime. Edit: for clarity Edited April 20, 2015 by llamaRCA Link to comment Share on other sites More sharing options...
Recommended Posts