credit to Dian for helping me with this
Just to be clear, this has nothing to do with creating a custom map.
But let's say you want to take an existing map that's already in the client files and have two copies of it?
This will tell you how to make a copy of that existing map that doesn't require a player to use custom files.
Open MapDefinitions.cs
If you read through the information in there it tells you everything you need to know.
So, if you simply add a line like:
RegisterMap(33, 1, 1, 7168, 4096, 1, "testtram", MapRules.TrammelRules);
after
RegisterMap(5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules);
You create a map with the index of 33 [first usable index #] using the Trammel map and Trammel rules.
*Tip: Make sure the size of the map you're copying matches the copy.
Start/Restart your shard ( you can just type restart into the console, no need to sign in )
Go to anywhere in Tram, then do the command [set map testtram and target yourself...and there you go
Now, of course it's an ungenerated map, no doors, teleporters, or any of that fun stuff. Those commands/systems won't work due to not supporting a "custom" map
Just to be clear, this has nothing to do with creating a custom map.
But let's say you want to take an existing map that's already in the client files and have two copies of it?
This will tell you how to make a copy of that existing map that doesn't require a player to use custom files.
Open MapDefinitions.cs
C#:
/* Here we configure all maps. Some notes:
*
* 1) The first 32 maps are reserved for core use.
* 2) Map 0x7F is reserved for core use.
* 3) Map 0xFF is reserved for core use.
* 4) Changing or removing any predefined maps may cause server instability.
*/
RegisterMap(0, 0, 0, 7168, 4096, 4, "Felucca", MapRules.FeluccaRules);
RegisterMap(1, 1, 1, 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(5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules);
RegisterMap(0x7F, 0x7F, 0x7F, Map.SectorSize, Map.SectorSize, 1, "Internal", MapRules.Internal);
/* 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-5
* - <fileIndex> : A file identification number. For any visible maps, this value must be from 0-5
* - <width>, <height> : Size of the map (in tiles)
* - <season> : Season of the map. 0 = Spring, 1 = Summer, 2 = Fall, 3 = Winter, 4 = Desolation
* - <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
*/
If you read through the information in there it tells you everything you need to know.
So, if you simply add a line like:
RegisterMap(33, 1, 1, 7168, 4096, 1, "testtram", MapRules.TrammelRules);
after
RegisterMap(5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules);
You create a map with the index of 33 [first usable index #] using the Trammel map and Trammel rules.
*Tip: Make sure the size of the map you're copying matches the copy.
Start/Restart your shard ( you can just type restart into the console, no need to sign in )
Go to anywhere in Tram, then do the command [set map testtram and target yourself...and there you go
Now, of course it's an ungenerated map, no doors, teleporters, or any of that fun stuff. Those commands/systems won't work due to not supporting a "custom" map