Index: src/map/atcommand.c =================================================================== --- src/map/atcommand.c (revision 17295) +++ src/map/atcommand.c (working copy) @@ -1482,8 +1482,10 @@ map[sd->bl.m].flag.pvp = 0; - if (!battle_config.pk_mode) + if (!battle_config.pk_mode){ clif_map_property_mapall(sd->bl.m, MAPPROPERTY_NOTHING); + clif_maptypeproperty2(&sd->bl,ALL_SAMEMAP); + } map_foreachinmap(atcommand_pvpoff_sub,sd->bl.m, BL_PC); map_foreachinmap(atcommand_stopattack,sd->bl.m, BL_CHAR, 0); clif_displaymessage(fd, msg_txt(sd,31)); // PvP: Off. @@ -1521,6 +1523,7 @@ if (!battle_config.pk_mode) {// display pvp circle and rank clif_map_property_mapall(sd->bl.m, MAPPROPERTY_FREEPVPZONE); + clif_maptypeproperty2(&sd->bl,ALL_SAMEMAP); map_foreachinmap(atcommand_pvpon_sub,sd->bl.m, BL_PC); } @@ -1543,6 +1546,7 @@ map[sd->bl.m].flag.gvg = 0; clif_map_property_mapall(sd->bl.m, MAPPROPERTY_NOTHING); + clif_maptypeproperty2(&sd->bl,ALL_SAMEMAP); map_foreachinmap(atcommand_stopattack,sd->bl.m, BL_CHAR, 0); clif_displaymessage(fd, msg_txt(sd,33)); // GvG: Off. @@ -1563,6 +1567,7 @@ map[sd->bl.m].flag.gvg = 1; clif_map_property_mapall(sd->bl.m, MAPPROPERTY_AGITZONE); + clif_maptypeproperty2(&sd->bl,ALL_SAMEMAP); clif_displaymessage(fd, msg_txt(sd,34)); // GvG: On. return 0; @@ -8894,10 +8899,12 @@ return channel_pcunbind(sd); } else if ( strcmpi(key,"ban") == 0 ) { return channel_pcban(sd,sub1,map_nick2sd(sub2),0); - } else if ( strcmpi(key,"unban") == 0 ) { + } else if ( strcmpi(key,"unban") == 0 ) { return channel_pcban(sd,sub1,map_nick2sd(sub2),1); } else if ( strcmpi(key,"unbanall") == 0 ) { return channel_pcban(sd,sub1,NULL,2); + } else if ( strcmpi(key,"banlist") == 0 ) { + return channel_pcban(sd,sub1,NULL,3); } else if ( strcmpi(key,"setopt") == 0 ) { return channel_pcsetopt(sd,sub1,sub2,sub3); } else { Index: src/map/channel.c =================================================================== --- src/map/channel.c (revision 17295) +++ src/map/channel.c (working copy) @@ -847,7 +847,7 @@ //let properly alter the list now switch(flag){ case 0: - idb_put(channel->banned, tsd->status.char_id, tsd); + idb_put(channel->banned, tsd->status.char_id, tsd->status.name); channel_clean(channel,tsd,0); sprintf(output, msg_txt(sd,1437),tsd->status.name,chname); // Player '%s' has now been banned from '%s' channel break; @@ -861,16 +861,16 @@ break; case 3: { DBIterator *iter = db_iterator(channel->banned); - struct map_session_data *pl_sd; + char *banname; sprintf(output, msg_txt(sd,1443), channel->name);// -- '%s' ban list clif_displaymessage(sd->fd, output); - for( pl_sd = dbi_first(iter); dbi_exists(iter); pl_sd = dbi_next(iter) ) { //for all users - sprintf(output, msg_txt(sd,1444),pl_sd->status.char_id,pl_sd->status.name); // %d: %s + for( banname =(char *) dbi_first(iter); dbi_exists(iter); banname =(char *) dbi_next(iter) ) { //for all users + sprintf(output, "%s",banname); // %d: %s clif_displaymessage(sd->fd, output); } dbi_destroy(iter); } - break; + return 0; } clif_displaymessage(sd->fd, output); Index: src/map/clif.c =================================================================== --- src/map/clif.c (revision 17295) +++ src/map/clif.c (working copy) @@ -729,7 +729,7 @@ uint32 header=0x84b; #else uint8 buf[17]; - uint32 header=0x09b; + uint32 header=0x09e; #endif int view, offset=0; @@ -9159,9 +9159,7 @@ sd->pvp_lost = 0; } clif_map_property(sd, MAPPROPERTY_FREEPVPZONE); - } else - // set flag, if it's a duel [LuzZza] - if(sd->duel_group) + } else if(sd->duel_group) // set flag, if it's a duel [LuzZza] clif_map_property(sd, MAPPROPERTY_FREEPVPZONE); if (map[sd->bl.m].flag.gvg_dungeon)