RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

XmlSpawner2

Solinari555

Wanderer
Hey, really great scripts!

I would really looooooove to use this system, but it really isn't that user-friendly. First of all, staff have about 5 billion new commands. Secondly, no offense meant, but the tutorials inside it really arent that great.

I have a couple of requests. Firstly, please try and reduce the number of commands in this system. I really know how long this would take, but it would be a help to SOOO many people, I am sure.
Secondly, please expand a little bit on the tutorials. Also, maybe include a more detailed description of all of the keywords and properties of the spawner itself.
I must sound like a total ass, asking all this of you, but please at least attempt some of them.
 

ArteGordon

Wanderer
yes, the expanded descriptions of keywords and actual tutorials are definitely in the queue. What are currently included are more examples than tutorials, they are designed to demonstrate features, but not really provide detailed instruction in their use. That is left to the user at this point. I do agree that there are a few redundant commands (like the older respawn and load/save commands) that could be eliminated to reduce total command count, and I think that's a good idea.
I'll think about how the current command system might be consolidated into a more compact control interface.
 

Anvil

Wanderer
What would be the proper command and syntax to spawn an item in a container and have it so the spawner doesn't decay and go away? I tried [xmladd and then set the name of the spawner, and all the spawn times/ranges, etc, and then clicked add and selected the container I wanted it in. It showed up in the container, and spawned the item, however, it had a decay time on it and eventually decayed and the spawner was no longer valid. Any help on this would be appreciated. Thanks!

Anvil
 

ArteGordon

Wanderer
hmmm. shouldnt do that. I'll check it out.

(edit)
did you mean the container decays or the spawner decays? The spawners have a decay override so that they shouldnt ever decay on their own. When placed in containers it is possible for the containers to decay with them inside.
 

ArteGordon

