- Fame list size is now defined by MAX_FAME_LIST constant (mmo.h)
- Char server can now specify the max size for blacksmith/alchemist/taekwon rankers. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5435 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
65dfdfc978
commit
8a67a7cf35
@ -5,6 +5,10 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
|
|||||||
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
|
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
|
||||||
|
|
||||||
2006/03/02
|
2006/03/02
|
||||||
|
* Max fame list size is now defined by MAX_FAME_LIST constant (mmo.h)
|
||||||
|
[Skotlex]
|
||||||
|
* Individual fame lists sizes can now be specified through the char-server
|
||||||
|
(check the fame list configs in char_athena.conf) [Skotlex]
|
||||||
* Some cleanup on mob_can_reach code to prevent unnecessary path-searching
|
* Some cleanup on mob_can_reach code to prevent unnecessary path-searching
|
||||||
[Skotlex]
|
[Skotlex]
|
||||||
* Optimized the path-searching ai for mobs to try target cells around the
|
* Optimized the path-searching ai for mobs to try target cells around the
|
||||||
|
|||||||
@ -133,6 +133,11 @@ start_armor: 2301
|
|||||||
// Starting zeny for new characters
|
// Starting zeny for new characters
|
||||||
start_zeny: 0
|
start_zeny: 0
|
||||||
|
|
||||||
|
// Size for the fame-lists
|
||||||
|
fame_list_alchemist: 10
|
||||||
|
fame_list_blacksmith: 10
|
||||||
|
fame_list_taekwon: 10
|
||||||
|
|
||||||
// Name used for unknown characters
|
// Name used for unknown characters
|
||||||
unknown_char_name: Unknown
|
unknown_char_name: Unknown
|
||||||
|
|
||||||
|
|||||||
@ -128,6 +128,11 @@ int start_zeny = 500;
|
|||||||
int start_weapon = 1201;
|
int start_weapon = 1201;
|
||||||
int start_armor = 2301;
|
int start_armor = 2301;
|
||||||
|
|
||||||
|
//Custom limits for the fame lists. [Skotlex]
|
||||||
|
int fame_list_size_chemist = MAX_FAME_LIST;
|
||||||
|
int fame_list_size_smith = MAX_FAME_LIST;
|
||||||
|
int fame_list_size_taekwon = MAX_FAME_LIST;
|
||||||
|
|
||||||
// Initial position (it's possible to set it in conf file)
|
// Initial position (it's possible to set it in conf file)
|
||||||
struct point start_point = { 0, 53, 111};
|
struct point start_point = { 0, 53, 111};
|
||||||
|
|
||||||
@ -2888,7 +2893,7 @@ int parse_frommap(int fd) {
|
|||||||
// starting to send to map
|
// starting to send to map
|
||||||
WBUFW(buf,0) = 0x2b1b;
|
WBUFW(buf,0) = 0x2b1b;
|
||||||
// add list for blacksmiths
|
// add list for blacksmiths
|
||||||
for (i = 0, j = 0; i < char_num && j < 10; i++) {
|
for (i = 0, j = 0; i < char_num && j < fame_list_size_smith; i++) {
|
||||||
if (char_dat[id[i]].status.fame && (char_dat[id[i]].status.class_ == 10 ||
|
if (char_dat[id[i]].status.fame && (char_dat[id[i]].status.class_ == 10 ||
|
||||||
char_dat[id[i]].status.class_ == 4011 ||
|
char_dat[id[i]].status.class_ == 4011 ||
|
||||||
char_dat[id[i]].status.class_ == 4033))
|
char_dat[id[i]].status.class_ == 4033))
|
||||||
@ -2906,7 +2911,7 @@ int parse_frommap(int fd) {
|
|||||||
WBUFW(buf, 6) = len;
|
WBUFW(buf, 6) = len;
|
||||||
|
|
||||||
// add list for alchemists
|
// add list for alchemists
|
||||||
for (i = 0, j = 0; i < char_num && j < 10; i++) {
|
for (i = 0, j = 0; i < char_num && j < fame_list_size_chemist; i++) {
|
||||||
if (char_dat[id[i]].status.fame && (char_dat[id[i]].status.class_ == 18 ||
|
if (char_dat[id[i]].status.fame && (char_dat[id[i]].status.class_ == 18 ||
|
||||||
char_dat[id[i]].status.class_ == 4019 ||
|
char_dat[id[i]].status.class_ == 4019 ||
|
||||||
char_dat[id[i]].status.class_ == 4041))
|
char_dat[id[i]].status.class_ == 4041))
|
||||||
@ -2924,7 +2929,7 @@ int parse_frommap(int fd) {
|
|||||||
WBUFW(buf, 4) = len;
|
WBUFW(buf, 4) = len;
|
||||||
|
|
||||||
// adding list for taekwons
|
// adding list for taekwons
|
||||||
for (i = 0, j = 0; i < char_num && j < 10; i++) {
|
for (i = 0, j = 0; i < char_num && j < fame_list_size_taekwon; i++) {
|
||||||
if (char_dat[id[i]].status.fame && char_dat[id[i]].status.class_ == 4046)
|
if (char_dat[id[i]].status.fame && char_dat[id[i]].status.class_ == 4046)
|
||||||
{
|
{
|
||||||
fame_item.id = char_dat[id[i]].status.char_id;
|
fame_item.id = char_dat[id[i]].status.char_id;
|
||||||
@ -3997,6 +4002,24 @@ int char_config_read(const char *cfgName) {
|
|||||||
} else if (strcmpi(w1, "console") == 0) {
|
} else if (strcmpi(w1, "console") == 0) {
|
||||||
if(strcmpi(w2,"on") == 0 || strcmpi(w2,"yes") == 0 )
|
if(strcmpi(w2,"on") == 0 || strcmpi(w2,"yes") == 0 )
|
||||||
console = 1;
|
console = 1;
|
||||||
|
} else if (strcmpi(w1, "fame_list_alchemist") == 0) {
|
||||||
|
fame_list_size_chemist = atoi(w2);
|
||||||
|
if (fame_list_size_chemist > MAX_FAME_LIST) {
|
||||||
|
ShowWarning("Max fame list size is %d (fame_list_alchemist)\n", MAX_FAME_LIST);
|
||||||
|
fame_list_size_chemist = MAX_FAME_LIST;
|
||||||
|
}
|
||||||
|
} else if (strcmpi(w1, "fame_list_blacksmith") == 0) {
|
||||||
|
fame_list_size_smith = atoi(w2);
|
||||||
|
if (fame_list_size_smith > MAX_FAME_LIST) {
|
||||||
|
ShowWarning("Max fame list size is %d (fame_list_blacksmith)\n", MAX_FAME_LIST);
|
||||||
|
fame_list_size_smith = MAX_FAME_LIST;
|
||||||
|
}
|
||||||
|
} else if (strcmpi(w1, "fame_list_taekwon") == 0) {
|
||||||
|
fame_list_size_taekwon = atoi(w2);
|
||||||
|
if (fame_list_size_taekwon > MAX_FAME_LIST) {
|
||||||
|
ShowWarning("Max fame list size is %d (fame_list_taekwon)\n", MAX_FAME_LIST);
|
||||||
|
fame_list_size_taekwon = MAX_FAME_LIST;
|
||||||
|
}
|
||||||
} else if (strcmpi(w1, "import") == 0) {
|
} else if (strcmpi(w1, "import") == 0) {
|
||||||
char_config_read(w2);
|
char_config_read(w2);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -146,6 +146,11 @@ int start_zeny = 500;
|
|||||||
int start_weapon = 1201;
|
int start_weapon = 1201;
|
||||||
int start_armor = 2301;
|
int start_armor = 2301;
|
||||||
|
|
||||||
|
//Custom limits for the fame lists. [Skotlex]
|
||||||
|
int fame_list_size_chemist = MAX_FAME_LIST;
|
||||||
|
int fame_list_size_smith = MAX_FAME_LIST;
|
||||||
|
int fame_list_size_taekwon = MAX_FAME_LIST;
|
||||||
|
|
||||||
// check for exit signal
|
// check for exit signal
|
||||||
// 0 is saving complete
|
// 0 is saving complete
|
||||||
// other is char_id
|
// other is char_id
|
||||||
@ -2751,7 +2756,7 @@ int parse_frommap(int fd) {
|
|||||||
struct fame_list fame_item;
|
struct fame_list fame_item;
|
||||||
|
|
||||||
WBUFW(buf,0) = 0x2b1b;
|
WBUFW(buf,0) = 0x2b1b;
|
||||||
sprintf(tmp_sql, "SELECT `char_id`,`fame`, `name` FROM `%s` WHERE `fame`>0 AND (`class`='10' OR `class`='4011'OR `class`='4033') ORDER BY `fame` DESC LIMIT 0,10", char_db);
|
sprintf(tmp_sql, "SELECT `char_id`,`fame`, `name` FROM `%s` WHERE `fame`>0 AND (`class`='10' OR `class`='4011'OR `class`='4033') ORDER BY `fame` DESC LIMIT 0,%d", char_db, fame_list_size_smith);
|
||||||
if (mysql_query(&mysql_handle, tmp_sql)) {
|
if (mysql_query(&mysql_handle, tmp_sql)) {
|
||||||
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
|
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
|
||||||
ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
|
ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
|
||||||
@ -2765,7 +2770,7 @@ int parse_frommap(int fd) {
|
|||||||
|
|
||||||
memcpy(WBUFP(buf,len), &fame_item, sizeof(struct fame_list));
|
memcpy(WBUFP(buf,len), &fame_item, sizeof(struct fame_list));
|
||||||
len += sizeof(struct fame_list);
|
len += sizeof(struct fame_list);
|
||||||
if (++num == 10)
|
if (++num == fame_list_size_smith)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mysql_free_result(sql_res);
|
mysql_free_result(sql_res);
|
||||||
@ -2773,7 +2778,7 @@ int parse_frommap(int fd) {
|
|||||||
WBUFW(buf, 6) = len; //Blacksmith block size
|
WBUFW(buf, 6) = len; //Blacksmith block size
|
||||||
|
|
||||||
num = 0;
|
num = 0;
|
||||||
sprintf(tmp_sql, "SELECT `char_id`,`fame`,`name` FROM `%s` WHERE `fame`>0 AND (`class`='18' OR `class`='4019' OR `class`='4041') ORDER BY `fame` DESC LIMIT 0,10", char_db);
|
sprintf(tmp_sql, "SELECT `char_id`,`fame`,`name` FROM `%s` WHERE `fame`>0 AND (`class`='18' OR `class`='4019' OR `class`='4041') ORDER BY `fame` DESC LIMIT 0,%d", char_db, fame_list_size_chemist);
|
||||||
if (mysql_query(&mysql_handle, tmp_sql)) {
|
if (mysql_query(&mysql_handle, tmp_sql)) {
|
||||||
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
|
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
|
||||||
ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
|
ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
|
||||||
@ -2786,7 +2791,7 @@ int parse_frommap(int fd) {
|
|||||||
strncpy(fame_item.name, sql_row[2], NAME_LENGTH);
|
strncpy(fame_item.name, sql_row[2], NAME_LENGTH);
|
||||||
memcpy(WBUFP(buf,len), &fame_item, sizeof(struct fame_list));
|
memcpy(WBUFP(buf,len), &fame_item, sizeof(struct fame_list));
|
||||||
len += sizeof(struct fame_list);
|
len += sizeof(struct fame_list);
|
||||||
if (++num == 10)
|
if (++num == fame_list_size_chemist)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mysql_free_result(sql_res);
|
mysql_free_result(sql_res);
|
||||||
@ -2794,7 +2799,7 @@ int parse_frommap(int fd) {
|
|||||||
WBUFW(buf, 4) = len; //Alchemist block size
|
WBUFW(buf, 4) = len; //Alchemist block size
|
||||||
|
|
||||||
num = 0;
|
num = 0;
|
||||||
sprintf(tmp_sql, "SELECT `char_id`,`fame`,`name` FROM `%s` WHERE `fame`>0 AND `class`='4046' ORDER BY `fame` DESC LIMIT 0,10", char_db);
|
sprintf(tmp_sql, "SELECT `char_id`,`fame`,`name` FROM `%s` WHERE `fame`>0 AND `class`='4046' ORDER BY `fame` DESC LIMIT 0,%d", char_db, fame_list_size_taekwon);
|
||||||
if (mysql_query(&mysql_handle, tmp_sql)) {
|
if (mysql_query(&mysql_handle, tmp_sql)) {
|
||||||
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
|
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
|
||||||
ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
|
ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
|
||||||
@ -2807,7 +2812,7 @@ int parse_frommap(int fd) {
|
|||||||
strncpy(fame_item.name, sql_row[2], NAME_LENGTH);
|
strncpy(fame_item.name, sql_row[2], NAME_LENGTH);
|
||||||
memcpy(WBUFP(buf,len), &fame_item, sizeof(struct fame_list));
|
memcpy(WBUFP(buf,len), &fame_item, sizeof(struct fame_list));
|
||||||
len += sizeof(struct fame_list);
|
len += sizeof(struct fame_list);
|
||||||
if (++num == 10)
|
if (++num == fame_list_size_taekwon)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mysql_free_result(sql_res);
|
mysql_free_result(sql_res);
|
||||||
@ -4039,6 +4044,24 @@ int char_config_read(const char *cfgName) {
|
|||||||
} else if (strcmpi(w1, "console") == 0) {
|
} else if (strcmpi(w1, "console") == 0) {
|
||||||
if(strcmpi(w2,"on") == 0 || strcmpi(w2,"yes") == 0 )
|
if(strcmpi(w2,"on") == 0 || strcmpi(w2,"yes") == 0 )
|
||||||
console = 1;
|
console = 1;
|
||||||
|
} else if (strcmpi(w1, "fame_list_alchemist") == 0) {
|
||||||
|
fame_list_size_chemist = atoi(w2);
|
||||||
|
if (fame_list_size_chemist > MAX_FAME_LIST) {
|
||||||
|
ShowWarning("Max fame list size is %d (fame_list_alchemist)\n", MAX_FAME_LIST);
|
||||||
|
fame_list_size_chemist = MAX_FAME_LIST;
|
||||||
|
}
|
||||||
|
} else if (strcmpi(w1, "fame_list_blacksmith") == 0) {
|
||||||
|
fame_list_size_smith = atoi(w2);
|
||||||
|
if (fame_list_size_smith > MAX_FAME_LIST) {
|
||||||
|
ShowWarning("Max fame list size is %d (fame_list_blacksmith)\n", MAX_FAME_LIST);
|
||||||
|
fame_list_size_smith = MAX_FAME_LIST;
|
||||||
|
}
|
||||||
|
} else if (strcmpi(w1, "fame_list_taekwon") == 0) {
|
||||||
|
fame_list_size_taekwon = atoi(w2);
|
||||||
|
if (fame_list_size_taekwon > MAX_FAME_LIST) {
|
||||||
|
ShowWarning("Max fame list size is %d (fame_list_taekwon)\n", MAX_FAME_LIST);
|
||||||
|
fame_list_size_taekwon = MAX_FAME_LIST;
|
||||||
|
}
|
||||||
} else if (strcmpi(w1, "import") == 0) {
|
} else if (strcmpi(w1, "import") == 0) {
|
||||||
char_config_read(w2);
|
char_config_read(w2);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,6 +106,8 @@
|
|||||||
#define MAX_FRIENDS 40
|
#define MAX_FRIENDS 40
|
||||||
#define MAX_MEMOPOINTS 10
|
#define MAX_MEMOPOINTS 10
|
||||||
|
|
||||||
|
//Size of the fame list arrays.
|
||||||
|
#define MAX_FAME_LIST 10
|
||||||
//These max values can be exceeded and the char/map servers will update them with no problems
|
//These max values can be exceeded and the char/map servers will update them with no problems
|
||||||
//These are just meant to minimize the updating needed between char/map servers as players login.
|
//These are just meant to minimize the updating needed between char/map servers as players login.
|
||||||
//Room for initial 10K accounts
|
//Room for initial 10K accounts
|
||||||
|
|||||||
@ -1122,21 +1122,21 @@ int chrif_recvfamelist(int fd)
|
|||||||
memset (taekwon_fame_list, 0, sizeof(taekwon_fame_list));
|
memset (taekwon_fame_list, 0, sizeof(taekwon_fame_list));
|
||||||
|
|
||||||
size = RFIFOW(fd,6); //Blacksmith block size
|
size = RFIFOW(fd,6); //Blacksmith block size
|
||||||
for (num = 0; len < size && num < 10; num++) {
|
for (num = 0; len < size && num < MAX_FAME_LIST; num++) {
|
||||||
memcpy(&smith_fame_list[num], RFIFOP(fd,len), sizeof(struct fame_list));
|
memcpy(&smith_fame_list[num], RFIFOP(fd,len), sizeof(struct fame_list));
|
||||||
len += sizeof(struct fame_list);
|
len += sizeof(struct fame_list);
|
||||||
}
|
}
|
||||||
total += num;
|
total += num;
|
||||||
|
|
||||||
size = RFIFOW(fd,4); //Alchemist block size
|
size = RFIFOW(fd,4); //Alchemist block size
|
||||||
for (num = 0; len < size && num < 10; num++) {
|
for (num = 0; len < size && num < MAX_FAME_LIST; num++) {
|
||||||
memcpy(&chemist_fame_list[num], RFIFOP(fd,len), sizeof(struct fame_list));
|
memcpy(&chemist_fame_list[num], RFIFOP(fd,len), sizeof(struct fame_list));
|
||||||
len += sizeof(struct fame_list);
|
len += sizeof(struct fame_list);
|
||||||
}
|
}
|
||||||
total += num;
|
total += num;
|
||||||
|
|
||||||
size = RFIFOW(fd,2); //Total packet length
|
size = RFIFOW(fd,2); //Total packet length
|
||||||
for (num = 0; len < size && num < 10; num++) {
|
for (num = 0; len < size && num < MAX_FAME_LIST; num++) {
|
||||||
memcpy(&taekwon_fame_list[num], RFIFOP(fd,len), sizeof(struct fame_list));
|
memcpy(&taekwon_fame_list[num], RFIFOP(fd,len), sizeof(struct fame_list));
|
||||||
len += sizeof(struct fame_list);
|
len += sizeof(struct fame_list);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11568,7 +11568,8 @@ void clif_parse_Blacksmith(int fd,struct map_session_data *sd)
|
|||||||
|
|
||||||
WFIFOHEAD(fd,packet_len_table[0x219]);
|
WFIFOHEAD(fd,packet_len_table[0x219]);
|
||||||
WFIFOW(fd,0) = 0x219;
|
WFIFOW(fd,0) = 0x219;
|
||||||
for (i = 0; i < 10; i++) {
|
//Packet size limits this list to 10 elements. [Skotlex]
|
||||||
|
for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
|
||||||
if (smith_fame_list[i].id > 0) {
|
if (smith_fame_list[i].id > 0) {
|
||||||
if (strcmp(smith_fame_list[i].name, "-") == 0 &&
|
if (strcmp(smith_fame_list[i].name, "-") == 0 &&
|
||||||
(name = map_charid2nick(smith_fame_list[i].id)) != NULL)
|
(name = map_charid2nick(smith_fame_list[i].id)) != NULL)
|
||||||
@ -11580,6 +11581,11 @@ void clif_parse_Blacksmith(int fd,struct map_session_data *sd)
|
|||||||
strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), "None", 5);
|
strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), "None", 5);
|
||||||
WFIFOL(fd, 242 + i * 4) = smith_fame_list[i].fame;
|
WFIFOL(fd, 242 + i * 4) = smith_fame_list[i].fame;
|
||||||
}
|
}
|
||||||
|
for(;i < 10; i++) { //In case the MAX is less than 10.
|
||||||
|
strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), "Unavailable", 12);
|
||||||
|
WFIFOL(fd, 242 + i * 4) = 0;
|
||||||
|
}
|
||||||
|
|
||||||
WFIFOSET(fd, packet_len_table[0x219]);
|
WFIFOSET(fd, packet_len_table[0x219]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11606,7 +11612,8 @@ void clif_parse_Alchemist(int fd,struct map_session_data *sd)
|
|||||||
|
|
||||||
WFIFOHEAD(fd,packet_len_table[0x21a]);
|
WFIFOHEAD(fd,packet_len_table[0x21a]);
|
||||||
WFIFOW(fd,0) = 0x21a;
|
WFIFOW(fd,0) = 0x21a;
|
||||||
for (i = 0; i < 10; i++) {
|
//Packet size limits this list to 10 elements. [Skotlex]
|
||||||
|
for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
|
||||||
if (chemist_fame_list[i].id > 0) {
|
if (chemist_fame_list[i].id > 0) {
|
||||||
if (strcmp(chemist_fame_list[i].name, "-") == 0 &&
|
if (strcmp(chemist_fame_list[i].name, "-") == 0 &&
|
||||||
(name = map_charid2nick(chemist_fame_list[i].id)) != NULL)
|
(name = map_charid2nick(chemist_fame_list[i].id)) != NULL)
|
||||||
@ -11618,6 +11625,11 @@ void clif_parse_Alchemist(int fd,struct map_session_data *sd)
|
|||||||
memcpy(WFIFOP(fd, 2 + 24 * i), "None", NAME_LENGTH);
|
memcpy(WFIFOP(fd, 2 + 24 * i), "None", NAME_LENGTH);
|
||||||
WFIFOL(fd, 242 + i * 4) = chemist_fame_list[i].fame;
|
WFIFOL(fd, 242 + i * 4) = chemist_fame_list[i].fame;
|
||||||
}
|
}
|
||||||
|
for(;i < 10; i++) { //In case the MAX is less than 10.
|
||||||
|
memcpy(WFIFOP(fd, 2 + 24 * i), "Unavailable", NAME_LENGTH);
|
||||||
|
WFIFOL(fd, 242 + i * 4) = 0;
|
||||||
|
}
|
||||||
|
|
||||||
WFIFOSET(fd, packet_len_table[0x21a]);
|
WFIFOSET(fd, packet_len_table[0x21a]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11644,7 +11656,8 @@ void clif_parse_Taekwon(int fd,struct map_session_data *sd)
|
|||||||
|
|
||||||
WFIFOHEAD(fd,packet_len_table[0x226]);
|
WFIFOHEAD(fd,packet_len_table[0x226]);
|
||||||
WFIFOW(fd,0) = 0x226;
|
WFIFOW(fd,0) = 0x226;
|
||||||
for (i = 0; i < 10; i++) {
|
//Packet size limits this list to 10 elements. [Skotlex]
|
||||||
|
for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
|
||||||
if (taekwon_fame_list[i].id > 0) {
|
if (taekwon_fame_list[i].id > 0) {
|
||||||
if (strcmp(taekwon_fame_list[i].name, "-") == 0 &&
|
if (strcmp(taekwon_fame_list[i].name, "-") == 0 &&
|
||||||
(name = map_charid2nick(taekwon_fame_list[i].id)) != NULL)
|
(name = map_charid2nick(taekwon_fame_list[i].id)) != NULL)
|
||||||
@ -11656,6 +11669,10 @@ void clif_parse_Taekwon(int fd,struct map_session_data *sd)
|
|||||||
memcpy(WFIFOP(fd, 2 + 24 * i), "None", NAME_LENGTH);
|
memcpy(WFIFOP(fd, 2 + 24 * i), "None", NAME_LENGTH);
|
||||||
WFIFOL(fd, 242 + i * 4) = taekwon_fame_list[i].fame;
|
WFIFOL(fd, 242 + i * 4) = taekwon_fame_list[i].fame;
|
||||||
}
|
}
|
||||||
|
for(;i < 10; i++) { //In case the MAX is less than 10.
|
||||||
|
memcpy(WFIFOP(fd, 2 + 24 * i), "Unavailable", NAME_LENGTH);
|
||||||
|
WFIFOL(fd, 242 + i * 4) = 0;
|
||||||
|
}
|
||||||
WFIFOSET(fd, packet_len_table[0x226]);
|
WFIFOSET(fd, packet_len_table[0x226]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
src/map/pc.c
12
src/map/pc.c
@ -55,9 +55,9 @@ int night_timer_tid;
|
|||||||
static int dirx[8]={0,-1,-1,-1,0,1,1,1};
|
static int dirx[8]={0,-1,-1,-1,0,1,1,1};
|
||||||
static int diry[8]={1,1,0,-1,-1,-1,0,1};
|
static int diry[8]={1,1,0,-1,-1,-1,0,1};
|
||||||
|
|
||||||
struct fame_list smith_fame_list[10];
|
struct fame_list smith_fame_list[MAX_FAME_LIST];
|
||||||
struct fame_list chemist_fame_list[10];
|
struct fame_list chemist_fame_list[MAX_FAME_LIST];
|
||||||
struct fame_list taekwon_fame_list[10];
|
struct fame_list taekwon_fame_list[MAX_FAME_LIST];
|
||||||
|
|
||||||
static unsigned int equip_pos[11]={0x0080,0x0008,0x0040,0x0004,0x0001,0x0200,0x0100,0x0010,0x0020,0x0002,0x8000};
|
static unsigned int equip_pos[11]={0x0080,0x0008,0x0040,0x0004,0x0001,0x0200,0x0100,0x0010,0x0020,0x0002,0x8000};
|
||||||
|
|
||||||
@ -272,19 +272,19 @@ int pc_istop10fame(int char_id,int job) {
|
|||||||
int i;
|
int i;
|
||||||
switch(job){
|
switch(job){
|
||||||
case MAPID_BLACKSMITH: // Blacksmith
|
case MAPID_BLACKSMITH: // Blacksmith
|
||||||
for(i=0;i<10;i++){
|
for(i=0;i<MAX_FAME_LIST;i++){
|
||||||
if(smith_fame_list[i].id==char_id)
|
if(smith_fame_list[i].id==char_id)
|
||||||
return smith_fame_list[i].fame;
|
return smith_fame_list[i].fame;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MAPID_ALCHEMIST: // Alchemist
|
case MAPID_ALCHEMIST: // Alchemist
|
||||||
for(i=0;i<10;i++){
|
for(i=0;i<MAX_FAME_LIST;i++){
|
||||||
if(chemist_fame_list[i].id==char_id)
|
if(chemist_fame_list[i].id==char_id)
|
||||||
return chemist_fame_list[i].fame;
|
return chemist_fame_list[i].fame;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MAPID_TAEKWON: // Taekwon
|
case MAPID_TAEKWON: // Taekwon
|
||||||
for(i=0;i<10;i++){
|
for(i=0;i<MAX_FAME_LIST;i++){
|
||||||
if(taekwon_fame_list[i].id==char_id)
|
if(taekwon_fame_list[i].id==char_id)
|
||||||
return taekwon_fame_list[i].fame;
|
return taekwon_fame_list[i].fame;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -225,9 +225,9 @@ int pc_eventtimer(int tid,unsigned int tick,int id,int data); // for npc_dequeue
|
|||||||
|
|
||||||
int pc_run(struct map_session_data *sd, int skilllv, int dir);
|
int pc_run(struct map_session_data *sd, int skilllv, int dir);
|
||||||
|
|
||||||
extern struct fame_list smith_fame_list[10];
|
extern struct fame_list smith_fame_list[MAX_FAME_LIST];
|
||||||
extern struct fame_list chemist_fame_list[10];
|
extern struct fame_list chemist_fame_list[MAX_FAME_LIST];
|
||||||
extern struct fame_list taekwon_fame_list[10];
|
extern struct fame_list taekwon_fame_list[MAX_FAME_LIST];
|
||||||
|
|
||||||
int pc_readdb(void);
|
int pc_readdb(void);
|
||||||
int do_init_pc(void);
|
int do_init_pc(void);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user