help to get dmg and rdmg together

Сообщения
32
Реакции
0
very good evening everyone, could someone help me to couple the dmg and rdmg that the 2 things come out in one, type cs go

JavaScript:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <csx> // lo necesitas para el dmg recuerda activar el modulo csx en modules.ini y verificar si esta en la carpeta modules

#define NAME "DMX AUX + TEAMMONEY"
#define VERSION "1.0"
#define AUTHOR "SytOws2j"

new const g_Header[] = "[AMXX-MIX]"

new g_hits[13][12],g_dmg[13][12]; // vaira
new bool:g_IsRound // variable para comprobar la ronda.

new cvar_moneypointer,cvar_teammoney;

public plugin_init()
{
    register_plugin(NAME, VERSION, AUTHOR)
    
    register_clcmd("say .dmg","cmdDamage",_,"<dmg realizado a un jugador>");
    register_clcmd("say .rdmg","cmdRDamage",_,"<dmg que un jugador realizo hacia ti>");
    register_clcmd("say .hp", "cmdHP",_,"<visualizar la vida de los jugadores vivos del equipo contrario");
    
    register_logevent("RoundStart",2,"1=Round_Start");
    register_event( "SendAudio", "TTRonda", "a", "2&%!MRAD_terwin" );
    register_event( "SendAudio", "CTRonda", "a", "2&%!MRAD_ctwin" );
    register_event( "SendAudio", "EmpateRonda","a","2&%!MRAD_rounddraw" );
}


public client_authorized(id)
{
    
    arrayset(g_hits[id],0,sizeof(g_hits[]));
    arrayset(g_dmg[id],0,sizeof(g_dmg[]));

}


/**** DMG AUX ****/

public client_damage(attacker , victim, amount, wpnindex, hitplace, TA)
{
    
        // debes someter esto a una condicion
        // ejemplo: si el mix esta en vivo
        g_hits[attacker][victim]++;
        g_dmg[attacker][victim]  += amount;
        
}



public cmdHP(id)
{

    // Todo esto bajo condicion si esta en vivo
    
    if(is_user_alive(id) && g_IsRound)
    {
        client_print
        (
            id,
            print_chat,
            "%s comando no disponible.",
            g_Header
                
        );
    }
    else
    {
        new iPlayers[32],iNum,iPlayer;
        get_players(iPlayers,iNum,"aeh",(cs_get_user_team(id) == CS_TEAM_T) ? "CT" : "TERRORIST");
            
        if(!iNum)
        {
            client_print
            (
                id,
                print_chat,
                "%s no hay jugadores del equipo contrario vivos",
                g_Header
            );
                
            return PLUGIN_HANDLED;
        }
            
        new szName[32];
            
        for(new i;i < iNum;i++)
        {
            iPlayer = iPlayers[i];
        
            get_user_name(iPlayer,szName,charsmax(szName));
                
            client_print
            (
                id,
                print_chat,
                "%s %s (%d hp / %s armor)",
                g_Header,
                szName,
                get_user_health(iPlayer),
                get_user_armor(iPlayer)
            );
        }
    }

    return PLUGIN_HANDLED;
}


public cmdDamage(id)
{
    
    // Todo esto bajo condicion si esta en vivo

    if(is_user_alive(id) && g_IsRound)
    {
        client_print
        (
            id,
            print_chat,
            "%s comando no disponible.",
            g_Header
                
        );
    }
    else
    {
        new iPlayers[32],iNum,iPlayer;
        get_players(iPlayers,iNum,"h");
            
        new szName[32];
        new iDmg,iHit,iCheck;
            
        for(new i;i < iNum;i++)
        {
            iPlayer = iPlayers[i];
                
            iHit = g_hits[id][iPlayer]; // tomo los hit echos
                
            if(iHit) // si se producen hits
            {
                ++iCheck; // cuento los aciertos
                
                iDmg = g_dmg[id][iPlayer]; // tomo el dmg hecho
                    
                if(iPlayer == id) // si el jugador se hiere a si mismo
                {
                    client_print
                    (
                        id,
                        print_chat,
                        "%s te heriste tu mismo (%d %s / %d dmg).",
                        g_Header,
                        iHit,
                        (iHit > 1) ? "hits" : "hit",
                        iDmg
                    );
                }
                else
                {
                    get_user_name(iPlayer,szName,charsmax(szName));
                        
                    client_print
                    (
                        id,
                        print_chat,
                        "%s %s (%d %s / %d dmg).",
                        g_Header,
                        szName,
                        iHit,
                        (iHit > 1) ? "hits" : "hit",
                        iDmg
                    );
                }
            }
        }
            
        if(!iCheck) // si no se contaron aciertos
        {   
            client_print
            (
                id,
                print_chat,
                "%s no heriste a nadie.",
                g_Header
                );
            }
    }
    
    return PLUGIN_HANDLED;
}

public cmdRDamage(id)
{
    // Todo esto bajo condicion si esta en vivo

    if(is_user_alive(id) && g_IsRound)
    {
        client_print
        (
            id,
            print_chat,
            "%s comando no disponible.",
            g_Header
                
        );
    }
    else
    {
        new iPlayers[32],iNum,iPlayer;
        get_players(iPlayers,iNum,"h");
            
        new szName[32];
        new iDmg,iHit,iCheck;
            
        for(new i;i < iNum;i++)
        {
            iPlayer = iPlayers[i];
                
            iHit = g_hits[iPlayer][id]; // tomo los hit que me hiceron
                
            if(iHit) // si se producen hits
            {
                ++iCheck; // cuento los aciertos
                
                iDmg = g_dmg[iPlayer][id]; // tomo el dmg que me hiceron
                    
                if(iPlayer == id) // si el jugador se hiere a si mismo
                {
                    client_print
                    (
                        id,
                        print_chat,
                        "%s te heriste tu mismo (%d %s / %d dmg).",
                        g_Header,
                        iHit,
                        (iHit > 1) ? "hits" : "hit",
                        iDmg
                    );
                }
                else
                {
                    get_user_name(iPlayer,szName,charsmax(szName));
                        
                    client_print
                    (
                        id,
                        print_chat,
                        "%s %s (%d %s / %d dmg).",
                        g_Header,
                        szName,
                        iHit,
                        (iHit > 1) ? "hits" : "hit",
                        iDmg
                    );
                }
            }
        }
            
        if(!iCheck) // si no se contaron aciertos
        {   
            client_print
            (
                id,
                print_chat,
                "%s nadie te hirio.",
                g_Header
                );
        }
    }
    
    
    return PLUGIN_HANDLED;
}

public RoundStart()
{
    for(new i;i < sizeof g_dmg;++i)
    {
        arrayset(g_hits[i],0,sizeof(g_hits));
        arrayset(g_dmg[i],0,sizeof(g_dmg));   
    }
    g_IsRound = true;
}

public TTRonda() g_IsRound = false;
public CTRonda() g_IsRound = false;
public EmpateRonda() g_IsRound = false;

public client_disconnect(id)
{
    
    for(new i;i < sizeof g_dmg;++i)
    {
        g_hits[i][id] = 0;
        g_dmg[i][id] = 0;
    }
    
}
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу