#include #include #include #define IsPlayer(%0) ( 1 <= %0 <= MAX_CLIENTS ) public plugin_init() { register_clcmd("test", "@Clcmd_Test"); RegisterHookChain(RG_CSGameRules_SendDeathMessage, "@CSGameRules_SendDeathMessage_Pre", 0); RegisterHookChain(RG_CSGameRules_SendDeathMessage, "@CSGameRules_SendDeathMessage_Post", 1); } @Clcmd_Test(const iId) { new Players[MAX_CLIENTS], iPlayers; get_players_ex(Players, iPlayers); new iKiller = iId; if(iPlayers) iKiller = Players[random_num(0, iPlayers)]; rg_send_death_message ( iKiller, iId, 0, 0, "ak47", PLAYERDEATH_POSITION | PLAYERDEATH_KILLRARITY, KILLRARITY_DOMINATION ); } @CSGameRules_SendDeathMessage_Pre(const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill) { server_print("^nCSGameRules_SendDeathMessage_Pre: ", pKiller, pVictim, pAssister, pevInflictor, killerWeaponName, iDeathMessageFlags, iRarityOfKill); SendDeathMessage(pKiller, pVictim, pAssister, pevInflictor, killerWeaponName, iDeathMessageFlags, iRarityOfKill); } @CSGameRules_SendDeathMessage_Post(const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill) { server_print("^nCSGameRules_SendDeathMessage_Post: ", pKiller, pVictim, pAssister, pevInflictor, killerWeaponName, iDeathMessageFlags, iRarityOfKill); SendDeathMessage(pKiller, pVictim, pAssister, pevInflictor, killerWeaponName, iDeathMessageFlags, iRarityOfKill); } SendDeathMessage(const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill) { if(IsPlayer(pKiller)) server_print("pKiller name: %n", pKiller); else if(pKiller > MAX_CLIENTS) server_print("pKiller ent: %d", pKiller); if(IsPlayer(pVictim)) server_print("pVictim name: %n", pVictim); else if(pVictim > MAX_CLIENTS) server_print("pVictim ent: %d", pVictim); if(IsPlayer(pAssister)) server_print("pAssister name: %n", pAssister); if(IsPlayer(pevInflictor)) server_print("pevInflictor name: %n", pevInflictor); else if(pevInflictor > MAX_CLIENTS) server_print("pevInflictor ent: %d", pevInflictor); if(strlen(killerWeaponName)) server_print("killerWeaponName: %s", killerWeaponName); if(iDeathMessageFlags) { if(iDeathMessageFlags & PLAYERDEATH_POSITION) server_print("iDeathMessageFlags: PLAYERDEATH_POSITION"); if(iDeathMessageFlags & PLAYERDEATH_ASSISTANT) server_print("iDeathMessageFlags: PLAYERDEATH_ASSISTANT"); if(iDeathMessageFlags & PLAYERDEATH_KILLRARITY) server_print("iDeathMessageFlags: PLAYERDEATH_KILLRARITY"); } if(iRarityOfKill) { if(iRarityOfKill & KILLRARITY_HEADSHOT) server_print("iRarityOfKill: KILLRARITY_HEADSHOT"); if(iRarityOfKill & KILLRARITY_KILLER_BLIND) server_print("iRarityOfKill: KILLRARITY_KILLER_BLIND"); if(iRarityOfKill & KILLRARITY_NOSCOPE) server_print("iRarityOfKill: KILLRARITY_NOSCOPE"); if(iRarityOfKill & KILLRARITY_PENETRATED) server_print("iRarityOfKill: KILLRARITY_PENETRATED"); if(iRarityOfKill & KILLRARITY_THRUSMOKE) server_print("iRarityOfKill: KILLRARITY_THRUSMOKE"); if(iRarityOfKill & KILLRARITY_ASSISTEDFLASH) server_print("iRarityOfKill: KILLRARITY_ASSISTEDFLASH"); if(iRarityOfKill & KILLRARITY_DOMINATION_BEGAN) server_print("iRarityOfKill: KILLRARITY_DOMINATION_BEGAN"); if(iRarityOfKill & KILLRARITY_DOMINATION) server_print("iRarityOfKill: KILLRARITY_DOMINATION"); if(iRarityOfKill & KILLRARITY_REVENGE) server_print("iRarityOfKill: KILLRARITY_REVENGE"); } server_print("^n"); }