From 9f9b92ec43d7a11c56f906b1e5e22aba286b4b8c Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 7 Jun 2007 05:53:32 +0000 Subject: [PATCH] fixed a bug where the console was not a valid loggable player from %L --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40912 --- core/sm_stringutil.cpp | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/core/sm_stringutil.cpp b/core/sm_stringutil.cpp index 540f4712..dd2283cc 100644 --- a/core/sm_stringutil.cpp +++ b/core/sm_stringutil.cpp @@ -727,24 +727,31 @@ reswitch: CHECK_ARGS(0); cell_t *value; pCtx->LocalToPhysAddr(params[arg], &value); - CPlayer *player = g_Players.GetPlayerByIndex(*value); - if (!player || !player->IsConnected()) - { - return pCtx->ThrowNativeError("Client index %d is invalid", *value); - } char buffer[255]; - const char *auth = player->GetAuthString(); - if (!auth || auth[0] == '\0') + if (*value) { - auth = "STEAM_ID_PENDING"; + CPlayer *player = g_Players.GetPlayerByIndex(*value); + if (!player || !player->IsConnected()) + { + return pCtx->ThrowNativeError("Client index %d is invalid", *value); + } + const char *auth = player->GetAuthString(); + if (!auth || auth[0] == '\0') + { + auth = "STEAM_ID_PENDING"; + } + int userid = engine->GetPlayerUserId(player->GetEdict()); + UTIL_Format(buffer, + sizeof(buffer), + "%s<%d><%s><>", + player->GetName(), + userid, + auth); + } else { + UTIL_Format(buffer, + sizeof(buffer), + "Console<0>"); } - int userid = engine->GetPlayerUserId(player->GetEdict()); - UTIL_Format(buffer, - sizeof(buffer), - "%s<%d><%s><>", - player->GetName(), - userid, - auth); AddString(&buf_p, llen, buffer, width, prec); arg++; break;