Spigot version: 1.12.1
Citizens version: 2.0.16
BetonQuest version: 1.9.2
I am very sorry if this issue has already been discusses but the problem I am having:
-Trying to hook the conversation I made with BetonQuest Editor into my Citizens NPC.
-The NPC's name is FarmerJohn (sadly I avoided using and color codes in my NPC's name cause I've seen around here that doesn't work as intended) But I cant get this NPC to say anything from this conversation I made in the editor. What am I doing wrong? I bought the editor because I thought it would make things far easier for me LOL.
-The error I am getting in my console:
[29.09.2017 02:02:43] ERROR: Error in 'farmquest.cluckyquest' conversation: NPC option start points to yes player option, but it does not exist
[29.09.2017 02:02:49] ERROR: Conversation doesn't exist: farmquest.cluckyquest
-In the main.yml I made sure to put:
npcs:
'66': "cluckyquest"
FarmerJohn: "cluckyquest"
-In the cluckyquest.yml (conversation) I put:
quester: "FarmerJohn"
stop: "false"
first: "start"
NPC_options:
start:
text: "Howdy! I really need some help with that there chicken Clucky. Will you\
\ help me?"
pointers: "yes,no,notfinished"
explanation:
text: "Clucky hasnt been laying any eggs lately. I think if you go over there\
\ and feed her some wheat seeds she might pop out an egg for you. Ya up to it?\
\ I have a reward in it for you."
pointers: "acceptsquest,declinesquest"
player_options:
yes:
text: "Yeah I think I can help you out."
pointers: "explanation"
no:
text: "No thank you, I am too busy at the moment."
acceptsquest:
text: "Yeah, I can do that for you."
events: "startquest"
declinesquest:
text: "Sorry, I dont think I am up to it."
notfinished:
text: "Did you get the egg from Clucky? Please come back when you did."
conditions: "startquest"
I could directly spot the error you made:
You should change the main.yml to
npcs:
'66': 'cluckyquest'
cluckyquest: 'cuckyquest'
Explanation:
'66': 'cluckyquest' tells BetonQuest that the Citizens-npc with ID 66 is asigned as the quester with the name cluckyquest.
cluckyquest: 'cluckyquest' tells that the conversation file cluckyquest.yml is the conversation file which defines the conversation for the Quester with the name cluckyquest.
The name the citizens-npc has doesn't matter because BetonQuest does only check for the id.
Using color codes here is no problem at all.
I personally prefer single quotes instead of double qoutes, but in this case it doesn't change anything.
Also I personally perfer modifying the configs directly instead of using the editor because it gives you more insight in how the things work.
If the NPC's name is FarmerJohn then should it instead be?
npcs:
'66': 'cluckyquest'
FarmerJohn: 'cluckyquest'
The npc's name doesn't matter, the only important thing ist the id! :)
Therefore you can also use color codes etc. in a npcs name
Actually, for some reason yes and no as conversation options don't work. I guess it's some yaml stuff. @tony0099 try to change it to any other word, for example yess.
I'll add a special case to this error, so if someone tries these keywords it will tell them to use something else. Don't close this, it's now a bug.
It seems to be the case for a whole range of words.
http://yaml.org/type/bool.html
One way to counter this would be to always put the options in quotes, so that it is evaluated as a string. (that should work from what I've read, but I didn't test it, sry ^^" )
This should be possible to change inside the betonquest-editor.
That leaves only users that directly edit the files:
1.: don't do that, the editor makes everything so much easier!
2.: A check inside the plugin would be nice to warn the users.
Should be possible to check if any option-key is a boolean
Most likely you know all of this already, but just in case :3
Actually, we can't really do that :confused: Bukkit doesn't even read keys that are not Strings. So the only option is to add that to FAQ and make the editor use strings everywhere.