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)