making a cable car that can go up on a slant -- so forwards, and up (and vice versa.)
So I figgered llMoveToTarget would do the trick.
But it won't get started even. It tries to but can't move (nope, it's not stuck, I checked many times.) It's 27 prim. Lindomass reports as 288 whatevers, though I understand this doesn't really have any relation here.
Here's bits of the code; it's a mess, i just grabbed bits out for the pieces related to this question. And it's all just an initial rough proof of concept sketch, thus hard coded and everything in places.
float speed = 0.05;
float precision = 0.5;
vector CurrentPos;
float range = 0.1;
vector start_pos;
integer TargetID;
vector TargetVector;
stop() {
llTargetRemove(TargetID);
llSetTimerEvent(0);
llStopMoveToTarget();
llShout(0,"ARRIVED"

llSetStatus(STATUS_PHYSICS, FALSE);
llSetPos(TargetVector);
}
default {
state_entry() {
llSetStatus (STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z, FALSE);
start_pos= <45.72342, 161.76523, 522.06458>;
llListen(0,"","",""

}
listen(integer a, string n, key id, string msg) {
if (msg == "go"

TargetVector= <87.41540, 161.78163, 544.55786>;
TargetID = llTarget(TargetVector, range );
llSetStatus(STATUS_PHYSICS,TRUE);
llSetTimerEvent(.5);
}
}
timer() {
CurrentPos = llGetPos();
llMoveToTarget(TargetVector,speed);
if ( (CurrentPos == TargetVector) ){
stop();
}
}
at_target( integer number, vector targetpos, vector ourpos ) {
stop();
}
}