Функция, которая равномерно развивает скорость объекта от заданной минимальной, до заданной максимальной, за заданное количество времени.
Параметры:
MoveObjectWithAcceleration(Объект, начальная скорость, конечная скорость, координаты XYZ финальной позиции, Время в мс за которое объект должен ускориться);
Код
forward MoveObjectWithAcceleration(objectid, Float: startSpeed, Float: endSpeed, Float: x, Float: y, Float: z, accelerationTime);
public MoveObjectWithAcceleration(objectid, Float: startSpeed, Float: endSpeed, Float: x, Float: y, Float: z, accelerationTime)
{
if(!IsValidObject(objectid)) return ;
new Float: newSpeed = (endSpeed + startSpeed) / 10 + startSpeed ;
if(newSpeed >= endSpeed) return ;
MoveObject(objectid, x, y, z, newSpeed);
SetTimerEx("MoveObjectWithAcceleration", accelerationTime / 10, false, "ifffffi", objectid, newSpeed, endSpeed, x, y, z, accelerationTime);
}