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!

[RunUO 2.0 RC1] XmlSpawner2

Status
Not open for further replies.

ArteGordon

Wanderer
[RunUO 2.0] XmlSpawner2

XmlSpawner2
v3.24
RunUO 2.0 version
updated 2/11/08
ArteGordon

Latest News:
If you get an error like this on startup
Cannot implicitly convert type 'System.Collections.ArrayList' to 'System.Collections.Generic.List<Server.Tile>'
it means that you are running RunUO 2.0 RC1 instead of RC2 or the most recent SVN and you just need to uncomment this line at the beginning of xmlspawner2.cs

//#define RUNUO2RC1

so that it looks like

#define RUNUO2RC1

You will also need to comment out this line at the beginning of XmlQuestHolder.cs and PacketHandlerOverrides.cs because RC1 doesnt support UO clients beyond 6.0.1.7

#define CLIENT6017

so that it looks like

//#define CLIENT6017

Summary:

A spawn control system supporting sophisticated conditional spawn triggering, individual customization of spawns and their drops, spawn/item/mob search utilities, offline visual spawn editing, 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.

Recent Updates:
New to version 3.24
updated 2/11/08

Bug Fixes
- fixed a problem with xmldialogs no longer responding to keywords that was introduced in v3.23. (thanks to spookyroberts for pointing that out).

- fixed an exploit with playermade quests that allowed players to add to stackable rewards such as gold, and then use the quests as bags of sending. Players can no longer add to stackable rewards. (thanks to syznow for pointing this out)

Modified Features
- modified the #WAYPOINT keyword to use the z coord as well as the x,y coord of waypoint runes when trying to place spawns. Previously, only the x and y coord of the rune were used. (thanks to noonehome for the suggestion)

New Features
- added the new 'BSOUND,soundid' keyword that will broadcast a sound to all players. This is essentially BCAST for sounds. This is a standalone keyword. (thanks to BaronVallyr for the idea).

New to version 3.23
updated 2/2/08
If you are using SVN 241 or higher you will need to update to this version.

Bug Fixes
- fixed a problem with the GETONNEARBY keyword when used in condition tests with XmlDialogs. It was not using the location of the object that the XmlDialog was attached to as the reference location for the nearby search (thanks to Xerocrates for pointing this out).

- blocked the ability to use questholder rewards (by double clicking them while viewing them) before the quest is completed. (thanks to ABTOP for pointing this out).

- fixed a bug in which an attachment with a custom OnUse or OnUser function that deletes the item it is attached could cause the default Use function to crash with a null item error. (thanks to CEO for pointing this out).

- fixed a problem with orphaned attachments that try to remove items that they might be holding when they get cleaned up. This could generate warnings during world saves regarding attempts to delete items by attachments. (thanks to Vladimir for pointing this out)

Modified Features
- optimized the #WAYPOINT keyword for speed. Rather than searching all world items for named waypoints, it now uses a local hashtable lookup. This can significantly improve spawning performance when this keyword is used, particularly for servers with large item counts. The table will be reconstructed on server restarts or when spawners are manually reset. Note that if you use the #WAYPOINT keyword and add new waypoint runes, make sure that you reset the spawner so that they are recognized. (thanks to Xavier_WER for the suggestion).

- newly duped spawners are now automatically shut off before being placed in a pack. (thanks to Haazen for the suggestion).

- added support for accesslevel restrictions on constructable objects that was added in SVN 241. To enable this feature uncomment this line at the beginning of xmlspawner2.cs

//#define RESTRICTCONSTRUCTABLE

and then you can restrict spawning of objects that have an accesslevel restriction in their Constructable attribute by adjusting the value of this variable around line 92 of xmlspawner2.cs

public static AccessLevel ConstructableAccessLevel = AccessLevel.GameMaster; // only allow spawning of objects that have Constructable access restrictions at this level or lower. Must define RESTRICTCONSTRUCTABLE to enable this.

If you dont enable this feature, then things will work just as they have in the past, with no restrictions on spawning of objects that are marked Constructable.

- added the MaxTargetRange property to XmlUse attachments that allows you to specify the max allowed distance between the player and the target when using the targeting ability of XmlUse attachments. Default is 30 tiles.(thanks to Steelcap for the suggestion).

- added the ResetRange property to XmlDialogs that allows dialogs to automatically reset whenever the triggering player moves out of range. This means that when you have multiple players waiting to activate a dialog, they wont have to wait until the ResetTime for the dialog expires to trigger it again. This should improve the apparent responsiveness of dialogs. The default range is 16 tiles.

New Features

