Jump to content
  • 0

@go custom map?


Millenium

Question


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  131
  • Reputation:   0
  • Joined:  07/10/12
  • Last Seen:  

Doesn't list in it @go commands and won't let me warp there.

Says map not found, or warps me to prontera.

// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
// For more information, see LICENCE in the main folder
#ifndef _MAPINDEX_H_
#define _MAPINDEX_H_
//File in charge of assigning a numberic ID to each map in existance for space saving when passing map info between servers.
extern char mapindex_cfgfile[80];
#define MAX_MAPINDEX 2000
//Some definitions for the mayor city maps.
#define MAP_PRONTERA "prontera"
#define MAP_GEFFEN "geffen"
#define MAP_MORROC "morocc"
#define MAP_ALBERTA "alberta"
#define MAP_PAYON "payon"
#define MAP_IZLUDE "izlude"
#define MAP_ALDEBARAN "aldebaran"
#define MAP_LUTIE "xmas"
#define MAP_COMODO "comodo"
#define MAP_YUNO "yuno"
#define MAP_AMATSU "amatsu"
#define MAP_GONRYUN "gonryun"
#define MAP_UMBALA "umbala"
#define MAP_NIFLHEIM "niflheim"
#define MAP_LOUYANG "louyang"
#define MAP_JAWAII "jawaii"
#define MAP_AYOTHAYA "ayothaya"
#define MAP_EINBROCH "einbroch"
#define MAP_LIGHTHALZEN "lighthalzen"
#define MAP_EINBECH "einbech"
#define MAP_HUGEL "hugel"
#define MAP_RACHEL "rachel"
#define MAP_VEINS "veins"
#define MAP_JAIL "sec_pri"
#define MAP_NOVICE "new_1-1"
#define MAP_MOSCOVIA "moscovia"
#define MAP_MIDCAMP "mid_camp"
#define MAP_MANUK "manuk"
#define MAP_SPLENDIDE "splendide"
#define MAP_BRASILIS "brasilis"
#define MAP_DICASTES "dicastes01"
#define MAP_MORA "mora"
#define MAP_DEWATA "dewata"
#define MAP_MALANGDO "malangdo"
#define MAP_MALAYA "malaya"
#define MAP_ECLAGE "eclage"
#define MAP_CRYSTILIA "Crystilia"
const char* mapindex_getmapname(const char* string, char* output);
const char* mapindex_getmapname_ext(const char* string, char* output);
unsigned short mapindex_name2id(const char*);
const char* mapindex_id2name(unsigned short);
void mapindex_init(void);
void mapindex_final(void);
int mapindex_addmap(int index, const char* name);
int mapindex_removemap(int index);
#endif /* _MAPINDEX_H_ */

/*==========================================
* @go [city_number or city_name] - Updated by Harbin
*------------------------------------------*/
ACMD_FUNC(go)
{
int i;
int town;
char map_name[MAP_NAME_LENGTH];
int m;

const struct {
 char map[MAP_NAME_LENGTH];
 int x, y;
} data[] = {
 { MAP_PRONTERA,	156, 191 }, //  0=Prontera
 { MAP_MORROC,	  156,  93 }, //  1=Morroc
 { MAP_GEFFEN,	  119,  59 }, //  2=Geffen
 { MAP_PAYON,	   162, 233 }, //  3=Payon
 { MAP_ALBERTA,	 192, 147 }, //  4=Alberta
 { MAP_IZLUDE,	  128, 114 }, //  5=Izlude
 { MAP_ALDEBARAN,   140, 131 }, //  6=Al de Baran
 { MAP_LUTIE,	   147, 134 }, //  7=Lutie
 { MAP_COMODO,	  209, 143 }, //  8=Comodo
 { MAP_YUNO,		157,  51 }, //  9=Yuno
 { MAP_AMATSU,	  198,  84 }, // 10=Amatsu
 { MAP_GONRYUN,	 160, 120 }, // 11=Gonryun
 { MAP_UMBALA,	   89, 157 }, // 12=Umbala
 { MAP_NIFLHEIM,	 21, 153 }, // 13=Niflheim
 { MAP_LOUYANG,	 217,  40 }, // 14=Louyang
 { MAP_NOVICE,	   53, 111 }, // 15=Training Grounds
 { MAP_JAIL,		 23,  61 }, // 16=Prison
 { MAP_JAWAII,	  249, 127 }, // 17=Jawaii
 { MAP_AYOTHAYA,	151, 117 }, // 18=Ayothaya
 { MAP_EINBROCH,	 64, 200 }, // 19=Einbroch
 { MAP_LIGHTHALZEN, 158,  92 }, // 20=Lighthalzen
 { MAP_EINBECH,	  70,  95 }, // 21=Einbech
 { MAP_HUGEL,		96, 145 }, // 22=Hugel
 { MAP_RACHEL,	  130, 110 }, // 23=Rachel
 { MAP_VEINS,	   216, 123 }, // 24=Veins
 { MAP_MOSCOVIA,	223, 184 }, // 25=Moscovia
 { MAP_MIDCAMP,	180, 240 }, // 26=Midgard Camp
 { MAP_MANUK,	   282, 138 }, // 27=Manuk
 { MAP_SPLENDIDE,   197, 176 }, // 28=Splendide
 { MAP_BRASILIS,	182, 239 }, // 29=Brasilis
 { MAP_DICASTES,   198, 187 }, // 30=El Dicastes
 { MAP_MORA,   44, 151 }, // 31=Mora
 { MAP_DEWATA,   200, 180 }, // 32=Dewata
 { MAP_MALANGDO,   140, 114 }, // 33=Malangdo Island
 { MAP_MALAYA,   242, 211 }, // 34=Malaya Port
 { MAP_ECLAGE,   110, 39 }, // 35=Eclage
 { MAP_CRYSTILIA,	100, 100 }, // 36=Crystilia
};

nullpo_retr(-1, sd);

if( map[sd->bl.m].flag.nogo && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE) ) {
 clif_displaymessage(sd->fd,"You can not use @go on this map.");
 return 0;
}

