That's because you're setting up the TempEnts, but not sending them.
Code:
TE_SetupBeamPoints(toppos, playerpos, g_Lightning, g_Lightning, lightningstartframe, lightningframerate, lightninglife, lightningwidth, lightningendwidth, lightningfadelength, lightningamplitude, lightningcolor, lightningspeed);
TE_SetupExplosion(playerpos, g_ExplosionFire, 10.0, 10, TE_EXPLFLAG_NONE, 200, 255);
TE_SetupSmoke(playerpos, g_Smoke1, smokescale, smokeframerate);
TE_SetupSmoke(playerpos, g_Smoke2, smokescale, smokeframerate);
TE_SetupMetalSparks(sparkstart,sparkdir);
TE_SendToAll(0.0);
In effect, you only sent the last one (MetalSparks).
It should be:
PHP Code:
TE_SetupBeamPoints(toppos, playerpos, g_Lightning, g_Lightning, lightningstartframe, lightningframerate, lightninglife, lightningwidth, lightningendwidth, lightningfadelength, lightningamplitude, lightningcolor, lightningspeed);
TE_SendToAll();
TE_SetupExplosion(playerpos, g_ExplosionFire, 10.0, 10, TE_EXPLFLAG_NONE, 200, 255);
TE_SendToAll();
TE_SetupSmoke(playerpos, g_Smoke1, smokescale, smokeframerate);
TE_SendToAll();
TE_SetupSmoke(playerpos, g_Smoke2, smokescale, smokeframerate);
TE_SendToAll();
TE_SetupMetalSparks(sparkstart,sparkdir);
TE_SendToAll();