NWScript:
float REPEL_DISTANCE = 1.0;
void main()
{
object oEnteringPC = GetEnteringObject();
location lOrigin,
lDest;
vector vOrigin,
vDest,
vUnitRepel;
lOrigin = GetLocation( oEnteringPC );
vOrigin = GetPosition( oEnteringPC );
vUnitRepel = AngleToVector( GetFacingFromLocation( lOrigin ) + 180.0 );
vDest = vOrigin + REPEL_DISTANCE * vUnitRepel;
lDest = Location( GetArea( oEnteringPC ), vDest, GetFacingFromLocation( lOrigin ) );
AssignCommand( oEnteringPC, ClearAllActions() );
AssignCommand( oEnteringPC, JumpToLocation( lDest ) );
}