%o = p(vis);
%p1 = %o.getPosition();
%p2 = nameToID("_cake").getPosition();
%vecSub = vectorSub(%p1,%p2); talk("%vecSub: " @ %vecSub);
%vecSc = vectorScale(%vecSub,5); talk("%vecSc: " @ %vecSc);
%vecAdd = vectorAdd(%vecSc,"0 0 10"); talk("%vecAdd: " @ %vecAdd);
%o.addVelocity(%vecAdd);
EDIT: Nevermind, it works.
EDIT2: Nevermind again, it doesn't work as I thought of it.
EDIT3: It works again, but it is throwing a lot of velocity, why?
EDIT4: Fixed. Here is the official code below.
%o = p(vis);
%p1 = %o.getPosition();
%p2 = nameToID("_cake").getPosition();
%p_1 = getWord(%p1,0)/10*-1 SPC getWord(%p1,1)/10*-1 SPC getWord(%p1,2);
%p_2 = getWord(%p2,0)/10*-1 SPC getWord(%p2,1)/10*-1 SPC getWord(%p2,2);
%o.addVelocity(vectorAdd(vectorScale(vectorSub(%p_1,%p_2),5),"0 0 10"));
Only way how it works.