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

iZJokersWild

Wanderer
Okay, color me stupid! What exactly is the spawner for? I installed it and all, and looked over some of the docs, but am still unsure of what to do with it. Is it supposed to aid in placeing spawns or something? Not that I am down-grading the script, looks massive; just trying to get an idea.
I used Pandora's Box for some of my spawner placement, and the rest did manually. I just wiped out my shard to do it all over again cause I thought something was screwed up (just turns out that 3D is being a pain). I was looking for some sort of base file that has all the basic spawn placed already. Or at least the local map ones (animals).
:confused:
 

ArteGordon

Wanderer
iZJokersWild said:
Okay, color me stupid! What exactly is the spawner for? I installed it and all, and looked over some of the docs, but am still unsure of what to do with it. Is it supposed to aid in placeing spawns or something? Not that I am down-grading the script, looks massive; just trying to get an idea.
I used Pandora's Box for some of my spawner placement, and the rest did manually. I just wiped out my shard to do it all over again cause I thought something was screwed up (just turns out that 3D is being a pain). I was looking for some sort of base file that has all the basic spawn placed already. Or at least the local map ones (animals).
:confused:
it is just an automatic way of generating mobs and items based on triggering events. In the simplest case, the triggering event is a clock that "Ticks" every so often with the interval determined by min/maxdelay properties on the spawner.
The other triggering options are just different ways of controlling the mob/item generation.
You enter the list of spawns that you want to be generated into the text entry fields of the spawner gump that can be opened by double clicking the spawner.
You can control the type, number, properties, items added, etc. of the spawn, by entering the appropriate spawn specification strings.

There are no maps included with the spawner, those can be found in other submissions.
 

iZJokersWild

