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!

Custom Map Trouble

Okay, so I added a map. But there's a problem.
I have Map33.mul, and so on, but no Facet33.mul.
I've packed the 3 .MUL into a .UOP.

I can [go to that facet; for testing purposes, I've named it Test.
So when I say [go Test, I do - except it's whatever map I have set for
RegisterMap(33, 5, 5, 6144, 4096, 1, "Test", MapRules.TrammelRules);
those two numbers. When I change the 5's to 33's, I get "Unknown Facet 33" and my client crashes.

Am I missing something?
 

mtindell

Sorceror
Okay, so I added a map. But there's a problem.
I have Map33.mul, and so on, but no Facet33.mul.
I've packed the 3 .MUL into a .UOP.

I can [go to that facet; for testing purposes, I've named it Test.
So when I say [go Test, I do - except it's whatever map I have set for

those two numbers. When I change the 5's to 33's, I get "Unknown Facet 33" and my client crashes.

Am I missing something?


Does the server see the file in the directory outlined in datapath.cs? Does the client also have a cop of the file?

It used to be that the number of physically different maps was limited by the client executable, you could only have the number of files it would allow, you could have multiple "Copies" of those maps acting as different facets however. I'm not sure if this has changed. EDIT: according to this post by Dian, it hasn't. You're going to have to replace an existing map.
 

Sythen

Sorceror
If you're not using UltimaLive you can edit the Map.cs in the core and register your new map that way... then the unknown facet error should go away. UltimaLive is your best bet though; with it you can add up to 200+ maps... however no one in this community will ever achieve that many and if they do then those people are the 1% that can afford the high end servers that are fast and stable enough to do so without lag ;) Imagine the item count alone lol
 

Obsidian Fire

Sorceror
Hi all, I found this to work, I'm still testing it but I have had NO issue so far.

WHEN ADDING A NEW MAP:

You CAN'T as far as I know add a NEW MAP above the 6 already in the Client, BUT.... You can do this...

1) Add your new map (Map<number here 0-5>.mul and associated statics and staidx muls into the Game root folder.

2) Register the map in the "Map.cs" file in the SVN "server" folder (Im using SVN1080) and compile the *.exe file ( My map is called Dereth also doing UOVI )

public static Map Felucca { get { return m_Maps[0]; } }
public static Map Trammel { get { return m_Maps[1]; } }
public static Map Ilshenar { get { return m_Maps[2]; } }
public static Map Malas { get { return m_Maps[3]; } }
public static Map Tokuno { get { return m_Maps[4]; } }
public static Map TerMur { get { return m_Maps[5]; } }

public static Map Dereth { get { return m_Maps[6]; } } <---------ADDED MAP


3) in you "MapDefinitions.cs" file add your map... example..


RegisterMap( 0, 0, 0, 7168, 4096, 4, "Felucca", MapRules.FeluccaRules );
RegisterMap( 1, 0, 0, 7168, 4096, 0, "Trammel", MapRules.TrammelRules );

RegisterMap( 6, 1, 1, 7168, 4096, 0, "Dereth", MapRules.TrammelRules ); <---------ADDED MAP

RegisterMap( 2, 2, 2, 2304, 1600, 1, "Ilshenar", MapRules.TrammelRules );
RegisterMap( 3, 3, 3, 2560, 2048, 1, "Malas", MapRules.TrammelRules );
RegisterMap( 4, 4, 4, 1448, 1448, 1, "Tokuno", MapRules.TrammelRules );
RegisterMap( 5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules );

Dereth is the Map I am registering. (Save)

4) Now in your "region.xml" file add your new "map and regions"... example...


<Facet name="Dereth">
<region type="GuardedRegion" priority="50" name="Moongates">
<!-- britain -->
<rect x="2372" y="1798" width="15" height="15" />
<!-- jhelom -->
<rect x="1809" y="2741" width="15" height="15" />
<!-- minoc -->
<rect x="2824" y="1151" width="15" height="15" />
<!-- trinsic -->
<rect x="2277" y="2555" width="15" height="15" />
<!-- yew -->
<rect x="1965" y="1273" width="15" height="15" />
<!-- skara brae -->
<rect x="1668" y="2007" width="15" height="15" />
<!-- moonglow -->
<rect x="3277" y="1992" width="15" height="15" />
<!-- magincia -->
<rect x="2965" y="2383" width="15" height="15" />
</region>
<!-- COVE -->
<region type="TownRegion" priority="50" name="Cove">
<rect x="2562" y="1673" width="115" height="90" />
<rect x="0" y="0" width="100" height="40" />
<go x="2612" y="1717" z="0" />
<music name="Cove" />
<zrange min="0" />
</region>
<!-- COVE -->
<region type="NoHousingRegion" priority="50" name="Fan Dancer's Dojo">
<rect x="969" y="194" width="23" height="30" />
<go x="977" y="223" z="23" />
<smartNoHousing active="true" />
</region>
<region type="NoHousingRegion" priority="50" name="Bushido Dojo">
<rect x="283" y="361" width="68" height="102" />
<go x="320" y="408" z="32" />
<smartNoHousing active="true" />
</region>
</Facet>

5) in your "GoGump.cs file you wll need to add your "LocationTree" Info. example..

