Jump to content

Adding new maps (extensive tutorial)


Recommended Posts

Hello community, its time to give back some knowledge 🙂

After creating your own map with WorldEditor ReMIX, there are a few steps needed to actually place it on the server.

Server side

1. Navigate into

/share/locale/germany/map


2. Create a folder, for example `metin2_new_map`, and place the following files inside. Only server_attr and settings.txt, town.txt are required

- server_attr - copied from your clientside map folder, it holds map attributes like nonpvp zones
- Town.txt - simply holds [x,y] respawn coords - **remember to set it or you'll spawn at 0,0** 
- regen.txt - mob regens
- npc.txt - npc regens
- boss.txt - mob (boss type) regens
- stone.txt - metin stone regens
- Setting.txt - should be copied from clientside map folder, except for `BasePosition` value.

BasePosition value should be set to a coordinate value of a free chunk map and then it will form a square depending on the map size (for example 6/6 will take up 6 square height and 6 square width starting from the square you picked). This can be easily done via `

This is the hidden content, please
` tool.

3. Add `metin2_new_map` to `/share/locale/germany/map/index`. Pick unique map index, preferably above 250 to avoid possible issues.
4. Add that map index you just set to channels of your choice to CORE configs (this is often done via sh scripts depending on your sf)
5. Run that gen_settings script
6. Restart the server if it's already running

More information about Town.txt:

Town.txt is located in the map folder, on the server side. This file governs respawns (restart in the city and so on). It can contain one line w x,y but this will cause players across all kingdoms to respawn in the same place. It can also contain four lines:
1. Jinno (Empire C) x,y
2. Shinsoo (Empire A) x,y
3. Chunjo (Empire B) x,y
4. GM related respawn most likely

Client side

1. Edit `atlasinfo.txt` file in `pack/root` and add an entry like this:
> metin2_new_map    BasePosition_x    BasePosition_y    WIDTH_MAP    LENGTH_MAP
2. Pack your map along with the appropriate model assets into a .epk pack file and add it to `pack/root/index.txt`
3. Generate Minimap .bmp image inside worldeditor, you can do this in WE sidepanel -> utility -> save atlasmap/mini
4. Convert .bmp file to .dds with preferred software. Or this web interface
5. Place this .dds file inside `/pack/etc/ymir work/ui/metin2_new_map.dds`
6. Create a directory `/pack/etc/ymir work/ui/atlas/metin2_new_map` and place atlas.sub file inside, it should look like this:
 

title subImage
version 1.0
image "yourmap.dds"
left 0
top 0
right 256
bottom 256

You need to edit the dds name and right/bottom (actual size of the image).

**Take note!** a maximum dimension of 256x256 is highly recommended. You should resize you .bmp to this resolution if it's bigger.

There's also `pack/root/uimapnameshower.py` that's assigning map names to images that are shown upon warp etc.

Portals (warps)

Warp portals are a special kind of NPCs. Placing a warp portal on the map requires a few steps.

1. Go to the coordinates you want the portal to warp to, in game.
2. Type in `/state` command and look for your coordinates. You should see 3 different types of coordinates (Global/Warp/Local Position), what you need is the Warp Position (red).
.png
3. Create a mob with type 0 and battle_type 3, make sure to structure his name and locale_name like this: `name_shown warp_x warp_y`, for instance: `Yayang_Area 4002 8995`. If you don't want the portal to show any name (it will still work with the said coordinates) put a dot instead of the name_shown, like this: `. 4002 8995`
4. Place this special warp NPC in your map's npc.txt regen `/share/locale/germany/map/metin2_new_map/npc.txt`
5. You will also may want to place a portal frame in worldeditor.

Start position (first login)

If you are trying to change the starting map, it's worth noting that this can be done by editing `game/start_position.cpp`: g_start_map (map indexes) and g_start_position (coords), configurable by empire.

Name shower

It's also worth mentioning that `root/uimapnameshower.py` file controls what kind of image will be shown upon entering the map

  • Metin2 Dev 17
  • Good 2
  • Love 2
  • Love 9
Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.