Wanderer
Okay..so it pretty much takes a few steps out of placing spawners?
I have been doing like this all this time:
[add spawner
(Then add the monsters I want)
[props
(adjusting the properties for it all)
Once in a while I use Pandora's Box to do some of that, but can still be a pain. I read it said something about gumps, but I tried numerous commands and nothing came up. The only thing that I was able to get active was the importer (which I have nothing to import), and the thing that told me the settings. Where can I find a list of commands for it?
When you click the spawner and it gives you the spawn list...if there was something like that but also had all the options from props in it, would be a LOT easier to work with (and quicker).
 

Quantos

Lord
You will need to regenerate your documentation in [admin. It's in the world building section.

You can then read the documentation by going into the docs directory inside your RunUO directory.
 

ArteGordon

Wanderer
iZJokersWild said:
Okay..so it pretty much takes a few steps out of placing spawners?
I have been doing like this all this time:
[add spawner
(Then add the monsters I want)
[props
(adjusting the properties for it all)
Once in a while I use Pandora's Box to do some of that, but can still be a pain. I read it said something about gumps, but I tried numerous commands and nothing came up. The only thing that I was able to get active was the importer (which I have nothing to import), and the thing that told me the settings. Where can I find a list of commands for it?
When you click the spawner and it gives you the spawn list...if there was something like that but also had all the options from props in it, would be a LOT easier to work with (and quicker).

it is a spawner.
instead of doing [add spawner you would just do [add xmlspawner.
It is basically just a variant of the distro spawner with more features.
After placing it, double click it to open up the gump to add monsters, and if you want to set props then there is a "Props" button on the gump to open them as well.
 

iZJokersWild

Wanderer
Hey..that is pretty groovy! Probably would have helped if I had did all that admin crap..knew I forgot to do something. Spanks! That is sweet! Is pretty much what I was talking about..do not have to keep typing up stupid stuff to get a damn spawner placed. Nice work!
 

Nim.

Wanderer
Hello, I’m wondering if there is a way to affect multiple items using a Spawner. What I’m attempting to do is rig a switch to open one door and close another when you toggle it, but I haven’t fond a way to relay commands to multiple objects with a single flip of the switch. I get the feeling it can be done with the XML Spawner, but I’m at a loss, any ideas?

Also thanks a lot for the most recent update, the newer gump is a godsent.
 

ArteGordon

Wanderer
you can use the SET,itemname keyword. The only hitch is that you have to give at least one of your doors a unique name.
So if you named one door "door#1", and the other "door#2" ([set name door#1) the spawn specs would be

SET,door#1/open/true
SET,door#2/open/false

and you wouldnt have to use the SetItem targeting prop since it would look each of them up on the fly.
 
C

cscroop

Guest
Hey i have a questions about the spawner.

I am trying to get it to spawn teleporters, all set to a certain point (the same one) and all set to map felucca.

The way I understand I would do this like this:

teleporter/MAPDEST/Felucca/POINTDEST/378,456,0 (not the real point just made up some numbers)..

Anyway, it doesn't work. I get "PointDest that is not configured correctly".

So, I was wondering, how would I go about this. I assume is because the point dest varible is made up of three sub-variables. Is there way to set these sub-variables (the x, y, and z if the destination) through the xmlspawner? If not, can you look into adding it in? I figure it has to do with calling those properties right, but I don't know how to refer to them.

Any guidance?

Thank you.
 

ArteGordon

Wanderer
if you do a "[get pointdest" on a teleporter you will see the format that it is looking for. It wants them like (x,y,z) with the parens included. So to spawn it do

teleporter/MAPDEST/Felucca/POINTDEST/(378,456,0)
 

ArteGordon

Wanderer
raffy said:
Awesome! :cool: Btw, the 2.22 version is still active... people might be using the "old" one. :p

you are probably referring to the old thread. That one is locked so it will just have to wait until they delete it.
 

ArteGordon

Wanderer
updated to v2.24
New to v2.24
- Added new items TimedSwitch, TimedLever, XmlLatch, and TimedSwitchableItem.
- Added a new keyword TAKEBYTYPE and added a new argument allowing partial quantities to be taken from stacked items.
- Added the "SKILL,skillname" keyword that can be used both for setting skill values, as well as testing for them.
- Added more support for kill and collect type quests to XmlQuestToken class items.

Description of new additions:

- added more support for kill and collect type quests to XmlQuestToken class items with special objective specification keywords "KILL,mobtype,count", "KILLNAMED,mobname,count", "COLLECT,itemtype,count", "COLLECTNAMED,itemname,count".
The quest items can now keep track of kills and collected items in their quest status, and quest tasks that require multiple mobs to be killed can be specified. To use this feature, spawn or create an XmlQuestToken class item such as the QuestNote, and set one or more of the Objective properties with the keywords. For example to make a killtask type quest in which the player must kill 5 balrons, 5 lichlords, a named mob called "Bubba", and collect 20 diamonds, you could set the Objective1 property to "KILL,balron,5", the Objective2 property to "KILL,lichlord,5", and the Objective3 property to "KILLNAMED,Bubba,1", Objective4 property to "COLLECT,diamond,20". A spawner can be then be set up to provide a reward when the objectives on the questnote are completed.

- included an example of a kill and collect quest that is created in green acres in the xmlextras file killtask.xml

- added the "SKILL,skillname" keyword that can be used both for setting skill values, as well as testing for them. The SKILL keyword can be placed anywhere that a valid property name could be used. For example to spawn a mob with certain skills use a spawn spec like "ogre/SKILL,anatomy/100/SKILL,macing/100". To set skills on players that triggered the spawner use a spec like "SETONTRIGMOB/SKILL,meditation/120/SKILL,magery/120". This can be used to create skill-gate like behavior. To test for a skill value for triggering for example, set PlayerTrigProp to "SKILL,mining>100". (thanks to Nim for the suggestion)

- added new items TimedSwitch, TimedLever, XmlLatch, and TimedSwitchableItem.
Similar to the SimpleSwitch and Simple lever, the TimedSwitch, TimedLever items add a reset timer to the switch/lever states with min/maxdelay properties and are derived from the XmlLatch which is a new class that supports resettable switching, and can be used as an item itself to implement a resettable latch (set the state externally and it will hold that state for some time and then reset).
The item TimedSwitchableItem is a TimedSwitch that allows you to specify the Item statics that will be assigned to each state, allowing flexible user-defined visuals during switching, such as a torch or a stone, or a wall section, etc. Because it is a TimedSwitch you can assign actions that are associated with each state as well, such as opening a door when double-clicking a torch, or opening a secret passage when double-clicking on a wall section, etc.
The current switching state of all of these items is contained in the State property, and the ResetState is the value that the State will be returned to after the reset timer expires.

- added an additional quantity argument to the TAKE keyword "TAKE,probability,quantity/itemname" allowing a partial removal of named stacked items. When called with the quantity argument, TAKE will attempt to remove the specified quantity of the stacked item. If less than the quantity is found, then whatever the amount found will be taken. If the item is not stackable, then the item will simply be taken. (thanks to DeepFreez for the suggestion)

- added a new keyword TAKEBYTYPE with syntax "TAKEBYTYPE,probability,quantity/itemtype". It is similar to the TAKE keyword but items are identified by type rather than name.
For example, to take 1000 gold from a triggering player use the spawn spec "TAKEBYTYPE,1,1000/gold".
Note, by default neither TAKE and TAKEBYTYPE will search a players bankbox.

- added an argument to TAKEBYTYPE and TAKE keywords allowing bankboxes to be included in the searched items. The syntax is "TAKE,probability,quantity,true/itemname" and "TAKEBYTYPE,probability,quantity,true/itemtype"
 

raffy

Sorceror
Btw, when I try to set min and max time other than 5min and 10min, it becomes 0 min or max... I am trying to change it via the gump, is there a special way of doing it? Also is it possible to spawn a creature with a set AI? Thanks!
 

ArteGordon

Wanderer
raffy said:
Btw, when I try to set min and max time other than 5min and 10min, it becomes 0 min or max... I am trying to change it via the gump, is there a special way of doing it? Also is it possible to spawn a creature with a set AI? Thanks!

There is no access to the min/maxdelay from the gump, so you are probably setting the maxcount value for the spawner.
To change min/maxdelay open up the props gump by either clicking on the props button in the lower right corner of the spawner gump, or by doing a [props on the spawner. Then set the Mindelay and Maxdelay properties from the properties gump that comes up.

You can set the AI of a spawned creature. Just set the ai property with a line like

orc/ai/ai_mage

where ai is the property name and ai_mage is one of the ai settings.

In general, any property that can be set using [set can be set on spawned mobs/items thorug the spawner. The spawner also allows nested properties and arrays to be set so you have access to a slightly wider range of properties than you have available through the [set command.

Note, the [xmlset command gives you the same broader property access that the spawner has.
 

ArteGordon

Wanderer
updated to v2.25
New to v2.25
- Added the [xmlloadhere command that will load spawners from an xml file to the present location of the player.
- Added a help button on the spawner gump describing commands and keywords.
- Added the SENDMSG keyword that sends a message to the triggering mob.
- Added the INC and MUL modifiers for values, allowing incremental and multiplicative modification of existing property values. Basically perfoming += and *= operations on properties instead of just assignment.

Description of the new additions

- added the "[xmlloadhere filename <prefix>" command that will load spawners from an xml file to the present location of the player. Useful for creating a set of spawners to implement mini-quests in a test area (like green acres), and then loading them into a player area. The location of the first spawner in the xml file is used as the origin. Spawners that are beyond 48 tiles of the center will be loaded with their defined coordinates (not relative shifted), so for example, going to britain and doing an [xmlloadhere of the blather2.xml mini-quest example would load the starting and ending spawners at the player location, but would leave the deceit spawners in their original locations.
Note, just as with the [xmlload command existing spawners from previous loads of the same file will be removed before loading, so using the command repeatedly will not make additional copies of the spawners described in the file.

- modified [xmlunload to no longer check for matching maps (xml and spawner map can differ and it will still be unloaded).

- added a help button on the spawner gump describing commands and keywords. I may add more info here in the future, such as example of use of properties to set up typical triggering scenarios.

- modified proximity triggering to ignore staff with accesslevel Counselor and above (previously only admins were ignored).

- added the SENDMSG keyword that sends a message to the triggering mob. Syntax "SENDMSG/text". Note, this displays in message area of the window and not overhead (like MSG or ProximityMsg).

- add the INC and MUL modifiers for values, allowing incremental modification of existing property values instead of just simple assignment. Syntax "propname/INC,value" or "propname/INC,min,max" and "propname/MUL,value" or "propname/MUL,min,max" where the use of the min,max form will use a random value between min and max for the modifiers. This could be used, for example, to take away hit points on a triggering player by using the spawn spec "SETONTRIGMOB/hits/INC,-10". A variant of this would be to set a short min/maxdelay (like 0), turn on proximity detection, and use the spec "SETONTRIGMOB/hits/MUL,0.95". This will work like an area life drain, gradually taking off hits while a player is in range of the spawner. Same could be done for stam or mana etc.
Another application would be to add Karma or Fame as part of a mini-quest, "SETONTRIGMOB/fame/INC,100/karma/INC,100", and perhaps subgroup with "SENDMSG/You have gained some fame and karma"
Note, any of the items included in the support files that can make item property assignments, such as the switches and levers, can also make use of this (and any of the other non-trigger dependent) keyword.
 

ArteGordon

Wanderer
you can put them anywhere, but it will look in the runuo installation directory if you dont specify a path. So, for example, if you installed some of the xml spawn maps from bobsmarts world package, they would be in the Spawns subdirectory with directories like Felucca and Malas beneath it. To access those files you would do something like

[xmlload Spawns/Felucca/osiheavy.xml

if you were to put the example xml files that are in the xmlspawner2-xmlextras.zip package into your custom directory, you would access them with, for example

[xmlload Scripts/Custom/egghunt.xml

if you placed them in the top level runuo installation directory (where they also get saved by default when you do an "[xmlsave filename" with no path specification) then you would load them with

[xmlload egghunt.xml
 
Top