Full Version : XmlSpawner2 version 3.09 released
xmlspawner >>XMLSpawner - Releases & Updates >>XmlSpawner2 version 3.09 released
<< Prev | Next >>
ArteGordon- 05-07-2006
updated to version 3.09
from the changelog
New to version 3.09
updated 5/7/06
- fixed a possible crash bug involving certain invalid quest objective strings. (thanks to LowCastle for pointing this out)
- fixed a parsing problem with extended compound conditional tests in the TriggerOnCarried or NoTriggerOnCarried strings. (thanks to Corbomite for pointing this out)
- added support for exporting custom houses using [WriteMulti command.
- added support for specifying an empty escortable name in the ESCORT quest objective. (thanks to Zyle for the suggestion) The new syntax makes the mobname optional
ESCORT[,mobname][,proptest]
So using an objective string like
ESCORT
will allow you to satisfy the objective by escorting any talkingbaseescortable regardless of their name.
- added the ANIMATE,action[,framecount][,repeatcount][,forward true/false][,repeat true/false][delay] keyword to add animations to any mobile.
For example,
SETONTRIGMOB/ANIMATE,32,5,1,true,false,0
would cause the triggering player to bow.
Or used in the Action field on an XmlDialog it could be used to make an npc bow, like
SETONTHIS/ANIMATE,32,5,1,true,false,0
- added the XmlFreeze[,seconds] attachment that allows you to permanently or temporarily freeze a mobile in place. If attached with no duration argument, they will remain frozen until the attachment is removed.
This can be used with the ANIMATE keyword to keep mobs from moving while animations are applied.
orc/ATTACH/xmlfreeze,10
would spawn the orc frozen for 10 seconds.
SETONTRIGMOB/ATTACH/xmlfreeze,10/MSG/You are frozen with fear!
would freeze the triggering player for 10 seconds and send them a message.
- added the ability to control the spawn positioning algorithm used for individual spawn entries. By default, spawn location is randomly selected from within the spawning area defined by SpawnRange or X1Y1 X2Y2.
By adding one of the following control keywords to the beginning of the entry, several new positioning methods can be used.
#XFILL will add spawns by filling the spawn area progressively in rows of X.
#YFILL will add spawns by filling the spawn area in rows of Y.
#EDGE will add spawns only around the edge of the spawn area.
These can be used to systematically fill spawning areas, when random positioning is not desired.
For example, using the following spawn entry
#EDGE static,89
would spawn the specified statics only around the perimeter of the spawing area.
#XFILL static,82
would fill the spawning area with the given static (depending on the entry maxcount).
#YFILL orc
does the same thing, but fills first along Y instead of X.
- modified some of the stat and skill mod attachments such as XmlStr, XmlDex, XmlInt, XmlSkill and the fame, karma, and virtue attachments XmlAddFame, XmlAddKarma, XmlAddVirtue so that spawners dont report an error when they attach them.
The functionality remains exactly the same, it just eliminates the error messages reported by spawners that were inaccurately indicating that the attachments had not worked even when they had.
- added the new OFFSET,x,y[,z] keyword that can be used to shift the location of an object in a single operation.
SETONTRIGMOB/OFFSET,5,7,3
would move the triggering player by the specified x,y,z amount. This is the same as incrementing the individual x,y,z values like
SETONTRIGMOB/x/INC,5/y/INC,7/z/INC,3
but it does it in a single step and so is smoother in appearance.
godfood- 05-07-2006
Lot's of cool new feature's Arte.
Would it be possible to add an optional arg to the #EDGE that would let you define a "Thickness" to the edge spawning area instead of just the outermost tile?
ArteGordon- 05-07-2006

QUOTE (godfood @ May 07, 2006 03:41 pm)
Lot's of cool new feature's Arte. Would it be possible to add an optional arg to the #EDGE that would let you define a "Thickness" to the edge spawning area instead of just the outermost tile?

thought about that. Havent implemented it yet though.
A couple of other methods that I will probably add are
#PLAYER[,range] - that would spawn around the triggering player
#WAYPOINT,prefix[,range] - that would place the spawn at randomly selected named waypoint locations that started with the given prefix