diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 50a2915399..9e4a14950a 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/04/07 + * IRC User access levels now refresh on a mode set and join/part. [Zido] * Added missing creation/destruction of the expcache_ers in guild.c [Skotlex] * Unified status_remove_buffs/status_remove_debuffs into a single function. diff --git a/src/map/irc.c b/src/map/irc.c index 621201fa49..05cc16d566 100644 --- a/src/map/irc.c +++ b/src/map/irc.c @@ -275,6 +275,13 @@ void irc_parse_sub(int fd, char *incoming_string) parse_names_packet(incoming_string); } + // Refresh Names [Zido] + if((strcmpi(command,"join")==0)||(strcmpi(command,"part")==0)||(strcmpi(command,"mode")==0)) { + irc_rmnames(); + sprintf(send_string,"NAMES %s",irc_channel); + irc_send(send_string); + } + return; } @@ -431,3 +438,15 @@ int get_access(char *nick) { return -1; } + +int irc_rmnames() { + int i=0; + + for(i=0;i<=MAX_CHANNEL_USERS;i++) { + memset(cd.user[i].name,'\0',256); + cd.user[i].level=0; + } + last_cd_user=0; + + return 0; +} diff --git a/src/map/irc.h b/src/map/irc.h index 829733c01a..d042fc29a3 100644 --- a/src/map/irc.h +++ b/src/map/irc.h @@ -48,4 +48,4 @@ int parse_names_packet(char *str); int parse_names(char *str); int set_access(char *nick,int level); int get_access(char *nick); -int parse_mode(char *mode,char *nick); +int irc_rmnames();