ZMBIO.RO
Counter-Strike Plugin New Damage Show - Printable Version

+- ZMBIO.RO (https://zmbio.ro)
+-- Forum: Gaming portal (https://zmbio.ro/Forum-Gaming-portal)
+--- Forum: Counter-Strike 1.6 (https://zmbio.ro/Forum-Counter-Strike-1-6)
+---- Forum: [CS1.6] Plugins (https://zmbio.ro/Forum-CS1-6-Plugins)
+---- Thread: Counter-Strike Plugin New Damage Show (/Thread-Counter-Strike-Plugin-New-Damage-Show)



Plugin New Damage Show - eLLectro - 06-17-2025





Plugin New Damage Show

The "New Damage" plugin for CS 1.6 changes how damage is shown in the game. It adds better visual effects and clearer messages to make it easier to see how much damage players take.

Code: 
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#define DAMAGE_COLOR_ENABLED // Comment out '//' if you need a standard damage dealer color.
#define NDAMAGE_SPRITE "sprites/new_damage.spr" // Path to sprite
#define NDAMAGE_REMOVE 1.0 // The sprite will be deleted after a certain period of time.
#define NDAMAGE_SIZE 0.30 // Sprite size (standard 0.30), less than 0.25 is not recommended!

#if defined DAMAGE_COLOR_ENABLED
new THUD_COLOR[] = {255, 0, 0};
new CTHUD_COLOR[] = {0, 0, 255};
new Float:SPRITE_TCOLOR[3] = {255.0, 0.0, 0.0};
new Float:SPRITE_CTCOLOR[3] = {0.0, 0.0, 255.0};
#endif

public plugin_init()
{
register_plugin("new_damage", "v0.01", "souledar");

RegisterHam(Ham_Think, "info_target", "fw_ThinkInfoTarget");
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Post", true);
}

public plugin_precache() engfunc(EngFunc_PrecacheModel, NDAMAGE_SPRITE);

public Ham_TakeDamage_Post(iVictim, iWeapon, iAttacker, Float:fDamage)
{
if (get_user_team(iVictim) == get_user_team(iAttacker)) return;
new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (pev_valid(iEnt))
{
new Float:fOrigin[3];
pev(iVictim, pev_origin, fOrigin);
set_pev(iEnt, pev_classname, "func_damager");
set_pev(iEnt, pev_impulse, 11082018);
set_pev(iEnt, pev_movetype, MOVETYPE_FOLLOW);
set_pev(iEnt, pev_aiment, iVictim);
engfunc(EngFunc_SetModel, iEnt, NDAMAGE_SPRITE);
set_pev(iEnt, pev_scale, NDAMAGE_SIZE);
set_pev(iEnt, pev_rendermode, kRenderTransAdd);
#if defined DAMAGE_COLOR_ENABLED
if(cs_get_user_team(iAttacker) == CS_TEAM_T) set_pev(iEnt, pev_rendercolor, SPRITE_TCOLOR);
else if(cs_get_user_team(iAttacker) == CS_TEAM_CT) set_pev(iEnt, pev_rendercolor, SPRITE_CTCOLOR);
#else
new Float:standart_color[3] = {255.0, 255.0, 255.0};
set_pev(iEnt, pev_rendercolor, standart_color);
#endif
set_pev(iEnt, pev_renderamt, 255.0);

if (fDamage > 99.0) set_pev(iEnt, pev_frame, 0);
else set_pev(iEnt, pev_frame, fDamage);
set_pev(iEnt, pev_nextthink, get_gametime() + NDAMAGE_REMOVE);
}

if(iVictim == iAttacker || !is_user_alive(iAttacker) || !is_user_connected(iVictim)) return;

if(cs_get_user_team(iAttacker) == CS_TEAM_T)
{
#if defined DAMAGE_COLOR_ENABLED
set_hudmessage(THUD_COLOR[0], THUD_COLOR[1], THUD_COLOR[2], -1.0, -1.0, 0, 0.01, 0.05, 0.1);
#else
set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 0.01, 0.05, 0.1);
#endif
}
else if (cs_get_user_team(iAttacker) == CS_TEAM_CT)
{
#if defined DAMAGE_COLOR_ENABLED
set_hudmessage(CTHUD_COLOR[0], CTHUD_COLOR[1], CTHUD_COLOR[2], -1.0, -1.0, 0, 0.01, 0.05, 0.1);
#else
set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 0.01, 0.05, 0.1);
#endif
}
show_hudmessage(iAttacker, "\\     //^n^n//     \\"); // Displaying a hit on a player.
}

public fw_ThinkInfoTarget(iEnt)
{
if (pev_valid(iEnt))
{
if (pev(iEnt, pev_impulse) == 11082018)
set_pev(iEnt, pev_flags, FL_KILLME);
}
}

VersionAuthorRequirementsMod for
0.01souledarAMX Mod X, Cstrike, FakeMeta, HamSandwichCounter-Strike 1.6