I don't really see much of XMLspawner being discussed anywhere on the internet, nowadays and it's great shame.

I've been tinkering around with it for just under a year. As someone who hasn't yet touched upon C script, I find it a amazingly liberating tool. You don't need to be a whizkid programmer to accomplish some fun things for players to enjoy. Take my latest shard project: Ultimate Skullball League:

ai1103.photobucket.com_albums_g466_Expansescreenies_Skullball_1.jpg
A view of a match starting.


ai1103.photobucket.com_albums_g466_Expansescreenies_Skullballbonus.jpg
Rowdy Streakers who invade the pitch randomly.

ai1103.photobucket.com_albums_g466_Expansescreenies_Skullbonanza.jpg
A Skullbonanza - earned by dropping heads in a basket.

ai1103.photobucket.com_albums_g466_Expansescreenies_DirtyDog.jpg
Dirty dog bonus allows you to poison your opposing team.




Now, I have to stress this, I am by no means a coder. And most of this is item triggered, proxy spawner code. I've barely even got a grasp of the syntax required to write complex entries in XML. And yet it's been possible to make something incredibly good fun.

Most of this has been achieved by prodigious research on XMLSpawnerfan or through examining xmlspawners already present on the shard. Simply put it is amazing tool - I positively encourage anyone with a vested interest in UO or their shard to consider learning it.

And I also encourage those with the knowledge to teach others, to embrace the opportunity. Otherwise the knowledge basis will continue to diminish and only ever exist in the now outdated XMLSpawner fan.

For example, here's how achieved a briefly spawning poison field as part of the Dirty Bonus:

PoisonFieldxmlspawner.JPG

PoisonFieldxmlspawner2.JPG
 
I agree, it amazes me that more shards don't use XMLspawner, and most that do, only use it to spawn mobs. There is so much more that can be done with it.

Personally, I find that XMLAttachments are even more greatly underused on shards. I use them for several systems like my token system, my powerhour system, and several others.
 
Part of the reason, for those willing anyway, is that many of the examples online to learn from simply use the out-dated syntax of an older version of XMLSpawner, which is a bit like giving a fork to drink soup with. :p

It's sad though, it kinda feels like the gauntlet was just dropped back in 2006 and just left to gather dust.
 
I use the xml system on a few of my systems. XML attachments make a few things so much easier!
 
It would be great to see some new documentation, tutorials and examples of XMLSpawner. I've not used it in a long time and I can't remember how I achieved what I managed to before such as a 'moving' building, custom quest lines and town invasions.
I know very little about the XML spawner system as a project actually. Who created it? Is it still under development? etc.
 
I'm going to send this to Tutorial since you have shown how to do a bit more with xml spawner :)
 
ArteGordon was the developer. Great guy, extremely knowledgeable and helpful. But one day he just vanished.

Actually, for historical accuracy, Bobsmart is the original developer of xmlspawner. However, it had many issues and did not get supported due to Bobsmart leaving RunUO. ArteGordon picked it up, fixed it and really made it what it is today. Godfood developed the XMLSpawnerfan website and he and I worked closely with ArteGordon on updates and enhancements. Unfortunately, as HellRazor said ArteGordon dropped off the face of the earth followed quickly by Godfood.

Fwiffo has picked up some of the slack in keeping it updated and I have done a few small fixes as well.
 
Ah, Fwiffo - my favourite character from Star Control 2 - The Ur Quan Masters. :D

EDIT>> Although, don't misunderstand my intentions here. I'd like to see the XML spawner to be openly discussed. The guys who've created, maintained and contributed these reliquaries are the only reason there's a still source online to learn from. And I really don't we can ever thank them enough.

However, as the UOCommunity forever dwindles, this will become a source of lost knowledge, particularly if discussion remains halted from whenever XMLspawnerfan ceased to be active. It's time we tried re-igniting the flame here, don't you think? There's sure as heck nowhere else doing it.
 
Last edited:
Yeah, I think so. I'd have to look into that, though.

EDIT>>

SETONNEARBY,20,*,AddonComponent/Hue/33

would dye your entire addon within 20 tiles, red. You can adjust the ToD for when you'd like this to happen on the spawner props.
 
Last edited:
It's worth noting that when you revert it to it's orginal hue, however, that it will revert to the original hue of the tile, not the addon as it might have been custom-dyed before. So, it would have limited applications.
 
