core/smn_console.cpp
changeset 520 7676d61cde2d
parent 519 1a319bb1ff48
child 522 d46331ee2046
     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  };