Full Version : XmlSpawner2 v3.15 [RunUO 2.0] released
xmlspawner >>XMLSpawner - Releases & Updates >>XmlSpawner2 v3.15 [RunUO 2.0] released


<< Prev | Next >>

ArteGordon- 08-29-2006
New to version 3.15
Bug Fixes
- modified the [WriteMulti command to support staff names that have spaces in them when accessing files (thanks to Xavier_WER for the suggestion).

- fixed a problem that was introduced in v3.14 with the addition of ISpawner support in which [xmlhome would not be able to find the home spawner of a creature after a restart. I had incorrectly assumed that the Spawner information on items/mobiles was being serialized and it isnt. Now initialization code has been added to restore Spawner information after restarts.

Modified Features
- modified XmlSpawnerGumps.cs to accomodate changes to Gump handling introduced in SVN rev 78 of the RunUO server. This should allow you to compile with the latest version of the server and should also work with pre-78 servers.

- custom regions that get registered after initialization will now be detected and can be used by region spawners.

- added support for assigning a mobile used to allow spawners to issue commands using the "COMMAND/commandstring" keyword by assigning the name of the mobile in the static CommandMobileName variable at line 341 in basexmlspawner.cs.
Commands in RunUO are required to have a mobile associated with their execution to allow accesslevel verification. This mobile will be used to issue all commands executed with the COMMAND keyword. The accesslevel of the mobile will determine the commands that can be issued.

This mobile can be a dummy character/creature that was created just for this purpose, or an existing character.
The commandstring is any string that you would normally type on the command line (without the command prefix).

CODE

       private static string CommandMobileName = null;


If the value is left null, then the COMMAND keyword will only work with triggered spawners when the triggering player has sufficient accesslevel to issue the command.

- modified random subgroup spawning. Subgroups that cannot be completely spawned will not be selected for random spawning. All spawn entries in the subgroup have to be below their individual maxcount, and fully spawning the subgroup cannot exceed the overall spawner maxcount. Previously those subgroups would simply spawn the entries of the subgroup that could be spawned.
This will apply to both random and sequential spawning but note that forced subgroup spawning, as part of a conditional statement, for example, will still allow partial spawning of the target subgroup.


New Features
- added the new #NOTILES,startid[,endid] spawn control keyword. This is similar to the #TILES keyword, but it allows you to specify the land/static tiles that the spawns for an entry will NOT be placed on. Only passable tiles that are not on the #NOTILES list will be used for spawn placement.

The example below has 2 spawn entries.
The first entry uses the #NOTILES keyword to specify that the orcs should NOT be spawned on grass tiles with ids of 3. Note that the lava tiles are not passable and so the orcs are placed on dirt, which is the only passable, non-grass tile around.
The second entry uses the #TILES keyword to place the lavalizards on the lava tiles.
user posted image

- added an optional 'equippedonly' argument to the existing SETONCARRIED keyword that would allows access things like a players bankbox. The new syntax is
SETONCARRIED,itemname[,itemtype][,equippedonly]/prop/value/prop2/value...
where specifying 'true' or 'equippedonly' for the equipped only arg will only look at items that are directly equipped on the mobile, and that would include bankboxes.
So to add something to a players bankbox you would do
SETONCARRIED,,bankbox,equippedonly/ADD/gold,500

- added the new KILL keyword that can be used to kill mobiles. For example, the spawn entry
SETONTRIGMOB/KILL
would kill the triggering mob, or
SETONNEARBY,5,,rat/KILL
would kill all of the rats within 5 tiles

- added optional args for specifying hue and font in the BCAST keyword (thanks to Xavier_WER for the suggestion). The new syntax is
BCAST[,hue][,font]/message
Note that this uses the same hues and fonts as the SENDASCIIMSG and ASCIIMSG keywords,
SENDASCIIMSG[,probability][,hue][,font]/message text
ASCIIMSG[,probability][,hue][,font]/text
so you can use them to test out various text/color combinations without having to actually broadcast to see what it looks like.
user posted image