New to version 3.22
updated 8/31/07
Bug Fixes
- fixed a crash bug involving invalid XmlDialog reset times (thanks to Xavier_WER for pointing this out).
- fixed a bug in the SOUND keyword that wasnt allowing it to work properly in XmlDialog Actions. (thanks to PrinceArda for pointing this out)
Modified Features
- added some memory optimizations that should reduce save times a bit.
- added a new 'equippedonly' argument to the GETONCARRIED keyword. This allows you to restrict the target carried object to equipped items only. This upgrades the GETONCARRIED args to match those available to SETONCARRIED. The new syntax is
GETONCARRIED,itemname[,itemtype][,equippedonly],property
For example,
GETONCARRIED,*,baseweapon,true,name
would return the name of any equipped weapon on the triggering player.
- added additional journal logging options with the new 'NotifyAddJournalEntry' and 'EchoAddJournalEntry' properties on questholders (thanks to Syznow for the suggestion). These work in the same way as the recently added 'AddJournalEntry' property, but will also notify the holder of the quest when the entry is added (or modified) if the 'NotifyAddJournalEntry' property is set instead of the 'AddJournalEntry', and will both notify and echo the entry text if the 'EchoAddJournalEntry' property is used.
For example, the following spawn entry that would add a journal entry to the carried quest and also notify the questholder and echo the text to them
SETONCARRIED,Too many orcs,questholder/echoaddjournalentry/A simple request:You met a young woman named Tess outside of the Sweet Dreams inn. She asked if you could help with a small problem she was having with the growing orc population outside of her house near Britain.
would echo to the player
Journal entry 'A simple request' has been added to quest 'Too many orcs'.
You met a young woman named Tess outside of the Sweet Dreams inn. She asked if you could help with a small problem she was having with the growing orc population outside of her house near Britain.
The color of the notification and echoed text can also be configured by adding the following entries to the [XmlSpawner] section of Data/XmlSpawner.cfg .
JournalNotifyColor=0
JournalEchoColor=6
The numbers are the color values used to display the text.
New Features
- added a new targeting option to the XmlUse attachment that allows you to create custom use functions that bring up a targeting cursor on double click.
To enable this feature set the 'TargetingEnabled' property on the attachment to true.
Once this is done, then three additional properties that control targeting behavior become available.
The existing 'SuccessAction' will be performed once the object with the XmlUse attachment is successfully doubleclicked and the target is successfully selected.
When constructing an action, note that GETONTHIS and SETONTHIS will refer to the targeted object. So for example, a SuccessAction like
SETONTHIS/hue/500
would set the hue of the targeted object to 500.
Properties:
TargetingAction
Assign this string to specify custom actions that will be taken when the target cursor is brought up. The action string can be any spawnable entry string and supports multiple actions separated by semicolons.
TargetCondition
A test string that is the same as any xmlspawner condition test. It will be tested after an object is selected with the targeting cursor. If it returns true, then the object can be targeted and 'SuccessAction' will be performed. If it is false, then the 'TargetFailureAction' will be performed.
TargetFailureAction
This action will be executed when the target selection test in 'TargetCondition' is NOT satisfied.
- added the new 'ITEM,serial' keyword that you can use anywhere that you would normally be able to use loot keywords like TAKEN, or ARMOR to refer to arbitrary items by their serial number. (thanks to SteelCap for the suggestion)
So, for example, to take an existing item from a nearby container and drop it into a players bankbox you could do something like
SETONCARRIED,,bankbox,equippedonly/ADD/ITEM,{GETONNEARBY,1,,gold,true,serial}
- added the TakeArms.xml example to xmlextras.zip that demonstrates the use of the new ITEM keyword as well as the new 'equippedonly' argument to GETONCARRIED. To test it out, just '[xmlloadhere takearms.xml' and then walk past the spawner while you have a weapon equipped to trigger it.
The spawner will automatically take your equipped weapon and place it in a nearby container.
- added the 'BlockCommand' and 'ChangeCommand' configuration options to Data/XmlSpawner.cfg that allow commands to be blocked, renamed, or be given different accesslevels. This allows you to control command access without modifying any scripts. These will work on any commands, not just those added by the xmlspawner system. These should be added to the [XmlSpawner] section of Data/xmlspawner.cfg
The syntax for the BlockCommand option is
BlockCommand=commandname, commandname, etc.
The syntax for the ChangeCommand option is
ChangeCommand=oldname:newname[:accesslevel], oldname:newname[:accesslevel], etc.
If the newname argument is omitted, then the oldname will not be changed. If the accesslevel argument is omitted, then the accesslevel will not be changed.
Here is an example entry in xmlspawner.cfg
BlockCommand=freeze, freezemap, freezeworld, unfreeze, unfreezemap, unfreezeworld
ChangeCommand=add:a, xmlfind:xf:Administrator, xmlsave::Owner
This will completely block the freezing and unfreezing commands, rename the 'add' command to 'a', change the 'xmlfind' command to 'xmf' with the accesslevel of Administrator, and will change the accesslevel of the 'xmlsave' command to Owner.