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 v2.22

Status
Not open for further replies.

[mute]

Wanderer
That's what I thought, but I have a combination lock with the first 3 digits set (0,1,2) to simple switches, and property as /switchstate/0. But it doesn't work :/
 

ArteGordon

Wanderer
use "switchstate=0"
thats the syntax for testing.
you could also use the operators "<>!" instead of "=" depending on what you wanted to test for.
The syntax you were using is for setting attributes.
 

atriticuss

Wanderer
ok, i am using bob smarts spawn package with your spawner. i want basically want to use your spawner to spawn rares also but, i want them to have a different name or something so if i delete bobs spawn using the [removexml command or whatever it is. i dont loose my custom rare spawn also, how would i go about doing that?
 

[mute]

Wanderer
Ooo I see. What's even funnier is originally that's the way i was trying to set spawner attributes. :p Heh, thanks again. I love this thing.
 

ArteGordon

Wanderer
Atriticuss
well, you could just [xmlunload the bobsmart spawns using .xml files that defined them.
You could do them one by one, doing an [xmlunload on each .xml file, or you could do a full reverse createworld by going into the createworld.cs file and just changing the line
[code:1]
XmlSpawner.Load_OnCommand( e );
[/code:1]
to
[code:1]
XmlSpawner.UnLoad_OnCommand( e );
[/code:1]

Then when you ran it, it would unload all of the spawns that the package originally installed.

Also, if you do an [xmlsave of your artifact spawns (use the "[xmlsave filename prefix" command where prefix is a string that identifies the names of your artifact spawners), you can always reload them later with the [xmlload command.
That way you could wipe all of the spawners and always be able to get those back.
 

whitlinder

Wanderer
Arte,

First of all, let me heap unending praise upon you for your creation! This spawner rocks!

Now that I've buttered you up, let me ask what may be a stupid question. Can an invisible item become visible for a limited time on a trigger event?

Example:
An invisible chest becomes visible when a player says "Shazaam!". After one minute, the chest becomes invisible again.

I've set the proximity range and speech trigger, and can get the chest to appear. But when it appears, it stays visible forever. Any help would be appreciated.

THANKS!
 

ArteGordon

Wanderer
whitlinder said:
Arte,

First of all, let me heap unending praise upon you for your creation! This spawner rocks!

Now that I've buttered you up, let me ask what may be a stupid question. Can an invisible item become visible for a limited time on a trigger event?

Example:
An invisible chest becomes visible when a player says "Shazaam!". After one minute, the chest becomes invisible again.

I've set the proximity range and speech trigger, and can get the chest to appear. But when it appears, it stays visible forever. Any help would be appreciated.

THANKS!

yes, you can do this. You just need two spawners. One that does a SET/visible/true and has a delay of 0 (or whatever you want)
and a second one right next to it that has SET/visible/false that is triggered on the same keyword but has a delay of whatever you want the duration of visibility to be (say 1 minute).
Set the SetItem property on both to point to the chest.

That way when you say the keyword, both are triggered and the first makes it visible and the second makes it invisible some time later.
 

whitlinder

Wanderer
Well...now I feel stupid! That was just too easy for me to comprehend. Thanks for the help, Arte! And thanks again for an amazing spawner!
 

ArteGordon

Wanderer
Also, I forgot to mention in the changelog that in the latest update I added another form of the SET keyword that allows you to specify the target by name instead of by direct targeting with the SetItem property (I'll mention it in the next release).
The form is
SET,itemname/propname/value/propname/value/...

This can be used when the desired target may not be a preexisting object (such as the chest that you mentioned being spawned).
The itemname MUST be unique, otherwise it will not set it.

So, to do what you mentioned with a spawned chest, you could have one spawner make the chest and give it a name (e.g. "woodenchest/name/ShazaamChest").
Then set the spawners to control visibility after delay as mentioned earlier, using the line
"SET,ShazaamChest/visible/false", instead of the "SET/visible/false" variant.

and no SetItem targeting needed .
 

ArteGordon

Wanderer
updated to version 2.22

had fun with this one. Added the CAST keyword that lets the spawner trigger spells to be cast (all the circles, pally, and necro) on/by triggering players. Note the triggering player is both the caster and the target.
Also, line editing on the spawn text entries (finally).

Version 2.22
updated 2/15/04

- added the CAST keyword to allow the spawner to cast spells on triggering players. The syntax is "CAST,spellname[,arg]" or "CAST,spellnumber[,arg]" where spellname and spellnumber are the registered spell names and numbers found in Scripts/Spells/Initializer.cs. This is used with triggering to allow the triggering mob/player to cause the spell to be cast with the triggering mob/player as the target. Both harmful and beneficial spells can be cast. Casting normal circle spells does not use mana or reagents, Necro/Paladin spells use mana/tithing points of the caster, and both paladin and necro spells check for skill requirements on casting. Karma effects will also be applied. There are no casting delays, so multiple spells may be cast simultaneously. Some spells are are location targeted and can take an additional argument [,arg] which is a range value used to determine a random target location (+-range) relative to the caster. The default and mininum range value is 1. The Polymorph spell uses the 2nd argument as the bodyvalue.
For example, to set up a spawner to autoheal the triggering mob use the spawn spec "CAST,greaterhealspell". To polymorph the triggering player into a bear use "CAST,polymorphspell,212". To cast lightning on the triggering player "CAST,lightningspell", or to summon a creature "CAST,summoncreaturespell", or bladespirits "CAST,bladespiritsspell", and to cast it with a random target within +-5 squares of the player use "CAST,bladespiritspell,5". Note, not all spells will work automatically. Item targeted spells such as mark, recall, and sacredjourney will cast and bring up a targeting cursor.

- added a new optional argument to the SET keyword. The "SET,itemname/prop/value/prop/value/..." form allows you to set property values on uniquely named items without having to set them as predefined targets using the SetItem property. This can be used to set properties on things that cannot be targeted because they are not necessarily available as existing objects at the time, such as spawned items.

- added an addspawn property interface that will allow you to add spawns to a spawner without opening the gump. This allows other objects to add spawns to the spawn list. Also provides the ability to actually spawn spawners with specified content with spec lines like "xmlspawner/addspawn/helmofinsight/addspawn/orc/proximityrange/5/mindelay/1/maxdelay/1"

- added line editing to the spawn text gump. This allows modification of substrings in a spawn specification string without having to retype the entire string. To use this feature, open the text entry gump for a spawn spec by clicking the parchment icon to the right of a spawn entry line on the main gump. The text entry gump now has two text entry lines at the bottom. The old text is entered in the top line, the new text in the bottom. The first occurrence of the old text will be replaced by the new text when the Apply button is pressed.

- added multiple pages to the spawn gump to allow more than 15 spawn specs per gump (maximum is now 60). The additional pages are accessed throught the numbered buttons at the bottom of the spawn spec entry list on the main gump.
 

Nim.

Wanderer
Two quick questions…

1. How do I increase/decrease max count on individual entries without clicking on the arrows each time?

2. Is there a way to tweak skills using the Spawner?

And thanks for the script, this thing is magic.
 

ArteGordon

Wanderer
Nim. said:
Two quick questions…

1. How do I increase/decrease max count on individual entries without clicking on the arrows each time?

2. Is there a way to tweak skills using the Spawner?

And thanks for the script, this thing is magic.

hehe, you read my mind.
1. wait for the next version. I actually just put that in yesterday along with a number of gump tweaks.
2. You can set skill bonuses for armoritems but you refer to the skill bonus fields by number (there are 5 slots for item skill bonuses), e.g. setting the anatomy bonus to +20 on an item would use "skillbonuses.skill_1_name/anatomy/skillbonuses.skill_1_value/20".
Accessing skills on a mobile/player cannot currently be done since they are not accessible command properties like name, hue, x,y, etc. (which are the only ones that you can access/change directly).
I'll think about a "SKILL,skillname" keyword for mobs to allow skill access, good idea.
 

ArteGordon

Wanderer
DeepFreez said:
A few suggestions that I can make after updateing the docs.

The GIVE and ADD commands could be even better if you could specify an amount to add for stackable items. I know the StackMount is used by default, but this is a bit limiting I think, especialy if you want say create 100 gold and 10 ginseng.
It IS possible to do this by setting the spawners OWN properties before spawning the GIVE (or ADD) command, but that is a hack :D

The TAKE command should also have an amount option. This will allow one to take say 100 gold, instead of ALL of the gold, like TAKE/goldcoin would do at the moment.

There is a bug in the BaseEscortable setup that came with the original xmlspawner. To fix it you unforutnately need to make to BaseAI :( Cant seem to find the link to that fix right now hehehe.

sorry, I missed this earlier.
You can GIVE variable stacked amounts (without hacks). For example to give a stack of 131 gold pieces use
"GIVE/<gold/amount/131>"
This works with ADD as well. It just sets the amount field on the gold and uses the <> delimiters for nested item specifications.

I will look into the TAKE idea. I like it.
 
Status
Not open for further replies.
Top