The manual explains nicely how to use ent_move:
Example:
Ignoring the YOU entity can be used to prevent that a bullet gets stuck immediately within the barrel or within the entity which fired it. The move modes can be combined by simple adding, like this:
move_mode = IGNORE_YOU + IGNORE_PASSABLE + IGNORE_PUSH + ACTIVATE_TRIGGER + GLIDE;
result = ent_move (reldist, absdist);
Why do you still use C-Script? I was the biggest fan of C-Script myself, but it's a very restrictive language and has no advantages over lite-C. It only takes a day or two to get used to the latter language.