PDA

View Full Version : IgniteEntity doesn't work on actual entities?


anakin_cstrike
01-01-2012, 09:17
Any other way to do this? maybe with some sprite or something...i tried that on a entity on the map and i didn't do anything...

thanks

lokizito
01-01-2012, 11:41
You can create a env_fire entity.

donrevan
01-01-2012, 12:24
It's probably better to use particle systems for that

//using env_fire_medium_smoke is just a example...
//other particles may look better
//like: "burning_character"
new firefx = CreateParticleSystem(victim, "env_fire_medium_smoke", true, "rfoot", _);


// ------------------------------------------------------------------------
// CreateParticleSystem()
// ------------------------------------------------------------------------
// >> Original code by J-Factor
// ------------------------------------------------------------------------
stock CreateParticleSystem(iClient, String:strParticle[], bool:bAttach = false, String:strAttachmentPoint[]="", Float:fOffset[3]={0.0, 0.0, 0.0})
{
new iParticle = CreateEntityByName("info_particle_system");
if (IsValidEdict(iParticle))
{
decl Float:fPosition[3];
decl Float:fAngles[3];
decl Float:fForward[3];
decl Float:fRight[3];
decl Float:fUp[3];

// Retrieve entity's position and angles
GetClientAbsOrigin(iClient, fPosition);
GetClientAbsAngles(iClient, fAngles);

// Determine vectors and apply offset
GetAngleVectors(fAngles, fForward, fRight, fUp); // I assume 'x' is Right, 'y' is Forward and 'z' is Up
fPosition[0] += fRight[0]*fOffset[0] + fForward[0]*fOffset[1] + fUp[0]*fOffset[2];
fPosition[1] += fRight[1]*fOffset[0] + fForward[1]*fOffset[1] + fUp[1]*fOffset[2];
fPosition[2] += fRight[2]*fOffset[0] + fForward[2]*fOffset[1] + fUp[2]*fOffset[2];

// Teleport and attach to client
TeleportEntity(iParticle, fPosition, fAngles, NULL_VECTOR);
DispatchKeyValue(iParticle, "effect_name", strParticle);

if (bAttach == true)
{
SetVariantString("!activator");
AcceptEntityInput(iParticle, "SetParent", iClient, iParticle, 0);

if (StrEqual(strAttachmentPoint, "") == false)
{
SetVariantString(strAttachmentPoint);
AcceptEntityInput(iParticle, "SetParentAttachmentMaintainOffset", iParticle, iParticle, 0);
}
}

// Spawn and start
DispatchSpawn(iParticle);
ActivateEntity(iParticle);
AcceptEntityInput(iParticle, "Start");
}

return iParticle;
}