New to version 3.22b
updated 9/10/07
Bug Fixes
- fixes a problem with questholders not displaying rewards with 6.0.1.7+ clients.
This is only needed for 6.0.1.7+ client support in SVN 194+.

- fixed an exploit that allowed questholder rewards to be targeted and used before the quest was completed. (thanks to Stormwolf for pointing this out) Targeting of quest rewards is now blocked for players. Staff access is still allowed.

Only XmlQuestHolder.cs in XmlSpawner2-20-v322b-2of3.zip needs to be updated for these fixes.

New to version 3.22a
updated 9/1/07
Bug Fixes
- fixes a problem with text entry books for the spawner gumps not working properly with recent SVNs.
This adds a fix for packet handler overrides related to the 6.0.1.7+ client support in SVN 194+.
Only PacketHandlerOverrides.cs in XmlSpawner2-20-v322a-2of3.zip needs to be updated.

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.

Description:

see xmlspawner2.txt in xmlspawner2-support.zip for details and complete changelog.

Spawning System Features:

- spawn items and mobiles.

- spawn in containers.

- spawn stacked items.

- add items to spawned mobiles packs.

- spawnrange (how far they spawn) and homerange (how far they wander).

- spawn objects that require arguments to their constructors, such as runic hammers, or doors.

- set properties on any spawn without having to make script modifications.

- add items to spawned mobs backpacks without having to make script modifications.

- probabilistic spawning that can be used to implement rare mob spawns, such as a single spawn that you have to kill on average some number of times to get a rare named spawn to appear.

- time-limited spawns, such as rares that only appear for a certain amount of time.

- sequential champ-like spawning that advances by killing spawns.

- spawning in regions.

- linked spawning of multiple spawn entries using subgrouping.

- spawn on difficult surfaces such as multilevel tables/floors and water by adding a leading '*' to the spawn entry.

- control spawning location and selection with control keywords #XY, #DXY, #XFILL, #YFILL, #EDGE, #PLAYER, #WAYPOINT, #RELXY, #CONDITION, #WET, #TILES, #NOTILES

- special keywords can be used in spawning for control or effects:

- value keywords: RND, RNDBOOL, RNDLIST, RNDSTRLIST, RANDNAME, INC, MUL, MOB, SERIAL, SKILL

- control keywords: WAITUNTIL, IF, WHILE, and GOTO

- action keywords: ADD, EQUIP, GIVE, TAKE, TAKEBYTYPE, CAST, SAY, MSG, SENDMSG, BCAST, RESURRECT, POISON, DAMAGE, MUSIC, EFFECT, MEFFECT, SOUND, GUMP, SPAWN, DESPAWN, DELETE, KILL, ANIMATE, OFFSET

- loot keywords: ARMOR, WEAPON, JEWELRY, JARMOR, JWEAPON, SARMOR, SHIELD, LOOT, LOOTPACK, POTION, SCROLL, NECROSCROLL

- access keywords: GET, GETONTHIS, GETONPARENT, GETFROMFILE, GETONSPAWN, GETONCARRIED, GETONMOB, GETONTRIGMOB, SET, SETONTHIS, SETONPARENT, SETONSPAWN, SETONSPAWNENTRY, SETONCARRIED, SETONMOB, SETONTRIGMOB, PLAYERSINRANGE, TRIGSKILL, AMOUNTCARRIED

- spawner triggering by: player proximity, speech, player skill use, players carrying specific items, items or mobiles that have certain properties such as open doors or injured mobs, time of the day.

- automatic relocation of inaccessible spawns.

- "SmartSpawning" which allows spawners to automatically and transparently remove and restore spawns based on player proximity, reducing save times and mobile load.

Quest System Features:

- make complex multiple-objective quests ingame without any scripting.

- players can have multiple quests running at the same time.

- allow playermade quests that can be constructed by players and given to other players for things such as guild events.

- supports the following quest objective types: KILL, KILLNAMED, COLLECT, COLLECTNAMED, ESCORT, GIVE, GIVENAMED

