Bukkit nuNPCDestinations - Create Living NPC's (1.8.3 - 1.12) 2.2.2

Stop having boring NPC's and impress your users with an immersive NPC RPG experience

  1. Nutty101 submitted a new resource:

    NPCDestinations - Give your NPC's a goal in life

    Read more about this resource...
     
  2. This plugin is so badass!

    I have a cauldron server running a forge mod that does something REALLY screwy with its dimensions that totally screws up citizens from working properly, so after about 30 hours of troubleshooting I just had to give up on getting citizens to work with that mod/dimensions.

    Then I saw NPC_Destinations and decided I *had* to have your plugin!

    So after another 40 hours of troubleshooting later to come up with a solution for my cauldron/mod/dimensions/citizens problem I finally got that resolved... just so I could see if NPC_Desitinations would work using the Cauldron-hacked version of Citizens 2.0.13, and yay...it does.
     
  3. Glad you found it of use. Have had this function on my server for a long time, but figured others could use it. There are a couple things that drive me crazy though.
    1. When the NPC's get far away from people (But not de-spawned), they don't move as fast. Working on that one now.
    2. if they end up off the path, they can stand there. Going to release a fix once figure out the best way without just teleporting them to their destination.
     
  4. I'd like to share an idea I have for you to consider down the road for this plugin.

    So the idea would be for a situation where you want to override groups of NPCs to stop what their doing and to relocate to a rally point. Either a pre-programmed rally point upon an admin issuing a command, and/or an impromptu rally point location set on the fly by an admin as part of the command.

    So let's say one has a big city with lots of random civilian NPCs, shopkeepers, etc. And one also has a lot of various groups of guards. I think it would be cool to rally different groups to different locations. Whether it's guards to where they are needed like to defend against an attack. Or like for say... a big special event...say a coronation or whatever. And then afterwords to be released back to follow their normal routine.

    Perhaps using the /NPC Constant string as a group label, like for various "squads" of guards, or groupings for other NPCs.

    Or another way of looking at it: being able to assign NPCs into groups, and then issuing a command to all members of that group that would temporarily override their pre-defined locations.

    Just a random though for your back burner!
     
    #5 brainy_smurf, Oct 30, 2015
    Last edited: Oct 30, 2015
  5. I like that! Let me see what I can come up with. Would they all be tagged with this plugin, or just all NPC's with a group?
     
  6. Well I think using some mechanism as an optional label (such as the "constant" string, I'm thinking) would be the easiest and most logical way (as opposed to assigning an additional trait). One could certainly have a general assignable trait (i.e. "rallyable"?), but these tags are better I think.

    I've not noticed any Citizens-dependent plugins that utilize the /npc constant tags for anything, which just got me thinking, "what would one ever use this for"? And I just thought being able to rally all GroupA NPCs to one point, and GroupB NPCs to another point in an emergency would be pretty cool! And it would be more useful than just a whole NPC flash mob mishmash of shopkeepers, guards, and random NPCs ALL being summoned to one point.

    But to clarify, I do think that this would be suitable for any NPC, even ones that may normally be completely stationary and would not normally benefit from the npcdestinations trait, such that my thinking is that it would make logical sense to have a rally feature be part of this plugin, versus it's own plugin. The nice pathfinding, ability to open doors/gates, etc., would of course be integral to this working.

    Maybe something like /rally on <GroupID> [X:Y:Z] - tells all NPCs with GroupID to drop what they are doing, and come to your location (and wander around a bit once there), or to the coordinates specified. And /rally off <GroupID> which sends them back to their normal routine (or to their spawn coordinates, if they lack a normal npcdest routine). One could also think of this idea as merely the ability to mass-issue a temporary override to pre-defined groups.
     
  7. The one thing that sucks, is by default Citizens does not have an actual spawn location. it has the current location, when they despawn and re-spawn they come back to that location. So it's never actually stored. Now if they have the Sentry trait they have a spawn location and that can be accessed.

    Also a note on the NPC constant, is that it's only in Denzien. So it would be required for it to work via that. I could make a simple trait added onto this for groupings and it's all it would do. So you could group people without giving them the actual destinations trait. The one thing that is hard is stopping whatever navigation is attached to them. So if they are set on the default waypoint providers by Citizens, that will take over and they will keep wondering with that, same with sentry. I will sit and think, as I like the idea and this plugin would be the perfect place to add it as well.
     
  8. I have a working model for this, tweaking and fixing the commands for it. I have added it to this plugin. I need to figure out how to kill the waypoint providers for npc's that are not under my control. Pretty much it's based on a group leader. You assign an NPC as the leader and then add other NPC's to that group. You have an option to just set the location they go to, or have them all rally on the leader, then they go to the point. That way it's like a meeting point, then they go where you want. Very crude atm but getting there. You also assign an amount of time (Could be endless if you want) and once that time is up, they disband and go back to their last location and continue on. Should work well, and i will have an API so other plugin makers can access it to trigger this. Could be a great addition for faction servers, setup groups of NPC's to defend the land.
     
  9. Wow, I'm so thrilled you're really diving right into this! When you get to the point where it'd be helpful to have someone else test things out, I'll be happy to do so. I always keep several test configurations handy.
     
  10. Sure thing! Need to make sure the NPC's go back home and at the moment they all end up in the same location like a blob. So I need to make sure they are all spaced out etc. I will get there, only about an hour into it so far.
     
  11. After tooling around with it i am going to re-write the way the group portion will work. Was having issues getting them back to prior state correctly. I came up with a better way for this without a waypoint provider. The linear path is private and the only way i can see is to populate the config and reload. Not a good way to perform this task.
     
  12. Still looking forward to checking this out if / when you can figure out a satisfactory way to get things going!
     
  13. Oh yeah, I have removed it from the other plugin and I am splitting it out. Adding in the ability to set the group as a guard. So if the leader is attacked they can all rally to that person for help.
     
  14. This is a nice idea! I love you for this :3
     
  15. I added the initial release of the groups. Not really happy with it, but the idea is working. I need to work on a couple things where the existing waypoint providers mess with my stuff. let me know what you think.
     
  16. First of all, I want to say what an awesome plugin this is. I use Citizens NPCs with BetonQuest, and it really makes a world of difference to be able to give the characters a daily routine. The one thing I'm wondering about is whether there is a way to let the NPCs wander a bit once they arrive at their destinations, or to have that something that could be assigned at each destination. When an NPC goes home, it would make sense to just stay in the one room, but when the NPC is out at a farm, it would be nice for it to wander, and I don't know how to do that.
     
  17. I have that on my server as well, but I wrote a different plugin to deal with the mechanics. I did a plugin that actually works the farm and puts the items it harvests into the hyperconomy shops. Should release it but I need to get the permissions, and configs going. It's all static file and not really friendly at all currently as well as it depends on other random things I have wrote.

    Guess the first part would be if they need to stay on the same blocks etc and how to manage that mechanic.
     
  18. I think it would be awesome if they could just wander during a certain time period, within a certain radius.

    I am having so much fun. Since installing NPCDestinations a couple of days ago, I have been re-editing all of the conversation scripts for my NPCs. At first I started to set the conversations based on time of day, but I realize that sometimes if a chunk isn't loaded the character doesn't go to the right spot at the right time, so I am now doing it based on their locations, so that if the player is in certain locations the NPC will say different things. The potential for characters and story has just grown so incredibly. In my Elven Kingdom I am arranging the NPCs to have a council meeting at a certain time of day, in a certain place, where they all gather and their script changes. I'm going to see how, with tags, I can work the conversations so that the player has to help negotiate something. The ability to have NPCs visit one another's homes at certain times of day is awesome too, and I'm changing their conversation scripts to reflect that.

    I will definitely be watching which resources you release. :)
     
  19. Thanks! I have a bunch on my system doing a random selection of things, just a matter of getting the time to clean them up / release them. Sadly most this is for my three kids and others in the area. While i have 6 servers running a ton of bungee instances, not a bunch of people on it. So I am slow in most cases unless someone asks for something. I just get a kick out of programming anything.

    Let me see what I can come up with for you. I might update the WanderingNPC plugin I have to work with this one. I bet that would best bet.
     

Share This Page