memset(map_name, '\0', sizeof(map_name));
memset(atcmd_output, '\0', sizeof(atcmd_output));

// get the number
town = atoi(message);

if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data))
{// no value matched so send the list of locations
 const char* text;
 // attempt to find the text help string
 text = atcommand_help_string( command );
 // Invalid location number, or name.
 clif_displaymessage(fd, msg_txt(38));
 if( text )
 {// send the text to the client
  clif_displaymessage( fd, text );
 }

 return -1;
}
// get possible name of the city
map_name[MAP_NAME_LENGTH-1] = '\0';
for (i = 0; map_name[i]; i++)
 map_name[i] = TOLOWER(map_name[i]);
// try to identify the map name
if (strncmp(map_name, "prontera", 3) == 0) {
 town = 0;
} else if (strncmp(map_name, "morocc", 3) == 0) {
 town = 1;
} else if (strncmp(map_name, "geffen", 3) == 0) {
 town = 2;
} else if (strncmp(map_name, "payon", 3) == 0 ||
		strncmp(map_name, "paion", 3) == 0) {
 town = 3;
} else if (strncmp(map_name, "alberta", 3) == 0) {
 town = 4;
} else if (strncmp(map_name, "izlude", 3) == 0 ||
		strncmp(map_name, "islude", 3) == 0) {
 town = 5;
} else if (strncmp(map_name, "aldebaran", 3) == 0 ||
		strcmp(map_name,  "al") == 0) {
 town = 6;
} else if (strncmp(map_name, "lutie", 3) == 0 ||
		strcmp(map_name,  "christmas") == 0 ||
		strncmp(map_name, "xmas", 3) == 0 ||
		strncmp(map_name, "x-mas", 3) == 0) {
 town = 7;
} else if (strncmp(map_name, "comodo", 3) == 0) {
 town = 8;
} else if (strncmp(map_name, "yuno", 3) == 0) {
 town = 9;
} else if (strncmp(map_name, "amatsu", 3) == 0) {
 town = 10;
} else if (strncmp(map_name, "gonryun", 3) == 0) {
 town = 11;
} else if (strncmp(map_name, "umbala", 3) == 0) {
 town = 12;
} else if (strncmp(map_name, "niflheim", 3) == 0) {
 town = 13;
} else if (strncmp(map_name, "louyang", 3) == 0) {
 town = 14;
} else if (strncmp(map_name, "new_1-1", 3) == 0 ||
		strncmp(map_name, "startpoint", 3) == 0 ||
		strncmp(map_name, "begining", 3) == 0) {
 town = 15;
} else if (strncmp(map_name, "sec_pri", 3) == 0 ||
		strncmp(map_name, "prison", 3) == 0 ||
		strncmp(map_name, "jails", 3) == 0) {
 town = 16;
} else if (strncmp(map_name, "jawaii", 3) == 0 ||
		strncmp(map_name, "jawai", 3) == 0) {
 town = 17;
} else if (strncmp(map_name, "ayothaya", 3) == 0 ||
		strncmp(map_name, "ayotaya", 3) == 0) {
 town = 18;
} else if (strncmp(map_name, "einbroch", 5) == 0 ||
		strncmp(map_name, "ainbroch", 5) == 0) {
 town = 19;
} else if (strncmp(map_name, "lighthalzen", 3) == 0) {
 town = 20;
} else if (strncmp(map_name, "einbech", 3) == 0) {
 town = 21;
} else if (strncmp(map_name, "hugel", 3) == 0) {
 town = 22;
} else if (strncmp(map_name, "rachel", 3) == 0) {
 town = 23;
} else if (strncmp(map_name, "veins", 3) == 0) {
 town = 24;
} else if (strncmp(map_name, "moscovia", 3) == 0) {
 town = 25;
} else if (strncmp(map_name, "mid_camp", 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, "brasilis", 3) == 0) {
 town = 29;
} else if (strncmp(map_name, "dicastes01", 3) == 0) {
 town = 30;
} else if (strncmp(map_name, "mora", 3) == 0) {
 town = 31;
} else if (strncmp(map_name, "dewata", 3) == 0) {
 town = 32;
} else if (strncmp(map_name, "malangdo", 3) == 0) {
 town = 33;
} else if (strncmp(map_name, "malaya", 3) == 0) {
 town = 34;
} else if (strncmp(map_name, "eclage", 3) == 0) {
 town = 35;
} else if (strncmp(map_name, "Crystilia", 3) == 0) {
 town = 36;
}
if (town >= 0 && town < ARRAYLENGTH(data))
{
 m = map_mapname2mapid(data[town].map);
 if (m >= 0 && map[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
  clif_displaymessage(fd, msg_txt(247));
  return -1;
 }
 if (sd->bl.m >= 0 && map[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
  clif_displaymessage(fd, msg_txt(248));
  return -1;
 }
 if (pc_setpos(sd, mapindex_name2id(data[town].map), data[town].x, data[town].y, CLR_TELEPORT) == 0) {
  clif_displaymessage(fd, msg_txt(0)); // Warped.
 } else {
  clif_displaymessage(fd, msg_txt(1)); // Map not found.
  return -1;
 }
} else { // if you arrive here, you have an error in town variable when reading of names
 clif_displaymessage(fd, msg_txt(38)); // Invalid location number or name.
 return -1;
}

return 0;
}

Town is Crystilia

Edited by Emistry
Please use CODEBOX for long contents
Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

did you add your custom map conf\maps_athena.conf and db\map_cache.dat?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  131
  • Reputation:   0
  • Joined:  07/10/12
  • Last Seen:  

Maps_athena.conf

// Malaya Port
// -- 2011-08-30data_x.gpf
map: malaya
map: ma_fild01
map: ma_fild02
map: ma_scene01
map: ma_in01
map: ma_dun01
map: 1@ma_h
map: 1@ma_c
map: 1@ma_b
map: ma_zif01
map: ma_zif02
map: ma_zif03
map: ma_zif04
map: ma_zif05
map: ma_zif06
map: ma_zif07
map: ma_zif08
map: ma_zif09
map: job_ko
// 14.2 Eclage
// -- 2011-11-30data_x.gpf
map: eclage
map: ecl_fild01
map: ecl_in01
map: ecl_in02
map: ecl_in03
map: ecl_in04
map: 1@ecl
map: ecl_tdun01
map: ecl_tdun02
map: ecl_tdun03
map: ecl_tdun04
map: ecl_hub01
map: que_avan01
map: moc_prydn1
map: moc_prydn2
// Custom Maps
map: Crystilia
map: 1@new
map: 2@new
map: 3@new
map: 4@new
map: 5@new

I already added them into the cache :P

Edited by Emistry
Please use CODEBOX for long contents
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  9
  • Reputation:   0
  • Joined:  11/14/11
  • Last Seen:  

Try changing the map name to lowercase.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  131
  • Reputation:   0
  • Joined:  07/10/12
  • Last Seen:  

Try changing the map name to lowercase.

Done, but didn't work.

Doesn't warp me back to prontera, just says "map not found"

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  9
  • Reputation:   0
  • Joined:  11/14/11
  • Last Seen:  

Well, to get the obvious out of the way: have you recompiled after you edited the source codes?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  131
  • Reputation:   0
  • Joined:  07/10/12
  • Last Seen:  

I recompile after I edit ANYTHING, to be sure :P

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  21
  • Topics Per Day:  0.00
  • Content Count:  58
  • Reputation:   0
  • Joined:  06/14/12
  • Last Seen:  

i am having the same problem can some one help

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  94
  • Topics Per Day:  0.02
  • Content Count:  2192
  • Reputation:   252
  • Joined:  11/11/11
  • Last Seen:  

Try to follow this as precise as you can: http://rathena.org/wiki/@go

Then for custom maps, add them to maps_athena and map_index and you'd be good to go. Note: You need the map in your map_cache as well!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  21
  • Topics Per Day:  0.00
  • Content Count:  58
  • Reputation:   0
  • Joined:  06/14/12
  • Last Seen:  

Sir Thank You For The Reply but I Have Followed The Steps As Given In The Link.

I Had Added Custom main Town And After Few Months My Payers Wanted @go To Town So I Try'd Adding It But It Isnt working. I Have My Custom Map So i Have Made The Changes In maps_athena and map_index also cache. Still Not Working.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.01
  • Content Count:  275
  • Reputation:   7
  • Joined:  10/08/12
  • Last Seen:  

same here dude....I edited everything and read up every post like this topic still can't resolve it...I can WARP mapname but @go mapname warps me prontera!!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...