Raised This Month: $ Target: $400
 0% 

Display previous round information in chat


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 08-10-2021 , 23:11   Re: Display previous round information in chat
Reply With Quote #11

Try this:
PHP Code:

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

new const Version[] = "0.8";

#define MAX_PLAYERS 32
#define MAX_NAME_LENGTH 32

enum PlayerStats
{
    
Shots,
    
DamageGiven,
    
HealthBeforeDamage
}

new 
g_pzStatsMAX_PLAYERS ][ MAX_PLAYERS ][ PlayerStats ];
new 
g_HealthAtRoundEndMAX_PLAYERS ];
new 
HamHook:g_hTakeDamagePre HamHook:g_hTakeDamagePost
new 
bool:g_bRoundDamageShown;
new 
g_pEnabled;

public 
plugin_init() 
{
    
register_plugin"Round Damage" Version "bugsy" );
    
    
RegisterHamHam_Spawn "player" "HamSpawn_Post" true );
    
DisableHamForwardg_hTakeDamagePre RegisterHamHam_TakeDamage "player" "HamTakeDamage_Pre" false ) );
    
DisableHamForwardg_hTakeDamagePost RegisterHamHam_TakeDamage "player" "HamTakeDamage_Post" true ) );
    
register_logevent"RoundStart" "1=Round_Start" ); 
    
register_logevent"RoundEnd" "1=Round_End" );
    
register_event"HLTV" "NewRound" "a" "1=0" "2=0" );
    
    
g_pEnabled register_cvar"rd_enabled" "1" );
}

public 
RoundStart()
{
    
ClearArray();
    
EnableHamForwardg_hTakeDamagePre );
    
EnableHamForwardg_hTakeDamagePost );
}

public 
RoundEnd()
{
    new 
iPlayers32 ] , iNum;
    
    
get_playersiPlayers iNum "ah" );
    
    for ( new 
iNum i++ )
    {
        
g_HealthAtRoundEndiPlayers] ] = get_user_healthiPlayers] );
    }
}

public 
NewRound()
{
    
g_bRoundDamageShown false;
    
DisableHamForwardg_hTakeDamagePre );
    
DisableHamForwardg_hTakeDamagePost );
}

public 
HamTakeDamage_Previctim inflictor attacker Float:fDamage bitDamage 
{
    if ( 
get_pcvar_numg_pEnabled ) )
    {
        
g_pzStatsattacker ][ victim ][ HealthBeforeDamage ] = get_user_healthvictim );
    }
}

public 
HamTakeDamage_Postvictim inflictor attacker Float:fDamage bitDamage 
{
    if ( 
get_pcvar_numg_pEnabled ) )
    {
        
g_pzStatsattacker ][ victim ][ Shots ]++;
        
g_pzStatsattacker ][ victim ][ DamageGiven ] += clampg_pzStatsattacker ][ victim ][ HealthBeforeDamage ] - get_user_healthvictim ) , g_pzStatsattacker ][ victim ][ HealthBeforeDamage ] );    
    }
}

public 
HamSpawn_Postid )
{
    if ( 
g_bRoundDamageShown == true )
        return;

    if ( 
is_user_aliveid ) )
    {
        new 
iPlayers32 ] , iNum iPlayer iOtherPlayer iDamageGiven iDamageTaken szNameMAX_PLAYERS ][ 32 ];
        
        
get_playersiPlayers iNum );
    
        for ( new 
iNum i++ )
        {
            
iPlayer iPlayers];
            
            for ( new 
iNum p++ )
            {
                
iOtherPlayer iPlayers];
                
                if ( ( 
!= ) && ( g_pzStatsiPlayer ][ iOtherPlayer ][ DamageGiven ] || g_pzStatsiOtherPlayer ][ iPlayer ][ DamageGiven ] ) )
                {
                    
iDamageGiven g_pzStatsiPlayer ][ iOtherPlayer ][ DamageGiven ];
                    
iDamageTaken g_pzStatsiOtherPlayer ][ iPlayer ][ DamageGiven ];
                
                    if ( 
iDamageGiven || iDamageTaken )
                    {
                        if ( 
szNameiOtherPlayer ][ ] == EOS )
                            
get_user_nameiOtherPlayer szNameiOtherPlayer ] , charsmaxszName[] ) );
                            
                        
client_printiPlayer print_chat "(%d with %d) damage, (%d with %d) taken, %s (%dHP)" iDamageGiven g_pzStatsiPlayer ][ iOtherPlayer ][ Shots ] , iDamageTaken g_pzStatsiOtherPlayer ][ iPlayer ][ Shots ] , szNameiOtherPlayer ] , g_HealthAtRoundEndiOtherPlayer ] );
                    }
                }
            }
        }
        
        
g_bRoundDamageShown true;
    }
}

ClearArray()
{
    
arraysetg_HealthAtRoundEnd sizeofg_HealthAtRoundEnd ) );
    for ( new 
<= MAX_PLAYERS i++ )
    {
        for ( new 
<= MAX_PLAYERS p++ )
        {
            
g_pzStats][ ][ Shots ] = 0;
            
g_pzStats][ ][ DamageGiven ] = 0;
            
g_pzStats][ ][ HealthBeforeDamage ] = 0;
        }
    }

__________________

Last edited by Bugsy; 08-16-2021 at 19:35.
Bugsy is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 20:38.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode