i saw that from Aggror :
Script.target = "" --entity "Target waypoint"
Script.offset = Vec3(0,1,-2) --Vec3 "Offset"
Script.smoothen = Vec3(5,5,5) --Vec3 Smoothen
Script.enabled = true --bool Enabled
function Script:Start()
if self.target == nil then
Debug:Error("The follow script does not have a target.")
end
end
function Script:UpdateWorld()
if self.enabled then
local x = Math:Curve((self.target:GetPosition(true).x + self.offset.x), self.entity:GetPosition(true).x, self.smoothen.x / Time:GetSpeed())
local y = Math:Curve((self.target:GetPosition(true).y + self.offset.y), self.entity:GetPosition(true).y, self.smoothen.y / Time:GetSpeed())
local z = Math:Curve((self.target:GetPosition(true).z + self.offset.z), self.entity:GetPosition(true).z, self.smoothen.z / Time:GetSpeed())
self.entity:SetPosition(Vec3(x,y,z))
end
end
not tried but sure it will work