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!

Nerun's Static Exporter (to .cfg decoration file)

Kendo

Wanderer
Great program Nerun! You're the best.

Just one problem that I noticed with using the Static Exporter.

When copying teleporters, if the teleporters do not have a map destination, it will crash the server on the [Decroate command.

Example:

I created an area to use for a Halloween Fun Area and I had several teleporters set up. While creating the teleporters, I was lazy and didn't put the map destinations in, just the coords. After exporting the area to the cfg file and then testing it by using the decorate command, the server crashed. After investigating the .cfg file, I found this...

Code:
Teleporter 7107 (PointDest=(5460, 499, 0); MapDestination=)
5462 497 0

Teleporter 7107 (PointDest=(5443, 499, 0); MapDestination=)
5453 502 0

Teleporter 7107 (PointDest=(5480, 499, 0); MapDestination=)
5476 495 0

So, when the server crashed, the log stated:

Code:
System.Exception: [COLOR="Red"]Invalid map name[/COLOR]
   at Server.Map.Parse(String value)
   at Server.Commands.DecorationList.Construct()
   at Server.Commands.DecorationList.Generate(Map[] maps)
   at Server.Commands.Decorate.Generate(String folder, Map[] maps)
   at Server.Commands.Decorate.Decorate_OnCommand(CommandEventArgs e)
   at Server.Commands.CommandSystem.Handle(Mobile from, String text, MessageType type)
   at Server.Mobile.DoSpeech(String text, Int32[] keywords, MessageType type, Int32 hue)
   at Server.Mobiles.PlayerMobile.DoSpeech(String text, Int32[] keywords, MessageType type, Int32 hue)
   at Server.Network.PacketHandlers.UnicodeSpeech(NetState state, PacketReader pvSrc)
   at Server.Network.MessagePump.HandleReceive(NetState ns)
   at Server.Network.MessagePump.Slice()
   at Server.Core.Main(String[] args)

Of course, I didn't know where the problem was right away, but after finding out the file had those entries, I corrected them using the Find/Replace and change the Mapdestinations=0 for Felucca.

Code:
Teleporter 7107 (PointDest=(5460, 499, 0); MapDestination=0)
5462 497 0

Teleporter 7107 (PointDest=(5443, 499, 0); MapDestination=0)
5453 502 0

Teleporter 7107 (PointDest=(5480, 499, 0); MapDestination=0)
5476 495 0

Decorate command worked great after that.

I have a test server and this will greatly help copying decorations and other files over. I just wanted to share my experience. I wouldn't know where to look to correct this in the .cs file, but if you update it, I'll make sure to download the new version.

Thanks again!
 

Kendo

Wanderer
If you left out having to put the Map Destination on teleporters or setting it to 'null', I wonder if that would work?

The way I'm thinking is if no map destination is stated on in the props, it defaults to current map.

Moongates however don't work this way, I'm sure they do need a map destination to work, even on current map.

Again, thanks Nerun for your awesome scripts!
 

Nockar

Sorceror
I did a full backup of Trammel. Then on a test server I ran this and it crashes the server. I finally figured out the first set of errors was coming from anything with the word Component in it. Then once I got rid of all of those. I ran it again and it crashed on Sign.

I don’t see anything with a = no value. So I am not sure what is causing it to crash.

Code:
xception:
System.Exception: Bad type: Server.Items.Sign ---> System.MissingMethodException: No parameterless constructor defined for this object.
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
   at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Server.Commands.DecorationList.Construct()
   --- End of inner exception stack trace ---
   at Server.Commands.DecorationList.Construct()
   at Server.Commands.DecorationList.Generate(Map[] maps)
   at Server.Commands.Decorate.Generate(String folder, Map[] maps)
   at Server.Commands.Decorate.Decorate_OnCommand(CommandEventArgs e)
   at Server.Commands.CommandSystem.Handle(Mobile from, String text, MessageType type) in e:\UO\Run UO SA SVN\Server\Commands.cs:line 321
   at Server.Mobile.DoSpeech(String text, Int32[] keywords, MessageType type, Int32 hue) in e:\UO\Run UO SA SVN\Server\Mobile.cs:line 4773
   at Server.Mobiles.PlayerMobile.DoSpeech(String text, Int32[] keywords, MessageType type, Int32 hue)
   at Server.Network.PacketHandlers.UnicodeSpeech(NetState state, PacketReader pvSrc) in e:\UO\Run UO SA SVN\Server\Network\PacketHandlers.cs:line 1375
   at Server.Network.MessagePump.HandleReceive(NetState ns) in e:\UO\Run UO SA SVN\Server\Network\MessagePump.cs:line 268
   at Server.Network.MessagePump.Slice() in e:\UO\Run UO SA SVN\Server\Network\MessagePump.cs:line 129
   at Server.Core.Main(String[] args) in e:\UO\Run UO SA SVN\Server\Main.cs:line 485
 

XGuardian

Sorceror
for runuo 2.1 change the line 164 from "CreaturesName" to SpawnNames

Code:
op.WriteLine("Spawner 0x1F13 (Spawn={0}; Count={1}; HomeRange={2})", ((Spawner)item).SpawnNames[0], ((Spawner)item).Count, ((Spawner)item).HomeRange);

works again !
 

Stein

Wanderer
probly a stupid question.... I admit, I've been out of it for several years.....

I'm using runuo 2.1 now, but can this be used first on runuo verson 1.0? trying to save several weeks full of work from a 6 year old sever.
 
Top