Bug when having more than one 'Deliver to NPC' Quest Active.
whoshenry opened this issue ยท 30 comments
Running the latest Quests on Spigot.
I have 2 Quests where one requires a custom item to be delivered to another NPC. This item can only be retrieved from another Quest. So I take the quest where this item is required to be delivered to an NPC. But to get this item I need to take another Quest, which I do. But because I have the first Quest active, the second Quest doesn't register the specific item needed to be delivered.
To explain a bit easier, Quest A requires 'custom cake' to be delivered. 'Custom Cake' can only be retrieved as a reward from Quest B. Quest B includes items to be delivered, but because Quest A is active, Quest B doesn't register any items when right clicking the NPC to deliver them. This is quite a major bug in linking quests together and having more than one 'deliver to NPC' quest active.
I am still experiencing this issue so I will try and provide as much information as possible here as I've done some extensive testing to figure out what this is.
I am using Quests-2.4.0-b79 on Spigot 1.8.3.
I am using these two quests as examples:
Quest 1 - 'Joe's Fertilizer'
config - http://pastebin.com/Dv0bq2Si
Quest 2 - 'Dorice's Baked Bread'
config - http://pastebin.com/bxWStFTg
Both Quests use the Quests GUI option. However, even disabling this I still have the same issue.
Both NPCs are Human NPCs using a Citizens skin.
How to replicate:
I have recorded a video to help guide you through it - http://youtu.be/YUzR3RBej2w
Go to Joe first, take his 'Joe's Fertilizer' quest.
Go to Dorice, take her 'Dorice's baked bread' quest.
Gather the materials for Joe's quest.
Go to Joe to hand him the bonemeal.
Right click Joe and the GUI appears showing his next quest, quests is not recognising the player right clicking with bonemeal to deliver it to him.
Go to Dorice to try and give her some Wheat Flour.
Right click Dorice and it works, she accepts the Wheat flour (maybe because hers was the second quest you took).
Go back to Joe to try and deliver the bonemeal again and once again, only opens up the GUI.
Finish all the deliver stages for Dorice and complete her quest.
Then go back to Joe to deliver his bonemeal and it now works only when you have this quest active.
This has nothing to do with the 'Wheat Flour' by the way, this is just a custom lored sugar item.
I have also tried this with using animal NPCs however this seems to work fine, I have tried it delivering items to a wolf and a cat and they both work as they should. Seems to only occur with Human NPCs with more than one Quest? These two NPCs only had one quest each though, perhaps this has something to do with it?
This is one of the major bugs with Quests as I have a few quests that require you to take another half way through a deliver-to-npc stage so this messes that up completely.
Curiously, on my server (albeit still 1.8-R0.1) it is sort of opposite of what @whoshenry is experiencing.
If you have 2 or more quests where both are Delivery objectives, it's the bottom one that the players have issues with, and once they quit whatever quest is above it, they're then able to turn in the items.
Now, the biggest difference is we don't use the GUI at all, and so I have no clue on whether or not that has anything to do with the differences in what happens between us. At the end of the day, a number of us are experiencing this and there is commonality between the issue: it's delivery and multiple quest related.
Question: Has anyone attempted questing and not using Citizens? I'm not specifically sure how you even do a delivery quest without them? Wondering if somehow that is to blame, though...?
I'm getting close to releasing Quests on my server after working on it for 3 months and this is still a game-breaking bug, I'm kind of desperate now to get this fixed and I will be willing to pay the Developers to spend some time and look into getting a fix.
@whoshenry I tested your original examples again (New Produce / Camp Supplies) and was able to complete both without the GUI. Here's proof: http://i.imgur.com/v4c2FTI.png & http://i.imgur.com/XQvcf6V.png
Just tried your new examples, also without the GUI, and they worked perfectly. I'm going to try with GUI now, if that doesn't work (like before) I'll have to proceed as GUIs being the only issue.
Yes, ok, it must be the GUI that's the issue, but I'd like to have the GUI active for all Quests to promote the Quests format being exactly the same for all.
When you say you disabled the GUI, did you disable it for all quests or just these two out of curiosity?
The problem must be that when two quests are active and you right click on one to give them the item, it thinks you want to look at the gui menu. I'm not particularly proficient in coding so I don't really know to be honest.
So, following the steps again for your new example with GUI, I was not able to hand Joe the bonemeal. No GUI display, all I got was "No more quests available". I was, however, able to hand over the Wheat Flour to the other NPC. Still investigating.
Yeah that's exactly it. Depending on what order you take the quest, seems that you can give one NPC their items but not the other.
Since this was a widespread bug, I will soon close any open issues that may have been based on it.
Great job, I haven't tested it yet though but can you confirm if the version this will be in is compatible with spigot 1.8.3? I have other plugins which haven't updated yet to 1.8.4.
Just tested this, its now working well with the GUI enabled also, thanks a lot for the update! I can now raise the Quest max limit for my players! Also if you are at all interested to see what I've done with your plugin, we've created a whole new Quests world with over 130 Quests. I personally haven't seen this done to the level of detail before, if you're interested to see, come on and take a look - mc.whoshenry.co.uk
Henry want to see 500 quests on a multi tier lock out system? I've made it so doing certain quests lock you out from being able to do others so its a branch storyline based on race and class stuff.
That sounds incredible Leescar. Mind if you send me the IP so I can take a look?
2 Quests involved including what happens: http://pastebin.com/GJNGUj4V
Just tried it again and when right clicking on Joe for the second Quest whilst holding carrots, it just opens up the Quests GUI and he doesn't accept them.
As you can see I have the 2 Quests active here, but I am unable to complete the second whilst having the first active - http://prntscr.com/6kwkei
The only way to get it to work is to quit the first Quest - 'Camp Supplies' and then I can deliver the items to Joe for the second Quest.
I can backup the issue of where a player may be on multiple quests, that they are not able to complete the other quests they have if the are not the first in their list (when doing /quest). I also found, as whoshenry did, that quitting any quests above the one attempting to complete will "fix" the issue. I've limited players to only being able to go on 2 quests at a time, in case that happens to them and they are unable to complete others. (however that issue is minor in comparison to others I've been having, unrelated to this particular one)
Yeah, this one is quite a major one for me personally, as I have created a basic storyline and town with the use of this plugin and Citizens and the fact the a requirement in some Quests can only be retrieved from other quests. I will also limit the max amount of Quests to 2 to try and avoid this but it still will be a bug unless this is fixed.
This seems to be an issue with the Quests GUI as I was able to access the second quest without it (which may serve as a temporary fix for anyone with this issue - remove the GUI for now). As far as I can tell, Quests is loading the Carrot for the GUI incorrectly. I will look into this further soon.
Err.... but what if you don't even USE the GUI? I don't on my server, yet we still have that issue.
Or is this the cause, and deleting this line from the data.yml will solve it?
npc-gui: []
Yeah, same issue as Foruma350, do you have to completely remove the GUI line in the quests.yml?
This is a shame, I hope there's a fix soon as it breaks up the unity of the look on the Server.
I did also find another way around it for now, for the Quests that require a certain item, I just listed that item as a requirement so the player must have that in their inventory to even take the quest. This is a workaround fix for now.
@Formula350 I only experienced the issue when using a GUI. Otherwise, it worked flawlessly. You could certainly try deleting that line - won't hurt anything.
@whoshenry That said, I still can't duplicate the issue. If you can think of anything else that might be useful, please post it.
@FlyingPikachu I don't really know what else to do, I mean other people are experiencing the issue so it is there, I'm guessing you've done this but have you tried copying and pasting those quests I had above and using those exact ones?
Sorry but it seems to be a big error, i try dfferent ways but this is impossible....
Dont know if it helps but here are the quests: http://pastebin.com/nwGNVsvL
I can do everything but the 2 quest are not working at all.... help
I am having the same type of problem. It appears ONLY the top quest will successfully "register" as a quest if a player has more than one quest then whichever is the top is the one that is counting. I am not using the GUI. If i remove all other quests it works fine. This appears to be only true for NPC turn in quests.
@FlyingPikachu Not sure why you guys can't recreate this. It happens every time without fail for me.
When you have 2 'Deliver to NPC' quests active, you are unable to deliver the required items to the second Quest because you already have a Quest activated. This happens if you have the GUI enabled or disabled.
Anything I can to do help to recreate I have the exact same issues as @whoshenry
Player picks up from NPC not quests list.
Using Citizens2
When doing quests info on the SECOND quest there are NO requirements listed. If the quest is alone or first it shows the requirements.