NPGuys
NPGuys is an Citizens extension that brings NPC interaction to a whole new level...
Overview
NPGuys (Non-Player Guys) - the most anticipated (by me, at least) RPG plugin - has finally arrived! At first it was created for polish server at Ragecraft.pl, it has been rewritten twice so far, but at last, after over one-and-half year I release this masterpiece to public. Now you can easly create complex conversation trees and enjoy talking with NPCs, using smart, scoreboard-based UI. Don't forget to donate.
Features
- You can actually talk with NPCs! I mean, seriously, it's just like in the RPG games! Wow! (see: screenshots)
Planned Features / TO DO
- More dialogue UIs
- Update tutorials
- Support for SkillAPI classes
- Any other ideas? You can post a ticket or a comment.
Technical Stuff
Configuration
If you installed NPGuys and don't know what to do now, you could start your adventure from Basic Guide, then eventually go to other help pages. New tutorials will be added over time.
Commands
- /npguy list
- Lists all created NPGuys
- /npguy select [name]
- Selects an NPGuy for further editing
- /npguy
- Displays selected NPGuy's data
- /npguy attach [id]
- Attaches the NPGuy to NPC with specified ID
- /npguy attached [id]
- Checks which NPGuy is attached to NPC with specified ID
- /npguy activate
- Activates the NPGuy (so you could talk with him)
- /npguy deactivate
- Deactivates the NPGuy (so you could edit him)
- /npguy create [name]
- /npguy remove
- /dialogue list
- Lists all dialogue lines of the selected NPGuy
- /dialogue select [name]
- Selects a dialogue line fro further editing
- /dialogue
- Displays dialogue data
- /dialogue shortcut [shortcut]
- Changes dialogue shortcut (displayed when you pick from several dialogue options)
- /dialogue message set|add [message]
- Changes player's message
- /dialogue message clear
- Clears player's message (so it won't be displayed on chat)
- /dialogue npcmsg set|add [message]
- Changes NPC's message
- /dialogue npcmsg clear
- Clears NPC's message (so it won't be displayed on chat)
- /dialogue response add [dialogue]
- /dialogue response remove [dialogue]
- /dialogue action add [type] (data)
- Adds a new action to be peformed when the dialogue is called (see: actions list)
- /dialogue action remove [index]
- /dialogue requirement add(r|reversed) [type] (data)
- Adds a new requirement needed to choose the dialogue (see: requirements list)
- /dialogue requirement remove [index]
- /dialogue create [name]
- /dialogue remove
- /npguys save
- Saves all changed data to YML files
- /npguys reload
- Loads all data from YML files (All unsaved changes will be lost!)
- /npguys requirements
- Lists all available requirements
- /npguys actions
- Lists all available actions
Permissions
- npguys.manage
- The only permission in the plugin; it allows you to execute all commands
For developers
Missing a feature in the plugin? Want to implement some weird GUI for a modded server? Having too much spare time? If so, there's an API specially for you! Just head for the...
Documentation and tutorials coming soon. Probably.
I need help. This is what I do
/npc create <randomeusername>
/npguy create Trader
/npguy attach 8
but when I try and right click the npc nothing happens
could you fix problems with skillapi scoreboard?
skillapi is covering npguys
All right, here's the deal. You folks are awesome, I can't express how grateful I am for your support. All the more does it make me feel bad that I fail to properly address your requests. That's why I finally decided to take steps towards accepting contributions. If you happen to know some Java, would like to improve the documentation or help in some other way, please follow the progress of preparations here. I'll be very thankful for any input.
Also, from now on please post any bugs or feature requests on this issue tracker. I want GitHub to become the central place for this plugin's development. The comment section here can still remain as a place for general discussion.
Best regards and thanks for everything!
Hey there Goldob,
I hope you're well.
We really need this to be updated, it's the only plugin that I've seen that allows such customization of dialogues with NPC.
Right now it's key to introducing an RPG element on my server, and I'd really love it should you decide to update the plugin.
So far, it functions, but every time I left click a NPguy to initiate a response, the entire server lags out for a good 15 seconds. nothing I can do about it, no error, nothing.
I'm really hoping you'll get this back on track, we're counting on you, and would love to donate for the good work.
Have a great day,
Thuz
In reply to thuzadins:
does this still work?
Okay, okay :D I promise to resume work on the plugin in near future.
Updates! Pls? :D
Does this plugin support 1.9.4? If not, could someone please update it?
Not quite sure if Im missing something or not. There is not config.yml file generating within the NPGuys folder. I can still create, remove, and edit conversations but they have to be done in-game then i have to manually save them with the command before i can edit them in a text editor. With the missing Config.yml i can not edit the way it appears in chat, nor the way the scoreboard looks.
@agentwolf44
Because This Plugin Uses The API From 1.x Version Of Quests And Not For 2.x
Checking if a quest is being performed gives many errors. Could not pass eventhandleLeftClick? Also not able to complete quest objectives, basically any of the things doing something during a quest don't work.
Another chatting idea is having the chatting replies by typing certain numbers to respond
Something very very helpful would be a creation system like the quests plugin has. It would probably be a lot of work, but it would be sooo helpful.
@Goldob
I Have Send You A PM With Yml File Please Check It
@Ted20012001
Could you show me the contents of plugins/NPGuys/npc/<name>.yml file? Without that I won't be able to help.
@Ted20012001
That would be possible with the relations/memory system Dikdraag suggested. I'm not promising anything, but I've started working on it - we will see how it goes.
Can You Add A Feature That You Can See One Dialogue For One Only Time??
plssss update action and requirement list with examples...and i put in requirement PERMISSION Lol.1 I have this permission but it said goodbye and if i remove this requirement i can do the other dialogues (sorry for my english and i use Pex)
@Dikdraak
Thank you. It really makes my work satisfying to receive support like that.
Your suggestion reminds me about a somewhat similar "memory" system I was thinking about some time ago. It was supposed to work in a way that would let the NPC act as if he remembered previous conversations with the player and make the interactions a bit more dynamic. It would be done by storing and reading variables (with special actions and requirements, of course) assigned to the NPC-player pair. That would allow us to unlock new dialogue lines under certain conditions. One simple example would be to increase sympathy value when we say something nice to the NPC and decrease it when we are mean. Later on, when we come back to him, e.g. to get some hints needed to finish a quest, we could either have a dialogue than ends with him accepting or refusing to help.
Anyway, I abandoned that idea. I can't remember why. But now, after reading your comment, I suppose I should rethink that decision ;)
The system I described of course doesn't cover your suggestion in full. But if I decided to do that, I think it would be at least a good base for further development.
I made an account on this site for the specific purpose of saluting you for your awesomeness. And boy, do you deserve it. I have been looking for a plugin that adds advanced conversation trees for some time now, and NPGuys does exactly that and more. Add the fact that it is very easy to configure to the mix and you've got yourself a very solid plugin right there. Thanks for publishing this as a free resource, for my server would have been impossible to realize without it.
Now, as always, I do have some criticisms. No, that's not the right word: I have some suggestions. I would appreciate it a lot if you could add a relations system to the plugin. If you fulfill requirement x, the number z will be added (or subtracted) from the relations value y. It would be very useful if you could then add conversation options that are only available when you have a relations value between a and b with that NPC. This way, you can make NPC's even more lifelike by, for example, actually making them upset that you killed their dog or completed a quest for their nemesis.
That being said, it could be impossible to program for all that I know, so don't put effort into it when it is (nearly) impossible. You've already done way too much free work for the community ;)