Follow these steps to add an @go command.
1. In src/common/mapindex.h
Find:
#define MAP_JAIL "sec_pri"
#define MAP_NOVICE "new_1-1"
#define MAP_MOSCOVIA "moscovia"
#define MAP_BRASILIS "brasilis"
#define MAP_MANUK "manuk"
#define MAP_SPLENDIDE "splendide"
And add under #define MAP_SPLENDID "splendide"
#define MAP_MALL "map_name"
where "map_name" is the map where they will warp. For example: que_moc_16
So it will look like this:
#define MAP_JAIL "sec_pri"
#define MAP_NOVICE "new_1-1"
#define MAP_MOSCOVIA "moscovia"
#define MAP_BRASILIS "brasilis"
#define MAP_MANUK "manuk"
#define MAP_SPLENDIDE "splendide"
#define MAP_MALL "que_moc_16"
2. In src/map/atcommand.c
Press clt + f and find @go (press enter 2 times)
Find:
{ MAP_BRASILIS, 182, 239 }, // 26=Brasilis
{ MAP_MANUK, 282, 138 }, // 27=Manuk
{ MAP_SPLENDIDE, 197, 176 }, // 28=Splendide
and add :
{ MAP_MALL 110, 110 }, // 29=Mall
So it will look like this:
{ MAP_BRASILIS, 182, 239 }, // 26=Brasilis
{ MAP_MANUK, 282, 138 }, // 27=Manuk
{ MAP_SPLENDIDE, 197, 176 }, // 28=Splendide
{ MAP_MALL 110, 110 }, // 29=Mall
Where 110,110 are the coordinates where the player will spawn.
3. Still in atcommand.c find:
clif_displaymessage(fd, " 24=Veins 25=Moscovia 26=Brasilis");
clif_displaymessage(fd, " 27=Manuk 28=Splendide");
and change it to this:
clif_displaymessage(fd, " 24=Veins 25=Moscovia 26=Brasilis");
clif_displaymessage(fd, " 27=Manuk 28=Splendide 29=Mall");
4. Also in atcommand.c find: (Just scroll down a little)
} else if (strncmp(map_name, "brasilis", 3) == 0) {
town = 26;
} else if (strncmp(map_name, "manuk", 3) == 0) {
town = 27;
} else if (strncmp(map_name, "splendide", 3) == 0) {
town = 28;
}
and input:
} else if (strncmp(map_name, "brasilis", 3) == 0) {
town = 26;
} else if (strncmp(map_name, "manuk", 3) == 0) {
town = 27;
} else if (strncmp(map_name, "splendide", 3) == 0) {
town = 28;
} else if (strncmp(map_name, "que_moc_16", 3) == 0) {
town = 29;
}
Then all you need to do is recompile.