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.
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];conststruct{charmap[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.return0;}
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 locationsconstchar* 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 defaultif(strncmp(map_name,"hugel",3)==0){
town =0;}elseif(strncmp(map_name,"morocc",4)==0||
strncmp(map_name,"morroc",4)==0){
town =1;}elseif(strncmp(map_name,"geffen",3)==0){
town =2;}elseif(strncmp(map_name,"payon",3)==0){
town =3;}elseif(strncmp(map_name,"alberta",3)==0){
town =4;}elseif(strncmp(map_name,"izlude",3)==0){
town =5;}elseif(strncmp(map_name,"aldebaran",3)==0){
town =6;}elseif(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;}elseif(strncmp(map_name,"comodo",3)==0){
town =8;}elseif(strncmp(map_name,"juno",3)==0||
strncmp(map_name,"yuno",3)==0){
town =9;}elseif(strncmp(map_name,"amatsu",3)==0){
town =10;}elseif(strncmp(map_name,"kunlun",3)==0||
strncmp(map_name,"gonryun",3)==0){
town =11;}elseif(strncmp(map_name,"umbala",3)==0){
town =12;}elseif(strncmp(map_name,"niflheim",3)==0){
town =13;}elseif(strncmp(map_name,"louyang",3)==0){
town =14;}elseif(strncmp(map_name,"new_1-1",3)==0||
strncmp(map_name,"startpoint",3)==0||
strncmp(map_name,"beginning",3)==0){
town =15;}elseif(strncmp(map_name,"sec_pri",3)==0||
strncmp(map_name,"prison",3)==0||
strncmp(map_name,"jail",3)==0){
town =16;}elseif(strncmp(map_name,"jawaii",3)==0){
town =17;}elseif(strncmp(map_name,"ayothaya",3)==0){
town =18;}elseif(strncmp(map_name,"einbroch",5)==0){
town =19;}elseif(strncmp(map_name,"lighthalzen",3)==0){
town =20;}elseif(strncmp(map_name,"einbech",5)==0){
town =21;// } else if (strncmp(map_name, "hugel", 3) == 0) { //default change to pront}elseif(strncmp(map_name,"prontera",3)==0){
town =22;}elseif(strncmp(map_name,"rachel",3)==0){
town =23;}elseif(strncmp(map_name,"veins",3)==0){
town =24;}elseif(strncmp(map_name,"moscovia",3)==0){
town =25;}elseif(strncmp(map_name,"mid_camp",3)==0){
town =26;}elseif(strncmp(map_name,"manuk",3)==0){
town =27;}elseif(strncmp(map_name,"splendide",3)==0){
town =28;}elseif(strncmp(map_name,"brasilis",3)==0){
town =29;}elseif(strncmp(map_name,"dicastes01",3)==0){
town =30;}elseif(strcmp(map_name,"mora")==0){
town =31;}elseif(strncmp(map_name,"dewata",3)==0){
town =32;}elseif(strncmp(map_name,"malangdo",5)==0){
town =33;}elseif(strncmp(map_name,"malaya",5)==0){
town =34;}elseif(strncmp(map_name,"eclage",3)==0){
town =35;}elseif(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;}return0;}
Question
budek
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
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.
attaching as well the edited version of my @go
atcommand.c
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.