CitizensDev / Citizens

NPCs for Bukkit
citizensnpcs.co
Other
107 stars 53 forks source link

Possible Citizens/Multiverse incompatibility? #201

Open hiro24 opened 12 years ago

hiro24 commented 12 years ago

This deals w/ questers. If you have a quest to go to a given coordinate in another world it works fine. However, if you accept the quest and then unload and re-import the world, the quest breaks. You can no longer complete the quest by going to the coordinates. Tried dropping/picking back up the quest. Tried logging out/logging back in. Bukkit RB 1185/Citizens dev build 212.

(Back story.. the reason I'm doing this is b/c I have a multiverse world dedicated to dungeons which w/ regular use gets trashed, so every 4 hrs I had it set up to unload the world, restore it from a backup, and re-import it.)

hiro24 commented 12 years ago

I figured out I could remove the quest from the quester, do a /citizens save (I think it was), then a citizens reload, drop the quest, reset the npc as a quester and give him back the quest, and re-take it. I could then complete the quest again. So normally, I would script this up into a scheduled event and I could work around this problem. However, a couple of those commands needed say they must be ran in-game, so I can't do it from console. Has anybody had a chance to look at this? I know it's kind of a specialized bug, but it is a bug nonetheless. Thanks in advance. :)

fullwall commented 12 years ago

Is there an exception in console?

hiro24 commented 12 years ago

Nope, no exceptions. The quests just don't finish after /mv unload and /mv import normal. No error, nothing... it just... doesn't complete at x y z coords anymore. Server restart required.

fullwall commented 12 years ago

Probably what's happening is that you're first setting the world that the quest is using to null, then making a new world with the same name, but the world the location refers to is still null. Hrm... messy to fix :/

hiro24 commented 12 years ago

the fix I mentioned above? Yeah, it's very messy... actually, didn't really "fix" it either.. only case by case and it's a lot of interaction. :-\ I understand how the quest would break when the multiverse world disappears from the server and then magically re-appears. I'm not sure how it could be fixed.

fullwall commented 12 years ago

Basically you'd need to recheck all the objectives of all the quests for null locations on world unload/load and see if they can be fixed.

hiro24 commented 12 years ago

I'm not sure how I could do that w/o intervention. I mean.. I'm trying to script this to be something that doesn't require intervention to fix. That's the problem. When the quest is set up it's not really a null location. When the world unloads, it becomes a null location. When it's re-imported, it never changes back, and I'm not sure how to fix that.