diff options
-rw-r--r-- | misc/manual.lyx | 22 | ||||
-rw-r--r-- | src/game/g_admin.c | 46 | ||||
-rw-r--r-- | src/game/g_admin.h | 2 |
3 files changed, 51 insertions, 19 deletions
diff --git a/misc/manual.lyx b/misc/manual.lyx index f7d0e1e4..593b6d50 100644 --- a/misc/manual.lyx +++ b/misc/manual.lyx @@ -7892,7 +7892,7 @@ The following table shows the flags for RIGHTS: \begin_inset Tabular -<lyxtabular version="3" rows="12" columns="2"> +<lyxtabular version="3" rows="13" columns="2"> <features islongtable="true"> <column alignment="center" valignment="top" leftline="true" width="0"> <column alignment="left" valignment="top" leftline="true" rightline="true" width="0"> @@ -8108,7 +8108,25 @@ no ! commands can be used on a player with this flag \layout Standard -does not show up as an admin in the output of listplayers +does not show up as an admin in the output of !listplayers +\end_inset +</cell> +</row> +<row topline="true" bottomline="true"> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\layout Standard + +$ +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\layout Standard + +sees additional player info in the output of !listplayers \end_inset </cell> </row> diff --git a/src/game/g_admin.c b/src/game/g_admin.c index cffefc54..3c3107db 100644 --- a/src/game/g_admin.c +++ b/src/game/g_admin.c @@ -578,11 +578,11 @@ static void admin_default_levels( void ) Q_strncpyz( g_admin_levels[ 3 ]->name, "^2Junior Admin", sizeof( l->name ) ); - Q_strncpyz( g_admin_levels[ 3 ]->flags, "iahCpPkm", sizeof( l->flags ) ); + Q_strncpyz( g_admin_levels[ 3 ]->flags, "iahCpPkm$", sizeof( l->flags ) ); Q_strncpyz( g_admin_levels[ 4 ]->name, "^3Senior Admin", sizeof( l->name ) ); - Q_strncpyz( g_admin_levels[ 4 ]->flags, "iahCpPkmBbe", sizeof( l->flags ) ); + Q_strncpyz( g_admin_levels[ 4 ]->flags, "iahCpPkmBbe$", sizeof( l->flags ) ); Q_strncpyz( g_admin_levels[ 5 ]->name, "^1Server Operator", sizeof( l->name ) ); @@ -2341,21 +2341,33 @@ qboolean G_admin_listplayers( gentity_t *ent, int skiparg ) } } - - ADMBP( va( "%2i %s%s^7 %-2i %s^7 (*%s) ^1%1s%1s^7 %s^7 %s%s^7%s\n", - i, - c, - t, - l, - ( *lname ) ? lname2 : "", - guid_stub, - muted, - denied, - p->pers.netname, - ( *n ) ? "(a.k.a. " : "", - n, - ( *n ) ? ")" : "" - ) ); + + if( G_admin_permission(ent, ADMF_SEESFULLLISTPLAYERS ) ) + { + ADMBP( va( "%2i %s%s^7 %-2i %s^7 (*%s) ^1%1s%1s^7 %s^7 %s%s^7%s\n", + i, + c, + t, + l, + ( *lname ) ? lname2 : "", + guid_stub, + muted, + denied, + p->pers.netname, + ( *n ) ? "(a.k.a. " : "", + n, + ( *n ) ? ")" : "" ) ); + } + else + { + ADMBP( va( "%2i %s%s^7 ^1%1s%1s^7 %s^7\n", + i, + c, + t, + muted, + denied, + p->pers.netname ) ); + } } ADMBP_end(); return qtrue; diff --git a/src/game/g_admin.h b/src/game/g_admin.h index c4bf3928..4e24681d 100644 --- a/src/game/g_admin.h +++ b/src/game/g_admin.h @@ -55,6 +55,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * 0 - inactivity rules do not apply to them * ! - admin commands cannot be used on them * @ - does not show up as an admin in !listplayers + * $ - sees all information in !listplayers */ #define ADMF_IMMUNITY '1' #define ADMF_NOCENSORFLOOD '2' /* TODO */ @@ -69,6 +70,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define ADMF_IMMUTABLE '!' #define ADMF_INCOGNITO '@' +#define ADMF_SEESFULLLISTPLAYERS '$' #define MAX_ADMIN_LISTITEMS 20 #define MAX_ADMIN_SHOWBANS 10 |