Quests (Inactive)

150k Downloads

[BUG] Partial Delivery of Item Amounts Causes Deliver Glitch; Player's Items Lost

Formula350 opened this issue ยท 1 comments

commented
  • Spigot 1.8.8 R0.1: 24.04 09:41:42 [Server] INFO This server is running CraftBukkit version git-Spigot-db6de12-18fbb24 (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT) (the final build of Spigot 1.8 as far as I know)
  • Quests: 24.04 09:40:30 [Server] INFO - Version: 2.5.5-b95
  • Citizens: 24.04 10:51:57 [Server] INFO - Version: 2.0.16-SNAPSHOT (build 1296)

Bit of a preface:
We use NPCs for all quests except for like 3 or 4 from our early days.
We have allowed only 2 Quests at a time up (due to previous issues) until last week when I upped it to 4
We use quest giver particles (Notes).
We do not use Quest Menus.
We do not use Quest Logs.
We do not use Events (still need to figure out how to use them).
We have roughly 74 active quests at any given time, as we often do limited-time-only quests which after a week or two we delete (as I don't know how to 'deactivate' a quest to hide it from the list). Note: this could very well be leading to some of the problems because when a quest is removed it leaves a 'null' entry in their data file (instead of the more ideal approach of leaving the entry alone for historic sake). Old players who do lots of quests will end up with a few *dozen of these 'null' entries.

This issue is something we've been experiencing for quite a long time, but has recently seemed to have gotten quite a bit more prolific in its occurrences. I can't be 100% certain but I believe that it started getting worse after Build 90 (I used b90, b92, b95).

I'm not sure if these sorts of changes may have had any sort of impact on this sort of issue?
#91 (Nov 18, 2015 4:18:09 PM) 8. Delay objective event registration to hopefully prevent random failures.

In the past, this issue generally would manifest in the form of a player would turn in items in a multi-delivery quest (as in, various items with various amounts), which would sometimes end up glitching in the way that the delivered amounts get applied to a different item. Example: Quest asks for Golden Apple x 4, Diamond x10, Gold Block x 15, and the Player delivers Golden Apple x4, the quest would for some reason count it as *Diamond* x4. We would then have to have them quit the quest (sometimes forcing it), and take their word on what they had delivered (or the painstaking task of looking up their UUID and viewing their Data file) by returning those things so they could deliver again. (this was before being able to check their Stats)
After awhile of that happening and getting tired of it we started to set up quests with individual Stages for deliveries, that way we could at least see what stage they're on and force them back to it, just the issue now is not knowing if what they delivered was in fact he truth, since nothing registers at all...

For a real-world example, a player tried to deliver 28 Prismarine Shards and it resulted in their quest (below) glitching out, which then an Op has to step in to resolve the matter by forcing them to the next stage.

  custom37:
    name: Boots of the Ocean
    npc-giver-id: 1209
    ask-message: Hey, I need you to do me a favour. If you kill some nasty monsters, I can get you a cool item.
    finish-message: Wow! You did it! Here you go.
    stages:
      ordered:
        '1':
          items-to-deliver:
          - name-PRISMARINE:amount-32
          - name-PRISMARINE_SHARD:amount-32
          - name-PRISMARINE_CRYSTALS:amount-32
          npc-delivery-ids:
          - 1209
          - 1209
          - 1209
          delivery-messages:
          - Wow!
          mobs-to-kill:
          - Guardian
          mob-amounts:
          - 50
    rewards:
      commands:
      - rpgitem prisboots give <player>

I'd add a player file, but there's really nothing to show anyways. When partial delivery is given and it glitches, the file just reads 0 for that item. The 'null' just show up in the "Completed Quests" section.

Anything else I can supply, let me know.

commented

Yeah, this happens in my server too, also, when we restart the server, random players are losing their progress, we have to copy the quests folder before restarting to avoid lost data...
Hope this gets fixed soon :(