Raised This Month: $ Target: $400
 0% 

Solved Store Attacker damage in dinamic array for every victim


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 07-16-2021 , 10:35   Re: Store Attacker damage in dinamic array for every victim
Reply With Quote #9

Is this what you're trying to do?
PHP Code:

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

new const Version[] = "0.1";

#define MAX_PLAYERS 32
#define MAX_NAME_LENGTH 32

enum PlayerStats
{
    
DamageGiven,
    
DamageReceived
}

new 
g_szNameMAX_PLAYERS ][ MAX_NAME_LENGTH ];
new 
g_pzStatsMAX_PLAYERS ][ MAX_PLAYERS ][ PlayerStats ];

public 
plugin_init() 
{
    
register_plugin"Round Damage" Version "bugsy" );
    
    
RegisterHamHam_TakeDamage "player" "HamTakeDamage" true );
    
register_logevent"RoundEnd" "1=Round_End" ); 
}

public 
client_putinserverid )
{
    
get_user_nameid g_szNameid ] , charsmaxg_szName[] ) );
}

public 
HamTakeDamagevictim inflictor attacker Float:fDamage bitDamage 
{     
    new 
iActualDamage pevvictim pev_dmg_take ); 
    
    
g_pzStatsvictim ][ attacker ][ DamageReceived ] += iActualDamage;
    
g_pzStatsattacker ][ victim ][ DamageGiven ] += iActualDamage;
}

public 
RoundEnd()
{
    new 
iPlayers32 ] , iNum iAttackerPlayer iVictimPlayer iTotalDamage iSingleDamage;
    new 
szHUD512 ] , iPos;
    
    
get_playersiPlayers iNum );
    
    for ( new 
iNum i++ )
    {
        
iAttackerPlayer iPlayers];
        
        
iPos 0;
        
iTotalDamage 0;
        
        for ( new 
iNum p++ )
        {
            
iVictimPlayer iPlayers];
            
            if ( 
!= )
            {
                
iSingleDamage g_pzStatsiAttackerPlayer ][ iVictimPlayer ][ DamageGiven ];
                
                if ( 
iSingleDamage )
                {
                    
iTotalDamage += iSingleDamage;
                    
iPos += formatexszHUDiPos ] , charsmaxszHUD ) - iPos "%s - %d damage^n" g_szNameiVictimPlayer ] , iSingleDamage );
                }
            }
        }

        if ( 
iTotalDamage )
        {
            
iPos += formatexszHUDiPos ] , charsmaxszHUD ) - iPos "^n^nTotal Damage - %d" iTotalDamage );
            
set_hudmessage255 0.050.35 0.0 5.0 );
            
show_hudmessageiAttackerPlayer szHUD );
        }    
    }

    
ClearArray();
}

ClearArray()
{
    for ( new 
<= MAX_PLAYERS i++ )
    {
        for ( new 
<= MAX_PLAYERS p++ )
        {
            
g_pzStats][ ][ DamageGiven ] = 0;
            
g_pzStats][ ][ DamageReceived ] = 0;
        }
    }

__________________

Last edited by Bugsy; 07-25-2021 at 11:40.
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 02:30.


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