Allow find_player() and engclient_print() (in console) to be used on connecting players (bug 6229).

This commit is contained in:
Arkshine 2014-08-17 23:31:46 +02:00
parent 63774d75f3
commit 33c0a676fd

View File

@ -132,6 +132,7 @@ static cell AMX_NATIVE_CALL engclient_print(AMX *amx, cell *params) /* 3 param *
{ {
int len = 0; int len = 0;
char *msg; char *msg;
PRINT_TYPE type = (PRINT_TYPE)params[2];
if (params[1] == 0) if (params[1] == 0)
{ {
@ -139,13 +140,13 @@ static cell AMX_NATIVE_CALL engclient_print(AMX *amx, cell *params) /* 3 param *
{ {
CPlayer* pPlayer = GET_PLAYER_POINTER_I(i); CPlayer* pPlayer = GET_PLAYER_POINTER_I(i);
if (pPlayer->ingame) if ((type == print_console && pPlayer->initialized) || pPlayer->ingame)
{ {
g_langMngr.SetDefLang(i); g_langMngr.SetDefLang(i);
msg = format_amxstring(amx, params, 3, len); msg = format_amxstring(amx, params, 3, len);
msg[len++] = '\n'; msg[len++] = '\n';
msg[len] = 0; msg[len] = 0;
CLIENT_PRINT(pPlayer->pEdict, (PRINT_TYPE)(int)params[2], msg); CLIENT_PRINT(pPlayer->pEdict, type, msg);
} }
} }
} else { } else {
@ -159,13 +160,13 @@ static cell AMX_NATIVE_CALL engclient_print(AMX *amx, cell *params) /* 3 param *
CPlayer* pPlayer = GET_PLAYER_POINTER_I(index); CPlayer* pPlayer = GET_PLAYER_POINTER_I(index);
if (pPlayer->ingame) if ((type == print_console && pPlayer->initialized) || pPlayer->ingame)
{ {
g_langMngr.SetDefLang(index); g_langMngr.SetDefLang(index);
msg = format_amxstring(amx, params, 3, len); msg = format_amxstring(amx, params, 3, len);
msg[len++] = '\n'; msg[len++] = '\n';
msg[len] = 0; msg[len] = 0;
CLIENT_PRINT(pPlayer->pEdict, (PRINT_TYPE)(int)params[2], msg); CLIENT_PRINT(pPlayer->pEdict, type, msg);
} }
} }
@ -2316,7 +2317,7 @@ static cell AMX_NATIVE_CALL find_player(AMX *amx, cell *params) /* 1 param */
{ {
CPlayer* pPlayer = GET_PLAYER_POINTER_I(i); CPlayer* pPlayer = GET_PLAYER_POINTER_I(i);
if (pPlayer->ingame) if (pPlayer->initialized)
{ {
if (pPlayer->IsAlive() ? (flags & 64) : (flags & 32)) if (pPlayer->IsAlive() ? (flags & 64) : (flags & 32))
continue; continue;