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!

Number of Facets.

Kami-jin

Wanderer
Number of Facets.

How many facets can a shard typically support? I mean, I want to have many facets, each representing a different world. Is there a limit to just how many I could/should have?


Also, this might be a long shot, but is there a way inwhich to patch several maps to make a particularly large, expansive facet. The given map parameters aren't large enough for my needs, much less the fact that one large map is almost impossible to draw.
 

irro

Page
You can have as many facets as you want. I dont remember the actual script that controls it. I believe its in mapdefinions.cs in scripts/misc

You cant combine all the maps into one physicaly, but you can get creative with it, like putting a cave inbetween maps. Like the way dungeon entrances/exits work.
 

floppydisc

Sorceror
Don't forget that the OSI client only supports the maps it already comes with. (i.e. map0, map2, map3 and map4)
 
the client will support the higher maps, you just have to put in specil ways for them to get there, and they have their size limits in forced, i am not sure if the zir after 4 is limited to tokuno size or reverts back to the tram size
 

Pyro-Tech

Knight
so the client will actually support more than the standard 0,1,2,3,4 now? :confused:

I would like more info on this if you know where to obtain it....here or in a PM if you don't mind.

If ya do....that's cool to i guess :p
 
i did a test a while back - so not sure fully what all i did at the time

but basicaly i copied all of the map 0 items (static, map, diff, etc files) and made them 5 instead of 0

i then went into mapdef file and basicaly followed their instructions for a new facet, set it winter, named it frozensomething lol, rulles trammel, sizing to match fel's, etc

then restarted the server - i then set map = frozenwhatever on myself and i was able to walk around with no problem

i did not test if the "wrap around" of the oceans still worked or not - but i would think they would either work at the tram/fel lines or the tokuno lines or not wrapping - but not sure which

other than just walking around - i did not do any other testing - was going to set it up as a new map and never go around to it

hope that helps
 

HellRazor

Knight
You couldn't have just renamed the Map and Statics files. The client expects Map0 - Map4 to be a certain size (the same size as those default maps), and has no support for a Map5.

Maybe you renamed the Diff files and got something to work with that, but I have a feeling that the client will only read the diff files it knows about too.
 
0=fel
1=tram
2=ilsh
3=malas
4=tokuno
5 = equaled the one i used - as i said - i copied the "0"s and renamed them to 5, i then went into mapdef's as i said and added in the map there also, following the "instructions" it had in there
5 may not have been the number - may have been 32 or something else - but i did do it

as i said - i did limited testing - but i was walking around in a winter britian with nothing spawned - did not go to ocello, or anyplace else - so do not know if the diff files worked or not, i just copied them over also

but i was walking around on the new map
 

Irian

Page
When I try copying the Map0 to Map5 and edit the MapDef file of the server, I get an "Unknown facet" fatal error (in the client) when trying to go there...
 

HellRazor

Knight
Irian;653258 said:
When I try copying the Map0 to Map5 and edit the MapDef file of the server, I get an "Unknown facet" fatal error (in the client) when trying to go there...

It's because you can't do that, just like I said.

The map names and sizes are hardcoded into the client. You can't take map0 which is one size and copy it to Map2 which is another size. The client expects Map2 to be the size of Map2, not some new size. It will crash the client.

You also can't copy it to Map5 because the client doesn't know about the existance of a map5 and will never load a Map5 (at least not until OSI adds an actual Map5).

Also, there is no Map1. Trammel uses Map0 and the diff files contain the differences between the normal Map0 and Trammel (like Haven).
 

HellRazor

Knight
Lord_Greywolf;653241 said:
0=fel
1=tram
2=ilsh
3=malas
4=tokuno
5 = equaled the one i used - as i said - i copied the "0"s and renamed them to 5, i then went into mapdef's as i said and added in the map there also, following the "instructions" it had in there
5 may not have been the number - may have been 32 or something else - but i did do it

as i said - i did limited testing - but i was walking around in a winter britian with nothing spawned - did not go to ocello, or anyplace else - so do not know if the diff files worked or not, i just copied them over also

but i was walking around on the new map

Then you weren't using an OSI client because the map names and sizes are hard coded into the client. The OSI client doesn't support a Map5.

Also there is no Map1 (see above).
 
did you also modify the map def files?

i was using either SE or ML install at the time - no modified client

it can be done

