1.1 --- a/core/smn_console.cpp Sat Feb 17 17:35:09 2007 +0000
1.2 +++ b/core/smn_console.cpp Sat Feb 17 19:03:18 2007 +0000
1.3 @@ -436,21 +436,25 @@
1.4 static cell_t sm_PrintToConsole(IPluginContext *pCtx, const cell_t *params)
1.5 {
1.6 int index = params[1];
1.7 - if ((index < 1) || (index > g_Players.GetMaxClients()))
1.8 + if ((index < 0) || (index > g_Players.GetMaxClients()))
1.9 {
1.10 return pCtx->ThrowNativeError("Invalid client index %d", index);
1.11 }
1.12
1.13 - CPlayer *pPlayer = g_Players.GetPlayerByIndex(index);
1.14 - if (!pPlayer->IsInGame())
1.15 + CPlayer *pPlayer = NULL;
1.16 + if (index != 0)
1.17 {
1.18 - return pCtx->ThrowNativeError("Client %d is not in game", index);
1.19 - }
1.20 -
1.21 - /* Silent fail on bots, engine will crash */
1.22 - if (pPlayer->IsFakeClient())
1.23 - {
1.24 - return 0;
1.25 + pPlayer = g_Players.GetPlayerByIndex(index);
1.26 + if (!pPlayer->IsInGame())
1.27 + {
1.28 + return pCtx->ThrowNativeError("Client %d is not in game", index);
1.29 + }
1.30 +
1.31 + /* Silent fail on bots, engine will crash */
1.32 + if (pPlayer->IsFakeClient())
1.33 + {
1.34 + return 0;
1.35 + }
1.36 }
1.37
1.38 char buffer[1024];
1.39 @@ -463,7 +467,12 @@
1.40 buffer[res++] = '\n';
1.41 buffer[res] = '\0';
1.42
1.43 - engine->ClientPrintf(pPlayer->GetEdict(), buffer);
1.44 + if (index != 0)
1.45 + {
1.46 + engine->ClientPrintf(pPlayer->GetEdict(), buffer);
1.47 + } else {
1.48 + META_CONPRINT(buffer);
1.49 + }
1.50
1.51 return 1;
1.52 }
1.53 @@ -495,5 +504,6 @@
1.54 {"GetCmdArg", sm_GetCmdArg},
1.55 {"PrintToServer", sm_PrintToServer},
1.56 {"PrintToConsole", sm_PrintToConsole},
1.57 + {"RegAdminCmd", sm_RegAdminCmd},
1.58 {NULL, NULL}
1.59 };