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;
}
}