oh okay, I want to place a tent addon and have it grey during the day then have it all coloured like the circus was open at night.
 
Heh, well that's complicated. Because applying multiple colours requires you to target specific component parts. I could do it, for sure, but it would need to be sequenced. Using the code I used previously, assigned to the 1st group and either adjust min/max delay so it changes colour at the correct time. The second group would involve specifying each individual components hue and having that on the night cycle. Very fiddly indeed - you'd be pulling a lot of serial numbers for it. :p

That's how I'd do it, but I'm still getting to grips with the thing myself
 
Depending on the size of the addon, that could potentially be a lot of objects loading up on your spawner in one go, things like that can place an unnecessarily heavy load on your server. But yeah, that's even simpler. I suppose.
 
Actually I'm fixing bugs as I find them, and most of them were the kind of bug that could freeze a server or smash your spawners, in fact I wonder why ServUO still includes the default system, I've overlooked at it and it has none of the bug fixes I have done recently, even if I just have abandoned the repository for some time, there are still things I added now and then.

There are for sure other things and bugs to look at, but the have also to be found, this needs people that use this system actively.

As I always said in some situations, the better way to learn is by reading something that was already made, I will include one of the mine creations inside the SVN repository, but that kind of system is a lot complicated to who didn't use the spawner in that way! Knowledge can induce other people to share if not all, but at least part of their work, thus spreading some knowledge-base.

It's hard to learn if you have to start from scratch, and some bugs could lead the user to think that it doesn't work, when there is in reality a bug that blocks the wanted functionality.
 
  1. Actually I'm fixing bugs as I find them, and most of them were the kind of bug that could freeze a server
Heh, I've found plenty of those! :p

I've pretty much had to learn from scratch, whilst I've been lucky enough to have some fairly sophisticated XML spawners at our shard to refer to, it been a process of elimination sifting through functional code in the site. I know it works, it's just a matter of finding the correct syntax.

That said, I usually find ways to cheat (Or give the illusion of doing something) more often than not. That's what I tend to do if I can't get something to work using code from there.
 
Fwiffo, any chance on figuring out why the Refract (Min/Max) do not work if you use a sequenced, grouped spawner?
 
I should look closer into what you're asking, since sequential spawner made sequences, It's possible that among checks and methods the values of refract gets totally ignored, also consider the use of the dedicated 'in sequence' value for min-max...I will respond to you in about after reading closely at the code. I'll edit this post.
 
I should look closer into what you're asking, since sequential spawner made sequences, It's possible that among checks and methods the values of refract gets totally ignored, also consider the use of the dedicated 'in sequence' value for min-max...I will respond to you in about after reading closely at the code. I'll edit this post.

Yeah, if you make any changes from the default for spawning time, despawn time, etc and try to use Refract at all, it won't work. If you try to do a sequence (subgrouping), Refract won't work. The WAITUNTIL doesn't work "all the time" either. So you're left with stringing spawners together to accomplish what could be done on one. (Not complaining at all here, just explaining.)
 
Can you please send me via PM or something else a typical spawner (.xml with XmlSaveSingle), just an example with typical cases, so I can better understand what you intend for expected behaviour, also explain with some words what it should do, I have everything in place but I have to understand in a better way the expected behaviour.
 
Milva's suggested thread is amazing and if you're looking for even more to read you can try these.
http://www.servuo.com/archive/the-ultimate-xmlspawner-how-to-guide-archive.150/
http://www.servuo.com/threads/xmlspawner-command-list.1348/

It's all on the forums :) should try that search box in the top right hand corner.

I believe that once people grab the basics, if you don't mind involving "The Community", asking for some guidance here is still one of the best resources, especially if you can corner fwiffo. :)
 
I'm still here if there is some need :p

The system is actually quite mature, the "Help" of xmlspawner in game gives actual available commands, but if you have any doubt ask :)
 
I agree, it amazes me that more shards don't use XMLspawner, and most that do, only use it to spawn mobs. There is so much more that can be done with it.

Personally, I find that XMLAttachments are even more greatly underused on shards. I use them for several systems like my token system, my powerhour system, and several others.
I would use XMLSpawner a lot more if there was more documentation on it. I personally find it easier to just code things manually since trying to figure anything out with XMLSpawner usually has me Googling for long periods of time and sifting through dead links or unanswered questions.
 
Back