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

ArteGordon

Wanderer
XmlSpawner2 v2.74

XmlSpawner2
v2.74
updated 1/22/05
ArteGordon

Summary:
A spawn control system based upon BobSmarts xmlspawner supporting sophisticated conditional spawn triggering, individual customization of spawns and their drops, spawn/item/mob search utilities, and systems for stealable rares, doom rares, interactive npcs, functional attachments, mob factions, pvp points/duels/games, custom special attacks, socketed items/creatures, and quests.

This thread is no longer updated. GO HERE for the latest version http://runuo.com/forums/showthread.php?t=47308
 

Knightshade

Wanderer
ArteGordon,

Just wanted to thank you again for all the hard work on this script. Your skills are aparent in the quality of your work. Great job! Keep it up!
 

nix4

Wanderer
Great Script poor User Friendlyness

I am trying to put together a RunUO Shard and I'm fairly new to world building. This script definately looks great. Megaspawner just crashed my client whenever I tried to use it.

Anyway, I find it very difficult after reviewing all the old thread posts and reading all the instructions as to how to actually USE this script.

I see new additional commands everywhere but nothing that just gives basic instructions on how to add a spawn.

Im trying to get started by placing skeletons in the graveyard of Britain using this script. I got the menu up, but became confused as to what to type where. Perhaps you could add a little [?] next to some fields to allow users to figure out what to type?
 

Quantos

Lord
Look at the names of the monsters in your documentation. That will give you the correct syntax for them.

Double clicking the spawner itself will bring up a menu that you can list your spawns in.