- construct interactive npc conversations using the [xmledit command.

- control whether and how often quests can be repeated.

- quests can be assigned difficulty levels that are used to give out quest points on completion of the quest.

- players can be ranked by quest points. These shardwide rankings can be displayed using the [questranking command or saved to html for web display.

- quest rewards can be purchased using quest credits.

Support Features:

- searching/sorting for spawners/items/mobiles with the "[xmlfind" utility.

- creating interactive dialog objects/mobs ingame with the "[xmledit" utility.

- rapidly adding and configuring spawners and their spawns with the "[xmladd" utility.

- track down any spawn using the "goto" button in the spawner gump

- saving and loading of spawn files with [xmlsave, and [xmlload.

- import .map and .msf format spawn files with the "[xmlimportmap" and "[xmlimportmsf" utilities.

- export and import existing standard distro spawners using the [exportspawner and [importspawners commands.

Addon Systems:

The following additional optional addon systems are also available:

The Spawn Editor 2 visual spawn editing/mapping program can be found here Spawn Editor 2

The XmlPoints addon can be found here XmlPoints system

The XmlMobFactions addon can be found here XmlMobFactions system

The XmlCustomAttacks addon can be found here XmlCustomAttacks system

The XmlSockets addon can be found here XmlSockets system

The XmlSiege addon can be found here XmlSiege system

The PlayerRangeSensitiveMod provides the benefits of having PlayerRangeSensitive=false with virtually none of the server load. PlayerRangeSensitiveMod .

Additional Links:

Tryings beginners tutorial
Beginner's tutorial

Gator81's custom gauntlet with helpful walkthrough of setting up object-triggered spawners.
GatorsGauntlet using xmlspawner2 - RunUO Gaming Network

Eymerich's beginners guide to quest making. (thanks to DrussRob for the html rewrite)

LordHogFred's xml posts.
Diablo 2 quests
Halloween spawns

Erica'a ML Dungeon spawn maps
ML spawns

benchmarking information on spawner memory use.
RunUO Gaming Network - View Single Post - XmlSpawner2
 

snicker7

Sorceror
Arte: I don't know if this is already in or at all possible, but is there a way to do string literals and then terminate them? for instance, say I wanted to spawn a spawner that spawned something with properties.

this works fine:
xmlspawner/addspawn/@dagger/name/dagger of naming/

but what if I wanted two entries with properties?
xmlspawner/addspawn/@dagger/name/dagger of naming/@addspawn etcetc

if you see what I mean, is there no way to terminate the literal currently?

EDIT:
even being able to do something like
xmlspawner/addspawn/<dagger/name/blah/>/addspawn/<snake/name/poisondude/>/
could work
 

ArteGordon

Wanderer
snicker7 said:
Arte: I don't know if this is already in or at all possible, but is there a way to do string literals and then terminate them? for instance, say I wanted to spawn a spawner that spawned something with properties.

this works fine:
xmlspawner/addspawn/@dagger/name/dagger of naming/

but what if I wanted two entries with properties?
xmlspawner/addspawn/@dagger/name/dagger of naming/@addspawn etcetc

if you see what I mean, is there no way to terminate the literal currently?

EDIT:
even being able to do something like
xmlspawner/addspawn/<dagger/name/blah/>/addspawn/<snake/name/poisondude/>/
could work

that is on the todo list, but currently you have to do it with separate entries, like

subgroup 1: xmlspawner/addspawn/@dagger/name/dagger of naming
subgroup 1: SETONSPAWN,1/addspawn/@etcetc
subgroup 1: SETONSPAWN,1/addspawn/@...
 

snicker7

Sorceror
ah, thats a clever way to do that. thanks a bunch. One question, if I have 2 spawn entries that spawn in subgroup1, and I use SETONSPAWN,1/whatever which entry will it apply that to? something like:


subgroup 1: static,119
subgroup 1: xmlspawner/addspawn/@dagger/name/dagger of naming
subgroup 1: SETONSPAWN,1/addspawn/@etcetc
subgroup 1: SETONSPAWN,1/addspawn/@...
 

ArteGordon

Wanderer
snicker7 said:
ah, thats a clever way to do that. thanks a bunch. One question, if I have 2 spawn entries that spawn in subgroup1, and I use SETONSPAWN,1/whatever which entry will it apply that to? something like:


subgroup 1: static,119
subgroup 1: xmlspawner/addspawn/@dagger/name/dagger of naming
subgroup 1: SETONSPAWN,1/addspawn/@etcetc
subgroup 1: SETONSPAWN,1/addspawn/@...

SETONSPAWN will try to apply the property assignments to all spawned objects in the subgroup. It will not apply it to any keyword spawn entries. In your case it would try to set the addspawn property on the static as well as on the xmlspawner. It is not really a problem, but it would complain about it.
 

Corbomite

Wanderer
Custom treasure maps possible?

Wanted to spawn a treasure map that points to a specific tmap location. Getting the map to spawn using treasuremap,4,trammel works fine. But the location seems to be a random draw. Is there a way to spawn the same tmap each time using an xmlspawner?
 

ArteGordon

Wanderer
Corbomite said:
Wanted to spawn a treasure map that points to a specific tmap location. Getting the map to spawn using treasuremap,4,trammel works fine. But the location seems to be a random draw. Is there a way to spawn the same tmap each time using an xmlspawner?

To do that would require a slight modification to TreasureMap.cs to support changing the chest location and updating the map accordingly.

Around line 37, just make this change

change this
Code:
		[CommandProperty( AccessLevel.GameMaster )]
		public Point2D ChestLocation{ get{ return m_Location; } set{ m_Location = value; } }

to this

Code:
		[CommandProperty( AccessLevel.GameMaster )]
		public Point2D ChestLocation{ 
			get{ return m_Location; } 
			set
			{ 
				m_Location = value;
				int width = 600;
				int height = 600;

				int x1 = m_Location.X - Utility.RandomMinMax(width / 4, (width / 4) * 3);
				int y1 = m_Location.Y - Utility.RandomMinMax(height / 4, (height / 4) * 3);

				if (x1 < 0)
					x1 = 0;

				if (y1 < 0)
					y1 = 0;

				int x2 = x1 + width;
				int y2 = y1 + height;

				if (x2 >= 5120)
					x2 = 5119;

				if (y2 >= 4096)
					y2 = 4095;

				x1 = x2 - width;
				y1 = y2 - height;

				Bounds = new Rectangle2D(x1, y1, width, height);
				ClearPins();
				AddWorldPin(m_Location.X, m_Location.Y);
			} 
		}

and then around line 200 change this

Code:
		[Constructable]
		public TreasureMap( int level, Map map )
		{
			m_Level = level;
			m_Map = map;

			if ( level == 0 )
				m_Location = GetRandomHavenLocation();
			else
				m_Location = GetRandomLocation();

			Width = 300;
			Height = 300;

			int width = 600;
			int height = 600;

			int x1 = m_Location.X - Utility.RandomMinMax( width / 4, (width / 4) * 3 );
			int y1 = m_Location.Y - Utility.RandomMinMax( height / 4, (height / 4) * 3 );

			if ( x1 < 0 )
				x1 = 0;

			if ( y1 < 0 )
				y1 = 0;

			int x2 = x1 + width;
			int y2 = y1 + height;

			if ( x2 >= 5120 )
				x2 = 5119;

			if ( y2 >= 4096 )
				y2 = 4095;

			x1 = x2 - width;
			y1 = y2 - height;

			Bounds = new Rectangle2D( x1, y1, width, height );
			Protected = true;

			AddWorldPin( m_Location.X, m_Location.Y );
		}

to this

Code:
		[Constructable]
		public TreasureMap( int level, Map map )
		{
			m_Level = level;
			m_Map = map;

			if ( level == 0 )
				ChestLocation = GetRandomHavenLocation();
			else
				ChestLocation = GetRandomLocation();

			Width = 300;
			Height = 300;

			Protected = true;

		}
and then you will be able to change the treasure location any time you like and the map will automatically change to reflect the new location even after the map has already been decoded.

treasuremap,4,trammel/chestlocation/(800,456)

the old constructor will still work as well if you want normal maps with the standard locations, like

treasuremap,4,trammel
 

ArteGordon

Wanderer
updated to version 3.13

from the changelog

New to version 3.13
updated 7/6/06

- added support for the new WalkingRange property when importing/exporting RunUO 2.0 distro spawners.

- I forgot to add the updated XmlSpawnerGumps.cs script into the last update that fixed problems with the main gump not being refreshed when using the text entry book or the add item/mobiles gump. Now it is included.

- added in a conditional compilation flag to suppport people using the original RunUO 2.0 RC1 release instead of the latest SVN. If you are using RC1 uncomment the following line at the beginning of XmlSpawner2.cs. If you are using the most recent SVN then just leave this line commented out at the beginning of XmlSpawner2.cs

//#define RUNUO2RC1

- added the option to make addons created with the MULTIADDON keyword partially visible with the new PartialVisibility property (thanks to Lara for the idea). By setting this property to a percentage between 1-100, it will make that fraction of the addon components visible. An example of this is given in becomevisible.xml.

- added the '[WhatIsIt' command that will report the type and name of the target. This can be used by players or staff to provide information needed to set up quest objectives or any other situation where knowing the type and name of an object is needed. (thanks to Lara for the suggestion).

- fixed a possible crash bug when using '[xmlsave'

- fixed a problem with skill triggering not recognizing min/max skill value limits when combined with the '+' or '-' arguments for skill use success/failure (thanks to Lara for pointing this out).

- fixed a problem with old spawner names not being restored after restarts.

- fixed a bug with COLLECTNAMED objectives not being displayed properly in the quest status gump. (thanks to Discord for pointing that out).

- fixed a problem with the [xmladd gump not refreshing properly after adding a spawner or adding a spawn entry from item/mobile selection gump. For example, it would reset the AutoNumbering checkbox after placing a spawner.

- changed the default smartspawning activation level from Administrator to Owner and added a test to allow any unhidden staff, regardless of accesslevel to activate smartspawned spawners. This means that by default, all players and staff will activate smartspawned spawners. If you change the default level to Player by changing the setting of the SmartSpawnAccessLevel variable at line 100 of in xmlspawner2.cs to something like

Code:
  // specifies the level at which smartspawning will be triggered.  Players with AccessLevel above this will not trigger smartspawning unless unhidden.
  public static AccessLevel SmartSpawnAccessLevel = AccessLevel.Player;

then only players and unhidden staff will activate them, but hidden staff will not (thanks to Erica for the suggestion).
 

snicker7

Sorceror
Heh, another s7suggestion. PRIVMSG? obviously would just use Mobile.SendMessage rather than PublicOverHeadMessage?
 

ArteGordon

Wanderer
snicker7 said:
Heh, another s7suggestion. PRIVMSG? obviously would just use Mobile.SendMessage rather than PublicOverHeadMessage?

that would be the SENDMSG keyword which does SendMessage instead of public overhead.
 

snicker7

Sorceror
SENDMSG cant be used as a value keyword. I would like to be able to say, send a private message to all players in the area:

SETONNEARBY,6,,playermobile/SENDMSG/You're less than 6 tiles away/

which won't work. if SENDMSG could be used as a value keyword in the same way that could work.
 

ArteGordon

Wanderer
snicker7 said:
SENDMSG cant be used as a value keyword. I would like to be able to say, send a private message to all players in the area:

SETONNEARBY,6,,playermobile/SENDMSG/You're less than 6 tiles away/

which won't work. if SENDMSG could be used as a value keyword in the same way that could work.

ah yeah. I keep forgetting to do that. I'll add that in. thanks.

(edit)

if you want to grab the updated version now, you can find it here
http://xmlspawner.15.forumer.com/index.php?showtopic=53
 

Fr€€man

Sorceror
Help

I got this message

Code:
RunUO - [www.runuo.com] Version 2.0, Build 2357.32527
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (1 errors, 1 warnings)
Warnings:
 + NewResources/CraftDefs/DefCrystalCrafting.cs:
    CS0219: Line 96: The variable 'index' is assigned but its value is never use
d
Errors:
 + Xml/XmlSpawner2.cs:
    CS0029: Line 9207: Cannot implicitly convert type 'System.Collections.ArrayL
ist' to 'System.Collections.Generic.List<Server.Tile>'
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.
 

ArteGordon

Wanderer
Fr€€man said:
I got this message

Code:
RunUO - [www.runuo.com] Version 2.0, Build 2357.32527
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (1 errors, 1 warnings)
Warnings:
 + NewResources/CraftDefs/DefCrystalCrafting.cs:
    CS0219: Line 96: The variable 'index' is assigned but its value is never use
d
Errors:
 + Xml/XmlSpawner2.cs:
    CS0029: Line 9207: Cannot implicitly convert type 'System.Collections.ArrayL
ist' to 'System.Collections.Generic.List<Server.Tile>'
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.

This is due to differences between the RunUO 2.0 RC1 release of the server and the latest SVN.
If you are using the latest version 3.13 of xmlspawner with RC1, just follow these instructions and uncomment the line in xmlspawner2.cs

- added in a conditional compilation flag to suppport people using the original RunUO 2.0 RC1 release instead of the latest SVN. If you are using RC1 uncomment the following line at the beginning of XmlSpawner2.cs. If you are using the most recent SVN then just leave this line commented out at the beginning of XmlSpawner2.cs

//#define RUNUO2RC1
 

XenoWolf

Wanderer
I'm having a problem where, randomly, xmlspawners are chewing up excessive amounts of memory.

There are no errors, no warnings... I load up the server and my memory slowly gets sucked dry a meg at a time. The reason I assume it's xmlspawner is that if I remove them all, the problem corrects itself and my memory is freed. During the memory 'vacuum' the shard freezes every few seconds and renders the shard completely un-playable.

It's not my hardware, as the shard runs perfect and lag-free without the spawners (and when the spawners are working correctly I have plenty of free memory). I was using version 3.11, and I didn't see anything in the changelog that might solve my problem (correct me if I missed it).

Not complaining really, just trying to give you a heads up. I wish I could give you information on how to re-create the problem... but it seems to happen randomly. I also loaded most of the spawners from Neruns' .map files, if that would effect this at all.
 
Status
Not open for further replies.
Top