Jump to content

[GECK help] Getting the NPCs not picking ingestible items.


Recommended Posts

How do you avoid NPCs not picking close ingestible items, like drinks and food? For example, I noticed Chet (the GS merchant) eating the stuff he has in his shop to sell. After a couple of visits to his shop, one of the shelves was empty, lol.

 

 

In the GECK, I choose an item and check the options 'no AI acquire' and 'Ignored by sandbox' (as I read on a tutorial) but I get nothing. I tried even tweaking the navmeshes, so NPCs wont get close where ingestibles are, but NPCs ignore this and go for the item. I thought a NPC neither walks nor spawns where there's no navmesh O_0

 

Any idea? TIA.

 

 

 

Link to comment

You're changing a package, if a mod doesn't change a package it won't conflict with it. The "worst case" I could picture is Chet still eats them because another mod lower in the LO is changing your package back to its original state with Eat flagged. I don't know, I see changing all the items inside a room potentially more subjected to compatibility issues.

 

Anyway, the only two ways I can think about right now are setting permission and setting Ignored by sandbox. The first doesn't make sense in your case since it's a vendor, the second I've heard it doesn't work as intended from time to time, and you've tested it too. Sorry, no more ideas right now...

Link to comment

I noticed this happens with ingestibles added by mods, as deco or immersion or whatever. I wanted to create a 'personal use' patch to be loaded after these mods.

 

I knew Chet do this, but also, NPCs at Vikki & Vance casino are depleting a few bottles added by a mod in the bar at the V&V. Here is where I altered the navmeshes, but NPCs just don't give fuck and enter the bar anyway O_o

 

Do you think giving these items an ownership could solve this problem? If not, I'll mess with the NPCs, but as I read everywhere is better to let 'em alone, I thoght changin packages as a last option.

 

Thanks for your help!

Link to comment

If you give a different ownerdhip, they won't pick it. Same if you give to NPC B the ownership of a chair, NPC A will probably not use it while he's sandboxing for example.

 

Of course choosing the ownership must be done with some common sense, and here comes the hard choice: if you put "player", you could freely steal them with no karma loss; if you put another character which is in another context, you could steal and they probably will ignore your theft.

For Vikky and Vance you could find a way, there's plenty of people and inspecting their packages you could give some ownership to someone who doesn't Eat: if he becomes hostile because you stole something, you fight back and he's friend of other people, they all probably will attack you.

But in the case of Chet it could sound a bit more complicated: if you set another ownership on an item which he's supposed to sell, he won't sell that item anymore. If you steal that item, he probably will ignore that too. If you put some Goodspring faction... well now this would require a test, but I feel he still will eat it.

 

PS in my opinion changing navmesh is pretty terrible for compatibility, if there's a conflict it could lead to a CTD.

And as you have seen, navmesh doesn't block them that much: if you are present, they probably will warp to reach their destination; if you are not present, they probably will eat without any problems since they don't really need to reach it phisically.

 

Oh there's a thing I forgot to write, but of course it depends by your mod. In the case of Vikky and Vance you could also reduce the sandbox radius, so that they won't reach the food if it's too far away. It depends by the "scene" itself, just think to this if you think it makes sense.

Link to comment

Yes, NPCs eating food is an issue that has long plagued the modding community, I think I have finally solved it however. Try this, it ought to keep them in line. Chet has no hope. Also, try walking into a crowd and dropping a steak, it will be safe.

 

 

 

scn AngryFoodScript

ref food
ref dude
array_var allfood
array_var allNPC
array_var entry
array_var nest
int iDist

Begin GameMode

    ;let allfood := GetRefs 47 ; 4.5.7 only 
    ;let allNPC := GetRefs 42

    let allfood := Ar_Construct "array"
    let food := GetFirstRef 47
    while food
        Ar_Append allfood, food
        let food := GetNextRef
    loop
    let allNPC := Ar_Construct "array"
    let dude := GetFirstRef 42
    while dude
        Ar_Append allNPC, dude
        let dude := GetNextRef
    loop

    foreach entry <- allNPC
        let dude := entry["value"]
        foreach nest <- allfood
            let food := nest["value"]
            let iDist := dude.GetDistance food
            if iDist < 300
                food.PushActorAway dude 2000
                MessageEx "%n is angry with %n" food, dude
                break
            endif
        loop
    loop

End

 

 

angry-food.esp

post-158171-0-28763100-1409034992_thumb.jpg

Link to comment

Lol, taking a sledgehammer to the whole thing, are we?

I though the same, but in a figurative way. I find hilarious that to make something which seems apparently "easy" (if "Ignored by sandbox" would work, than it would be easy...) you must use complicated scripts, arrays, etc. It really makes me think "Ok Chet, here, eat my steak too, I don't want it anymore" :P

Link to comment

@AJ: At least with Chet, I chose a different ownership ('GS milita faction') for the items. After a clean save, he seems to behave properly. I was going to use this solution also with V&V people, after 'vanillicing' navmeshes again. But then, Odessa brought some magic :shy:

 

@Odessa: Thank You!! :shy: I'll try this ASAP I'm at V&V. This should be uploaded everywhere!

 

Thanks again for all the help.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use