ServUO Version
Publish 57
Ultima Expansion
Endless Journey
I have a XmlSpawner that has 7 levels. If a player doesn't successfully complete a level (let's say level 4), then after the duration, it removes the creatures. That all appears to be working fine. However, we're having some strange behavior after that.

After level 4 (for example) despawns, if you go back within range, it now spawns level 5!

Ideally we'd want it to restart level 4 (for say the next 15 minutes), but if it's left alone for more than 15 minutes, then reset all the way back to level 1.

Is this possible? Did we configure it wrong? Why would it advance if it wasn't completed?
 
Have you considered having the item on a timer that deletes it after a set time and using must be carrying to spawn the next step .
So they then have to go back and reacquire the must have to respawn number 1 after a cooldown time before starting again.

I am probably not putting it very clear but if no quest giver item quest restarts because the item decayed .
 
It is possible that the XMLSpawner is configured to advance to the next level if the previous level is not completed within a certain duration. This behavior could be caused by a few different things.

One possibility is that there is a condition in the XMLSpawner's script that checks if the previous level has been completed within a certain duration, and if not, it advances to the next level. This condition could be located in the OnTick() function or in an event handler that is triggered when the duration expires.

Another possibility is that there is an issue with the way the level completion is being tracked. It's possible that the XMLSpawner is not properly detecting when a level is completed, and as a result, it is advancing to the next level prematurely.

To fix this problem, you may need to review the XMLSpawner's script and configuration, and look for any conditions or events that could be causing this behavior. You may also need to check the way the level completion is being tracked and make sure that it is functioning properly.

Alternatively, you may need to add some code to the OnTick() function or in an event handler that will check if the player has completed the level and if not, it restarts the current level, and if it has been left alone for more than 15 minutes, it resets the level to 1.
 
I believe it was caused by a weird timing setting, but we did finally get it resolved. I'll try to get an answer from one of the beta testers who finally figured it out and post it here in case someone else runs into the same issue.

I do appreciate all the help!
 
Back