Jump to content
  • 0

R> Modify @go map list


budek

Question


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  46
  • Reputation:   2
  • Joined:  01/11/14
  • Last Seen:  

Hello Guys,

Could anyone help me on this? I was able to change the warp of @go 0 (will warp to hugel) and @go 22 (will warp to prontera). However, i'm missing the part where to update the map list when player typed the @go command.

 

I followed this 

 

but for this part, i'm not seeing the below script in my src/map/atcommand.c

 

if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data)) {
 clif_displaymessage(fd, msg_txt(38)); // Invalid location number, or name.
 clif_displaymessage(fd, msg_txt(82)); // Please provide a name or number from the list provided:
 clif_displaymessage(fd, " 0=Prontera		 1=Morroc	   2=Geffen");
 clif_displaymessage(fd, " 3=Payon		    4=Alberta	  5=Izlude");
 clif_displaymessage(fd, " 6=Al De Baran	  7=Lutie	    8=Comodo");
 clif_displaymessage(fd, " 9=Yuno			 10=Amatsu	  11=Gonryun");
 clif_displaymessage(fd, " 12=Umbala		  13=Niflheim    14=Louyang");
 clif_displaymessage(fd, " 15=Novice Grounds  16=Prison	  17=Jawaii");
 clif_displaymessage(fd, " 18=Ayothaya	    19=Einbroch    20=Lighthalzen");
 clif_displaymessage(fd, " 21=Einbech		 22=Hugel	   23=Rachel");
 clif_displaymessage(fd, " 24=Veins		   25=Moscovia    26=Brasilis");
 clif_displaymessage(fd, " 27=Manuk		   28=Splendide");
 return -1;
}

the suggestion from this link is also not available on my conf.

 

so when i @go, prontera is still assigned to 0 on text msg.

image.png.4a5af2233b5cb4f73c27c0dc6516b776.png

 

attaching as well the edited version of my @go

