I'd use some sort of flag.
Code:
if(equali(classname,"rpg_rocket")) {
if(pev(ent,pev_iuser1)) return FMRES_IGNORED;
set_pev(ent,pev_iuser1,1);
// ...
}
pev_iuser1 should be 0 by default. So it passes by the if statement unharmed the first time think is called, sets the value to 1 so that it knows not to do this again next time, and then executes your code.
As for not getting the beams to coincide, you might have to kill the old beam first:
Code:
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_KILLBEAM); // Kill all beams attached to entity
write_short(ent);
message_end();
__________________
No longer around. Thanks your support, everyone! As always:
THIS ONES FOR YOU
3000 PTS