Скрипт должен расчитывать и рисовать путь, который он узнает из пакета MoveToLocation, выбрасывая вещи.
x21 - х начала пути.
x11 - х конца пути.
по аналогии устроены другие переменные.
GetTimeFromPath - получение длинны пути.
dropitem - выброс вещи, который шлется на клиент.
delphi Код:
procedure PaintMyWay(x11,y11,z11,x21,y21,z21:integer); // объявление процедуры
begin // начало 1
if ((Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10)=0) then // не равняется ли длинна пути 0?
begin //начало 2
exit; // если да - выходим дабы избежать вылета
end; // конец 2 // если же длинна нашего пути не равна 0 то
//Описание 1: вычесляем разницу между координатами, вычитаем из нее длинну пути
dx1:=(x21 - x11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для x
dy1:=(y21 - y11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для y
dz1:=(z21 - z11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для z
while (dx1>0) or (dx1<0) or (dy1>0) or (dy1<0) or (dz1>0) or (dz1<0) do // начинаем цикл, который выполняется при
// условии что разница между разностью начальной и конечной координат x y z не равна 0.
begin // начало 3
x11:=x11+dx1; // прибавляем к начальному x разницу
y11:=y11+dy1; // прибавляем к начальному y разницу
z11:=z11+dz1; // прибавляем к начальному z разницу
dropItem(x11,y11,z11); // выкидываем вещь в эти координаты
if ((Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10)=0) then //проверяем новые координаты, не равен ли путь с них 0?
begin //начало 4
exit; //если это так то выходим дабы избежать ошибки
end; //конец 4
dx1:=(x21 - x11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для x
dy1:=(y21 - y11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10);// Описание 1 для y
dz1:=(z21 - z11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для z
end; // конец 3
end; // конец 1
В чем заключается ПРОБЛЕМА - при непонятно каких обстоятельствах, рисованый путь искривляется.