Doing a [props on the spawner will let you access some of the more advanced features, as well as the spawn and home range.
 

jaynigs

Wanderer
This spawner rocks...! There is one thing that i cant work out what to do and would be grateful if someone could offer some assistance please.

Im trying to recreate the deceit brazier that when double clicked spawns fire steed and other random spawn. I cant seem to get the external hook to work, ive managed to get the spawner activated by speech but ive followed deepfreez guide and what ive done doesnt work. Is there a list for the property strings that are valid? as i tried entering <open> <=> <true> in the trigger object properties and targetted a door as the trigger object but it must be wrong. Ive even tried just open=true and that fails also.. What would be the correct command for double click and how would i recreate the brazier on osi?

What am i doing wrong here?

Thanks!
 

ArteGordon

Wanderer
Quantos said:
Look at the names of the monsters in your documentation. That will give you the correct syntax for them.

Double clicking the spawner itself will bring up a menu that you can list your spawns in.

Doing a [props on the spawner will let you access some of the more advanced features, as well as the spawn and home range.
yep, pretty much says it all. just type in the name of the mob you want spawned in the text entry areas (there are 15 per page), and then click the little arrows on the left to set the amount.
 

ArteGordon

Wanderer
jaynigs said:
This spawner rocks...! There is one thing that i cant work out what to do and would be grateful if someone could offer some assistance please.

Im trying to recreate the deceit brazier that when double clicked spawns fire steed and other random spawn. I cant seem to get the external hook to work, ive managed to get the spawner activated by speech but ive followed deepfreez guide and what ive done doesnt work. Is there a list for the property strings that are valid? as i tried entering <open> <=> <true> in the trigger object properties and targetted a door as the trigger object but it must be wrong. Ive even tried just open=true and that fails also.. What would be the correct command for double click and how would i recreate the brazier on osi?

What am i doing wrong here?

Thanks!
the format for the property test strings is "propertyname<>!=value" where you use one and only one of the tests <>!=
The propertyname is anything that you can see with [props on that object
One way to externally trigger the spawner is to use an object that when you double click it, it sets a property state to something that the spawner will then trigger off of. Then on the next OnTick of the spawner (set by min/maxdelay, the spawner will check the property test and trigger if it is satisfied).
Objects that have toggled properties are things like doors, the simpleswitches that are included, and things like braziers and lanterns that (should) set their burning prop when dclicked.

To get the spawner to trigger off of a door opening for example, just set the triggerobject to the door, and the triggerobjectprop to "open=true".

If you wanted to activate on brazier lighting you could use "burning=true" as the test.

I tried this with a lantern and it set its burning prop properly, but the brazier seemed odd. I'm not sure how it is supposed to behave. They are both baselight class but I havent looked at the scripts.
 

jaynigs

Wanderer
Thanks arte, got the burning=true working with lantern, thanks for that much appreciated.. I assume the brazier script needs changing as it dont seem to do anything! Cant seem to set the brazier burning to false..
 

ArteGordon

Wanderer
jaynigs said:
Thanks arte, got the burning=true working with lantern, thanks for that much appreciated.. I assume the brazier script needs changing as it dont seem to do anything! Cant seem to set the brazier burning to false..
Yeah, i took a quick look and they are designed to burn forever.
 

jaynigs

Wanderer
Ok, i will try and use parts of the lantern script to make the brazier stop burning, i'll post it here if it works as im sure others could make use of this..

Thanks again..

Jay
 

jaynigs

Wanderer
Ok, i think ive done it!! Here it is and it works... The brazier doesnt actually go out (but can be used now as a trigger..) but if someone can add that it would make it better :)..

Just overwrite your old brazier script with this...

using System;
using Server;

namespace Server.Items
{
public class Brazier : BaseLight
{
public override int LitItemID
{
get
{
if ( ItemID == 0xE21 || ItemID == 0xE23 )
return ItemID;

return 0xE31;
}
}

public override int UnlitItemID
{
get
{
if ( ItemID == 0xE24 )
return ItemID;

return 0xE31;
}
}

[Constructable]
public Brazier() : base( 0xE31 )
{
if ( Burnout )
Duration = TimeSpan.FromMinutes( 20 );

else
Duration = TimeSpan.Zero;

Burning = false;
Light = LightType.Circle225;
Movable = false;
Weight = 20.0;
}

public Brazier( Serial serial ) : base( serial )
{
}

public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}

public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
 

cosmos

Wanderer
OK Let's get this out of the way right up front, I'm a newb and trying hard to get my mind around all this. The potential for this script is awesome, but the documentation is massive and I'm missing something somewhere.

Example command sets listed in doc are...

ogre/hue/RND,1,500
lich/msg,.5/all hope is lost/msg,0.2/you feeble mortal

Just exactly where are these command strings entered? In props somewhere? or in the configuration gump? It appears they are entered in a string as indicated in the doc, but I can't find anywhere that accepts it.

Thanks for any help, and please pardon my ignorance...
 

jaynigs

Wanderer
Hi again, sorry about this, ive reached another problem that i dont know how to resolve.

The brazier works great except that i cant use the set command to turn it off after spawn. I also still cant set it to false in props menu. I can only change this by double clicking the brazier.

Can anyone help please?

Thanks again and sorry!
 

jaynigs

Wanderer
@ cosmos, you type in the command where u normally would type in your spawn on the spawner.. so instead of just an OGRE you add the extra bits.

ie ogre/hue/RND,1,500 which will spawn an ogre with a random hue, if ive read that correctly
 

cosmos

Wanderer
Thanks jaynigs, yes, I've tried that with this, and various other strings listed in the doc. Using this example, "ogre/hue/RND,1,500", and after checking my spelling and syntax 10 times, it returns a waning message, in this case:

hue: That is not properly formatted.

And I get similar warnings with other strings, as with "lich/msg,.5/all hope is lost/msg,0.2/you feeble mortal" I get the error:

msg,0.2:property not found

None of the strings that are used as examples work in that field, they all return some error mesage.

BTW I am using B36
 

ArteGordon

Wanderer
cosmos said:
Thanks jaynigs, yes, I've tried that with this, and various other strings listed in the doc. Using this example, "ogre/hue/RND,1,500", and after checking my spelling and syntax 10 times, it returns a waning message, in this case:

hue: That is not properly formatted.

And I get similar warnings with other strings, as with "lich/msg,.5/all hope is lost/msg,0.2/you feeble mortal" I get the error:

msg,0.2:property not found

None of the strings that are used as examples work in that field, they all return some error mesage.

MSG is one of the special keywords so it has to be capitalized.

"ogre/hue/RND,1,500"
is perfectly fine. I'm guessing RND was not capitalized when you entered it.

or maybe you put in the double quotes, the string should look like

ogre/hue/RND,1,500
 
Top