public static readonly LocationTree Felucca = new LocationTree( "felucca.xml", Map.Felucca );
public static readonly LocationTree Trammel = new LocationTree( "trammel.xml", Map.Trammel );
public static readonly LocationTree Ilshenar = new LocationTree( "ilshenar.xml", Map.Ilshenar );
public static readonly LocationTree Malas = new LocationTree( "malas.xml", Map.Malas );
public static readonly LocationTree Tokuno = new LocationTree( "tokuno.xml", Map.Tokuno );

public static readonly LocationTree TerMur = new LocationTree( "termur.xml", Map.TerMur ); <---------ADDED MAP
public static readonly LocationTree Dereth = new LocationTree( "dereth.xml", Map.Dereth ); <---------ADDED MAP

and alittle farther down:

LocationTree tree;

if ( from.Map == Map.Ilshenar )
tree = Ilshenar;
else if ( from.Map == Map.Felucca )
tree = Felucca;
else if ( from.Map == Map.Trammel )
tree = Trammel;
else if ( from.Map == Map.Malas )
tree = Malas;
else if ( from.Map == Map.Tokuno )
tree = Tokuno;
else if ( from.Map == Map.TerMur ) <---------ADDED MAP
tree = TerMur;
else
tree = Dereth; <---------ADDED MAP

6) and you will have to create your "[go" XML file. yourmapname.xml file ( the one that goes in your data\locations folder )

if I find any issues Ill post them here. Hope this help someone.
the only thing that MAY? cause any issues is things like "Khaldun" and some of the differences like that, do to the fact that Feluuca and Trammel are now sharing a map again (diff file may become a problem).

P.S. still learning myself ;)
 

mtindell

Sorceror
That's actually a pretty clever solution for those who don't mind only having one Britannian map.

There's a tool that will do regions quicker, and easier, basically load an image of your map and you click and drag bounding boxes to define the coords, and it will write the xml for you, I'll edit if i find it.
 
If you're not using UltimaLive you can edit the Map.cs in the core and register your new map that way... then the unknown facet error should go away. UltimaLive is your best bet though; with it you can add up to 200+ maps... however no one in this community will ever achieve that many and if they do then those people are the 1% that can afford the high end servers that are fast and stable enough to do so without lag ;) Imagine the item count alone lol


Item count!
That would have to be like a dedicated super-server! Take up a whole office, it would!

~~~~~~~~~~~~~

On a side note, thank you EVERYONE for your help! You're all lovely. <3 I've decided to check out Ultima Live. I'll post back here if I end up at square one.
 
Top