Wanderer
hmm. ok, thanks. I'll have to puzzle over this for a bit since I'm not sure how it can happen with decay overridden (the fact that it still shows a decay time doesnt mean it will decay). The spawner should also not even be movable after being placed. Is this with normal containers (i.e. do an [add metalbox, and then place the spawner in there)?
 

Anvil

Wanderer
I'll test this again, however the spawner wasn't invis like it is when it's on the ground, and it was inside a bookcase.
 

ArteGordon

Wanderer
spawners inside containers will appear light purple to staff (instead of the gray color they appear when in the world) but are still invis to players. Let me know what you find as I haven't been able to reproduce it.
 

Carnosa

Wanderer
How do I get it to work like bobsmarts version where i click which facets I want to spawn and it spawns it for me?
 

Anvil

Wanderer
Ok, the spawn in the containers is working just fine. I must have done something wrong. Sorry for the confusion.

Anvil
 

ArteGordon

Wanderer
updated to version 2.66

from the changelog

Version 2.66
updated 10/19/04
- added support for flagging quests as either non-repeatable, or repeatable but only after some time period. If the Repeatable property is set to false on a questholder or questnote item, when the quest is completed and deleted, the player will be given a quest attachment (XmlQuestAttachment) that will flag the player as having completed the quest. If the Repeatable property is set to true (the default) and the NextRepeatable property is set to a TimeSpan value, then the attachment will be set to expire after that time. As long as the XmlQuestAttachment with the quest name is attached to the player, objectives for that quest cannot be completed. The quest can still be held by the player and when the attachment expires, the player can then repeat the quest. Note, staff can add or remove these attachments in-game using [addatt and [delatt to manually control whether specific players can repeat specific quests. The repeatability status of a quest will be shown at the bottom of the quest status gump.
For example spawning a quest as

questholder/name/waitforme/objective1/KILL,orc/autoreward/true/rewardstring/ARMOR,1,2/nextrepeatable/10:00

would make a quest named 'waitforme' with the objective to kill an orc and a random armor auto reward that could only be repeated once every 10 hours.

questholder/name/onlyone/objective1/KILL,balron/autoreward/true/rewardstring/ARMOR,4,5/repeatable/false

would make a quest named 'onlyone' with the objective to kill a balron and a random armor auto reward that could only be done once.

- added the .xml example repeatquest.xml that spawns a quest that can be repeated once a day and gives 2 hours of life drain ability as a reward.

- an additional help panel has been added that lists the syntax for the various quest objectives. This can be accessed by selecting the arrow button in the top right of the help panel to advance from keywords, to commands, and then to quest objectives.

- added three new attachments. XmlStamDrain, XmlManaDrain, XmlLifeDrain. When attached to a mob or weapon, these will drain stam/mana/life from the defender on each hit and give it to the attacker. If attached to an item in the world, it will drain a random amount of stam/mana/life when a player moves near it. The random value will be between 0 and the argument to the attachment. The default refractory period between uses is 5 seconds.
For example, using the command

[addatt xmllifedrain 30 3 120

and targeting a mob, would give that player/mob 2 hours of lifedrain ability that would drain 0-30 hps on every hit, with a max rate of once every 3 seconds.
 

ArteGordon

Wanderer
- minor modification to the XmlStamDrain, XmlManaDrain, and XmlLifeDrain attachments. If a negative drain value is assigned, then the attachment will report itself as a curse when attached.
 

ArteGordon

Wanderer
yes, there are several ways to spawn thing in containers. The easiest is to just place the spawner in a container and spawn away.

You could also spawn the container itself with items already added to it, like this

metalbox/ADD/ARMOR,1,2/ADD/WEAPON,3,4/ADD/LOOTPACK,filthyrich

which would spawn a metal box with a random piece of lev 1-2 magical armor and a random magical lev 3-4 weapon, and a filthyrich lootpack.

There are a couple of other ways as well that involve adding things to existing targeted or named containers, also using the ADD keyword.


(edit)

and the easiest way to add a spawner to a container is to use the [xmladd command, press the Add button, and target a container.
 

ArteGordon

Wanderer
Updated to version 2.67

lots of additions in this one


---------------- spawner changes -------------------------

- added support for compound TriggerOnCarried/NoTriggerOnCarried tests using the & and | operators. This allows testing for multiple carried items. For example to trigger the spawner when a player is carrying both the platehelm named 'Helm of Light' and the longsword named 'Sword of Light' you could use the following string in the TriggerOnCarried property, "Helm of Light,platehelm & Sword of Light,longsword"

- the SET series of keywords (this includes SET, SETONMOB, SETONTRIGMOB, SETONCARRIED, SETONSPAWN) now supports assigning properties on attachments. Whereever a property would normally be specified for those keywords, the new property keyword ATTACHMENT,type,name,property can be used. For example, to set the value property to 34 on an xmlvalue attachment with the name XS on a triggering mob you would specify "SETONTRIGMOB/ATTACHMENT,xmlvalue,XS,value/34" (See attachtest3.xml for examples).
The attachment properties can basically be treated as extensions of the target object's properties.

- modified the syntax for referencing attachments using the GET series of keywords. Whereever a property would normally be specified for those keywords, the new property keyword [ATTACHMENT,type,name,property] can be used. For example, to read the value property on an xmlvalue attachment with the name XS on a triggering mob you would specify "GETONTRIGMOB,[ATTACHMENT,xmlvalue,XS,value]". The change involved using [] instead of <> for the ATTACHMENT delimiters. This was to resolve a conflict with the use of the old syntax in conditional tests. The example attachtest1.xml has been modified to reflect the change.


---------------- attachment changes -------------------------

- added gump support for displaying/editing/deleting attachments on an object that can be accessed with the [getatt, [delatt, or [xmlfind commands.

- added support for displaying and editing attachment properties using the standard properties gump.

- modified the [getatt command to bring up a gump listing all attachments on a targeted object. Selecting the properties gump button next to the desired attachment will bring up the standard properties gump to support for display and editing of attachment properties that have been flagged with the command property attribute (just like item and mobile properties).

- added the AttachedBy property to attachments that has the name of the staff or spawner that first applied the attachment.

- added the DoDelete property to attachments that allows spawners to delete attachments by setting this property to true. For example, to delete the the xmlvalue attachment with the name XS on a triggering mob you would specify "SETONTRIGMOB/ATTACHMENT,xmlvalue,XS,dodelete/true" (See attachtest3.xml for examples).

- modified the [delatt command to bring up the attachment gump if used in targeting mode rather than deleting all attachments on the targeted object. Attachments can still be deleted directly by serial number using the "[delatt serialno" command.

- added support for the OnKill(Mobile killed, Mobile killer) method that will be called when a player kills something. The HandlesOnKill property must be set to true on the attachment for this to be invoked. Installation steps 2 and 6 must be performed to support this.

- added support for the OnKilled(Mobile killed, Mobile killer) method that will be called when a player or mob is killed. The HandlesOnKilled property must be set to true on the attachment for this to be invoked. Installation steps 2 and 6 must be performed to support this.

- added the XmlEnemyMastery attachment that will increase damage by the specified percentage when enemies of the specified type are hit with a weapon. This can be attached to mobiles or weapons. An example of spawning a weapon with this attachment is given in enemymastery.xml

- added support for a mob faction system. The full description of this system along with additional mob faction related attachments is in a separate submission thread (XmlMobFactions).

- added support for a pvp points system. The full description of this system is in a separate submission thread (XmlPoints).

- added an installation step (step 9) to support the OnEquip and OnRemove attachment methods (this is needed to take advantage of the XmlFactionEquip attachment).


---------------- quest changes -------------------------

- added a new AttachmentString property that works in the same way as the RewardString only for attachments. This allows both reward items and reward attachments to be specified by string in a single quest.

- changed the way RewardString works so that attachments can no longer be specified in it. Now there are separate specification strings for reward items and reward attachments.

- modified the .xml example minionstrike.xml to reflect this change

- pressing the display reward button on the quest gump will identify the reward attachment if any is present as well as displaying the reward item.



---------------- xmlfind changes -------------------------

- added the ability to open the attachments gump from [xmlfind. Objects with attachments will have a blue bullet button at the beginning of their entry that will open the attachments gump for that object.

- modified [xmlfind to use the location of the parent mobile or container for items when using the range search option. This allows you to use the range option to locate items even if they are carried by a mob/player or in a container within range.

- added support for searching for attachments directly by selecting the "attachment type" option and entering an attachment type. At the moment, when this is selected, the other search options are not applied (so for example you cant search for all of the xmlpoints type attachments on players that are within 50 tiles). I will be adding support for that later.
 
Top