Fix client_death forward called on kill command if sent by a spectator (#404)
This commit is contained in:
parent
38b8dc338d
commit
c27bfcd7fe
|
@ -125,17 +125,27 @@ const char* get_localinfo( const char* name , const char* def = 0 )
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool ClientKill_wasAlive;
|
||||||
|
|
||||||
|
void ClientKill(edict_t *pEntity)
|
||||||
|
{
|
||||||
|
CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity);
|
||||||
|
ClientKill_wasAlive = pPlayer->IsAlive();
|
||||||
|
|
||||||
|
RETURN_META(MRES_IGNORED);
|
||||||
|
}
|
||||||
|
|
||||||
void ClientKill_Post(edict_t *pEntity)
|
void ClientKill_Post(edict_t *pEntity)
|
||||||
{
|
{
|
||||||
CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity);
|
CPlayer *pPlayer = GET_PLAYER_POINTER(pEntity);
|
||||||
if ( pPlayer->IsAlive())
|
if (ClientKill_wasAlive && !pPlayer->IsAlive())
|
||||||
RETURN_META(MRES_IGNORED);
|
{
|
||||||
|
MF_ExecuteForward(iFDamage, static_cast<cell>(pPlayer->index), static_cast<cell>(pPlayer->index),
|
||||||
MF_ExecuteForward( iFDamage,static_cast<cell>(pPlayer->index), static_cast<cell>(pPlayer->index) ,
|
static_cast<cell>(0), static_cast<cell>(0), static_cast<cell>(0), static_cast<cell>(0)); // he would
|
||||||
static_cast<cell>(0), static_cast<cell>(0), static_cast<cell>(0), static_cast<cell>(0) ); // he would
|
pPlayer->saveKill(pPlayer, 0, 0, 0);
|
||||||
pPlayer->saveKill(pPlayer,0,0,0);
|
MF_ExecuteForward(iFDeath, static_cast<cell>(pPlayer->index), static_cast<cell>(pPlayer->index),
|
||||||
MF_ExecuteForward( iFDeath,static_cast<cell>(pPlayer->index), static_cast<cell>(pPlayer->index),
|
static_cast<cell>(0), static_cast<cell>(0), static_cast<cell>(0));
|
||||||
static_cast<cell>(0), static_cast<cell>(0), static_cast<cell>(0) );
|
}
|
||||||
|
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
// #define FN_ResetGlobalState ResetGlobalState /* pfnResetGlobalState() */
|
// #define FN_ResetGlobalState ResetGlobalState /* pfnResetGlobalState() */
|
||||||
// #define FN_ClientConnect ClientConnect /* pfnClientConnect() (wd) Client has connected */
|
// #define FN_ClientConnect ClientConnect /* pfnClientConnect() (wd) Client has connected */
|
||||||
#define FN_ClientDisconnect ClientDisconnect /* pfnClientDisconnect() (wd) Player has left the game */
|
#define FN_ClientDisconnect ClientDisconnect /* pfnClientDisconnect() (wd) Player has left the game */
|
||||||
// #define FN_ClientKill ClientKill /* pfnClientKill() (wd) Player has typed "kill" */
|
#define FN_ClientKill ClientKill /* pfnClientKill() (wd) Player has typed "kill" */
|
||||||
// #define FN_ClientPutInServer ClientPutInServer /* pfnClientPutInServer() (wd) Client is entering the game */
|
// #define FN_ClientPutInServer ClientPutInServer /* pfnClientPutInServer() (wd) Client is entering the game */
|
||||||
// #define FN_ClientCommand ClientCommand /* pfnClientCommand() (wd) Player has sent a command (typed or from a bind) */
|
// #define FN_ClientCommand ClientCommand /* pfnClientCommand() (wd) Player has sent a command (typed or from a bind) */
|
||||||
// #define FN_ClientUserInfoChanged ClientUserInfoChanged /* pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure */
|
// #define FN_ClientUserInfoChanged ClientUserInfoChanged /* pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user