I just love thows effects, maybe some1 can fix thows bugs plz ?
Found this on another site, I havent tested it yet.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN_NAME "New HeNades Effects (remaked)"
#define PLUGIN_AUTHOR "SAMURAI"
#define PLUGIN_VERSION "0.2"
stock const g_sprites[][] =
{
"sprites/he_efx1.spr",
"sprites/he_efx2.spr",
"sprites/he_efx3.spr",
"sprites/he_efx4.spr",
"sprites/he_efx5.spr",
"sprites/he_efx6.spr",
"sprites/he_efx7.spr",
"sprites/he_efx8.spr",
"sprites/he_efx9.spr",
"sprites/he_efx10.spr",
"sprites/he_efx11.spr",
"sprites/he_efx12.spr",
"sprites/he_efx13.spr"
}
new gSpriteIndex[sizeof g_sprites];
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_AUTHOR, PLUGIN_VERSION);
register_forward(FM_EmitSound,"fw_emitsound");
}
public plugin_precache()
{
for(new i = 0; i < sizeof g_sprites; i++)
gSpriteIndex[i] = engfunc(EngFunc_PrecacheModel,g_sprites[i]);
}
public fw_emitsound(entity,channel,const sample[],Float:volume,Float:attenuation,fFlags,pitch)
{
if(!equali(sample,"weapons/debris",14))
return FMRES_IGNORED;
static classname[10];
pev(entity,pev_classname,classname,9);
if(equal(classname,"grenade"))
he_nade_explode(entity);
return FMRES_IGNORED;
}
public he_nade_explode(ent)
{
// check if isn't a valid ent
if(!pev_valid(ent)) {
return 0;
}
static Float:fHeNadeOrigin[3], iHeNadeOrigin[3];
// get he grenade origin
pev(ent,pev_origin,fHeNadeOrigin);
// make it integer
FVecIVec(fHeNadeOrigin,iHeNadeOrigin);
/*message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_SPRITE);
write_coord(iHeNadeOrigin[0]); // x
write_coord(iHeNadeOrigin[1]); // y
write_coord(iHeNadeOrigin[2]); // z
write_short(gSpriteIndex[random(sizeof g_sprites)]); // sprite
write_byte(40); // scale
write_byte(100); // brightness
message_end();*/
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_EXPLOSION); // TE_EXPLOSION
write_coord(iHeNadeOrigin[0]); // x
write_coord(iHeNadeOrigin[1]); // x; // origin y
write_coord(iHeNadeOrigin[2]); // x // origin z
write_short(gSpriteIndex[random(sizeof g_sprites)]); // sprites
write_byte(40); // scale in 0.1's
write_byte(30); // framerate
write_byte(TE_EXPLFLAG_NONE); // flags
message_end(); // message end
return 0;
}