I somehow doubt your lasergun action is doing what you want it to do. Once it is executed it immedialte creates laser bullet and then waits until the key j is released. Once that has happened it removes itself. That does not sound like a good gun to me... ^^
Nevertheless I don't see why this should throw E1516. Are you sure this is the code responsible for the error? How do you create the lasergun?
Some unrelated remarks about you code:
1. You have to use backslashes in paths, not slashes.
2. You're misusing the while loop concept. In a while loop the condition should determine how long the function runs. But you used an if condition nested in the while loop as a cancellation criterion. Better do it like this:
while (!key_j)
{
my->pan = player->pan;
wait(1);
}
ent_remove(me);
This has similar semantics but is far clearer. For identical semantics use a do while loop instead. The same is true for the action act_laser. The kill_timer var should be in the condition of the while loop.