atcommand.c

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

	const struct {
		char map[MAP_NAME_LENGTH];
		int x, y;
	} data[] = {
		//{ MAP_PRONTERA,    156, 191 }, //  0=Prontera /default
		{ MAP_HUGEL,        96, 145 }, //  0=hugel //
		{ MAP_MORROC,      156,  93 }, //  1=Morroc
		{ MAP_GEFFEN,      119,  59 }, //  2=Geffen
		{ MAP_PAYON,       162, 233 }, //  3=Payon
		{ MAP_ALBERTA,     192, 147 }, //  4=Alberta
#ifdef RENEWAL
		{ MAP_IZLUDE,      128, 146 }, //  5=Izlude (Renewal)
#else
		{ MAP_IZLUDE,      128, 114 }, //  5=Izlude
#endif
		{ 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
#ifdef RENEWAL
		{ MAP_NOVICE,       18, 26  }, // 15=Training Grounds (Renewal)
#else
		{ MAP_NOVICE,       53, 111 }, // 15=Training Grounds
#endif
		{ 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 //default changed to pront
		{ MAP_PRONTERA,    156, 191 }, // 22=Prontera
		{ 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,   201, 147 }, // 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_LASAGNA,     193, 182 }, // 36=Lasagna
	};

	nullpo_retr(-1, sd);

	if( map_getmapflag(sd->bl.m, MF_NOGO) && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE) ) {
		clif_displaymessage(sd->fd,msg_txt(sd,995)); // You cannot 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 );

		clif_displaymessage(fd, msg_txt(sd,38)); // Invalid location number, or name.

		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) { //budekzkie default
	if (strncmp(map_name, "hugel", 3) == 0) {
		town = 0;
	} else if (strncmp(map_name, "morocc", 4) == 0 ||
	           strncmp(map_name, "morroc", 4) == 0) {
		town = 1;
	} else if (strncmp(map_name, "geffen", 3) == 0) {
		town = 2;
	} else if (strncmp(map_name, "payon", 3) == 0) {
		town = 3;
	} else if (strncmp(map_name, "alberta", 3) == 0) {
		town = 4;
	} else if (strncmp(map_name, "izlude", 3) == 0) {
		town = 5;
	} else if (strncmp(map_name, "aldebaran", 3) == 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, "juno", 3) == 0 ||
	           strncmp(map_name, "yuno", 3) == 0) {
		town = 9;
	} else if (strncmp(map_name, "amatsu", 3) == 0) {
		town = 10;
	} else if (strncmp(map_name, "kunlun", 3) == 0 ||
	           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, "beginning", 3) == 0) {
		town = 15;
	} else if (strncmp(map_name, "sec_pri", 3) == 0 ||
	           strncmp(map_name, "prison", 3) == 0 ||
	           strncmp(map_name, "jail", 3) == 0) {
		town = 16;
	} else if (strncmp(map_name, "jawaii", 3) == 0) {
		town = 17;
	} else if (strncmp(map_name, "ayothaya", 3) == 0) {
		town = 18;
	} else if (strncmp(map_name, "einbroch", 5) == 0) {
		town = 19;
	} else if (strncmp(map_name, "lighthalzen", 3) == 0) {
		town = 20;
	} else if (strncmp(map_name, "einbech", 5) == 0) {
		town = 21;
//	} else if (strncmp(map_name, "hugel", 3) == 0) { //default change to pront
	} else if (strncmp(map_name, "prontera", 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 (strcmp(map_name,  "mora") == 0) {
		town = 31;
	} else if (strncmp(map_name, "dewata", 3) == 0) {
		town = 32;
	} else if (strncmp(map_name, "malangdo", 5) == 0) {
		town = 33;
	} else if (strncmp(map_name, "malaya", 5) == 0) {
		town = 34;
	} else if (strncmp(map_name, "eclage", 3) == 0) {
		town = 35;
	} else if (strncmp(map_name, "lasagna", 2) == 0) {
		town = 36;
	}
	

	if (town >= 0 && town < ARRAYLENGTH(data))
	{
		int16 m = map_mapname2mapid(data[town].map);
		if (m >= 0 && map_getmapflag(m, MF_NOWARPTO) && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
			clif_displaymessage(fd, msg_txt(sd,247)); // You are not authorized to warp to this map.
			return -1;
		}
		if (sd->bl.m >= 0 && map_getmapflag(sd->bl.m, MF_NOWARP) && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
			clif_displaymessage(fd, msg_txt(sd,248)); // You are not authorized to warp from your current map.
			return -1;
		}
		if (pc_setpos(sd, mapindex_name2id(data[town].map), data[town].x, data[town].y, CLR_TELEPORT) == SETPOS_OK) {
			clif_displaymessage(fd, msg_txt(sd,0)); // Warped.
		} else {
			clif_displaymessage(fd, msg_txt(sd,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(sd,38)); // Invalid location number or name.
		return -1;
	}
	


	return 0;
}

 

 

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Forum Manager
  • Topic Count:  282
  • Topics Per Day:  0.06
  • Content Count:  3122
  • Reputation:   1614
  • Joined:  03/26/12
  • Last Seen:  

The text you're looking for is in your conf folder: https://github.com/rathena/rathena/blob/master/conf/atcommands.yml#L167

  - Command: go
    Help: |
      Params: <city name|number>
      Warps you to a city.
      -3: (Memo point 2)  14: louyang         31: mora
      -2: (Memo point 1)  15: start point     32: dewata
      -1: (Memo point 0)  16: prison/jail     33: malangdo island
       0: prontera              17: jawaii             34: malaya port
       1: morocc                18: ayothaya       35: eclage
       2: geffen                  19: einbroch       36: lasagna
       3: payon                  20: lighthalzen
       4: alberta                 21: einbech
       5: izlude                   22: hugel
       6: aldebaran           23: rachel
       7: xmas (lutie)        24: veins
       8: comodo               25: moscovia
       9: yuno                     26: midgard camp
      10: amatsu               27: manuk
      11: gonryun              28: splendide
      12: umbala               29: brasilis
      13: niflheim              30: el dicastes

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  46
  • Reputation:   2
  • Joined:  01/11/14
  • Last Seen:  

8 minutes ago, Akkarin said:

The text you're looking for is in your conf folder: https://github.com/rathena/rathena/blob/master/conf/atcommands.yml#L167

  - Command: go
    Help: |
      Params: <city name|number>
      Warps you to a city.
      -3: (Memo point 2)  14: louyang         31: mora
      -2: (Memo point 1)  15: start point     32: dewata
      -1: (Memo point 0)  16: prison/jail     33: malangdo island
       0: prontera              17: jawaii             34: malaya port
       1: morocc                18: ayothaya       35: eclage
       2: geffen                  19: einbroch       36: lasagna
       3: payon                  20: lighthalzen
       4: alberta                 21: einbech
       5: izlude                   22: hugel
       6: aldebaran           23: rachel
       7: xmas (lutie)        24: veins
       8: comodo               25: moscovia
       9: yuno                     26: midgard camp
      10: amatsu               27: manuk
      11: gonryun              28: splendide
      12: umbala               29: brasilis
      13: niflheim              30: el dicastes

 

great! Thanks.

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...