ok - looking at the map defs - had to be map 32 then that i used - the 1st 32 numbers are reserved (0-21)

here are the directions in the map def even for doing it:

Code:
			/* Example of registering a custom map:
			 * RegisterMap( 32, 0, 0, 6144, 4096, 3, "Iceland", MapRules.FeluccaRules );
			 * 
			 * Defined:
			 * RegisterMap( <index>, <mapID>, <fileIndex>, <width>, <height>, <season>, <name>, <rules> );
			 *  - <index> : An unreserved unique index for this map
			 *  - <mapID> : An identification number used in client communications. For any visible maps, this value must be from 0-3
			 *  - <fileIndex> : A file identification number. For any visible maps, this value must be 0, 2, 3, or 4
			 *  - <width>, <height> : Size of the map (in tiles)
			 *  - <name> : Reference name for the map, used in props gump, get/set commands, region loading, etc
			 *  - <rules> : Rules and restrictions associated with the map. See documentation for details
			*/

so copy them over as 32 instead of 5 (including static files, etc)
then set it up in there like this:


Code:
			RegisterMap( 0, 0, 0, 7168, 4096, 4, "Felucca",		MapRules.FeluccaRules );
			RegisterMap( 1, 1, 0, 7168, 4096, 0, "Trammel",		MapRules.TrammelRules );
			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( 32, 0, 0, 7168, 4096, 3, "Iceland",		MapRules.TrammelRules );

			RegisterMap( 0x7F, 0x7F, 0x7F, Map.SectorSize, Map.SectorSize, 1, "Internal", MapRules.Internal );
 

HellRazor

Knight
You can only make more facets of an existing map, not actually make a physical copy of Map0.mul in the client and trying to get the client to read it.

The client doesn't know about the existance of any map that isn't there already. You can't just add Map32.mul to the client, the client will never load it because the client hasn't been programmed to handle Map32.mul.

You might be able to take Map0 and make more facets of Map0. But you can't rename Map0.mul to Map5.mul, the client will never load Map5.mul.

You also can't rename Map0.mul to Map3.mul because the client expects Map3.mul to be the size of Malas.

You'll note that the example uses Map0.mul to make a new facet of Map0.mul. It doesn't create a new map, it creates a new facet. It also doesn't involve ANY copying of files in the client.
 
well his question was to have more facets, and you can have more facets - and a lot of them from numbers 32 to 7C or 7B - which ever
they just have to be copies of existing maps is all

so you can have 5 maps of each map - each with its own season and 1 in devestaion - then dupe all those again to have 1 set in tram rules and 1 set in fel rules
and different spawning on the different facets and all (from standard spawns to futuristic spawns, etc) , endless possiblilities

i just do not know the memory requirements this would cause on a server - i suspect it would add up pretty fast
 

HellRazor

Knight
Yes, but your other posts indicated that you added new maps to the client by copying Map0.mul into other file names, and that is not accurate. Maybe I just misunderstood what you were trying to say. :)
 
i did copy map 0 to map 32 -- i may not have needed to though, but i did - just in case it did try to read info from it - it could have been a wasted copy (better to have wasted copy then to crash server for a dummy test)

if i were to have kept it - i may have found out if i truely needed it or not
(may anyways - just to see -- to have a futuristic fel - star wars style stuff that would on work there on that map :eek: )
 

HellRazor

Knight
Lord_Greywolf;653829 said:
i did copy map 0 to map 32 -- i may not have needed to though, but i did - just in case it did try to read info from it - it could have been a wasted copy (better to have wasted copy then to crash server for a dummy test)

if i were to have kept it - i may have found out if i truely needed it or not
(may anyways - just to see -- to have a futuristic fel - star wars style stuff that would on work there on that map :eek: )


Trust me, it won't.

The client has no way of knowing about any map other than the ones it has been coded to know about.

The thing with facets is done by creating a virtual copy of a map that is already there.
 

HellRazor

Knight
Not a brand new set of filenames, no.

Think of it this way. There are files in your client directory. How does the client know which files to read and how to handle them? The file names are hardcoded and there is code telling the client what to do with them.

So if you add Statics236.mul to the client, the client won't magically understand that there is a new set of static files called statics236.mul and automatically add support for Map #236. The client's not written to do that. The client only has code to handle the specific maps, statics, and dif files that it has been programmed to read.
 
Top