- 2
- 1
- Версия MoonLoader
- Другое
MoonLoader version: v.026.5-beta
Написал бота дальнобойщика. Использую массив координат и taskCarDriveToCoord для езды по ним. При начале маршрута с точки спокойствия (автомобиль стоит со скоростью 0) колеса странно себя ведут.
Далее, по ходу маршрута, колеса ведут себя нормально, даже если перезапустить маршрут-бота в ходе выполнения маршрута с нулевой скорости.
UPD: иногда по ходу маршрута с ненулевой скоростью колеса тоже дергается, но минимально, это меня не беспокоит.
Хочу исправить аномальное поведение колес чтобы не палиться визуально, прошу советов.
Мои догадки:
Написал бота дальнобойщика. Использую массив координат и taskCarDriveToCoord для езды по ним. При начале маршрута с точки спокойствия (автомобиль стоит со скоростью 0) колеса странно себя ведут.
Далее, по ходу маршрута, колеса ведут себя нормально, даже если перезапустить маршрут-бота в ходе выполнения маршрута с нулевой скорости.
UPD: иногда по ходу маршрута с ненулевой скоростью колеса тоже дергается, но минимально, это меня не беспокоит.
Хочу исправить аномальное поведение колес чтобы не палиться визуально, прошу советов.
Мои догадки:
- Виноват поворот:
- На втором видео бот совершает поворот, и возможно дело в этом, но на первом видео же поворот не совершает (вектор направления движения - прямо) и аномальное поведение колес присутствует. На третьем видео тоже совершает поворот и проблемы нет
- Виновата маленькая скорость
- Когда происходит разгон SpeedF до 14 на первом видео и 12 на втором, то аномальное поведение колес пропадает
- НО если я начинаю маршрут с промежуточной точки, см. видео 3, то проблема с колесами отсутствует
- Пробовал вызов taskCarDriveToCoord выносить наружу из wait(0) цикла, отрисовывающего вектор до текущей точки от меня, чтобы на каждую точку функция taskCarDriveToCoord вызывалась один раз - не помогло.
- Возможно виноват выбранный режим rideType - я использую 2 - напрямую не сворачивая. Другие, 0 и 3, не совсем подходят, т.к. мои координаты лежат не только на дорогах, но и на адекватных шорткатах по пересеченной местности. В случае таких координат бот пытается выехать на дорогу
Lua:
if (key > closestPointIndex) then
local X, Y, Z, speed = tonumber(value[1]), tonumber(value[2]), tonumber(value[3]), tonumber(value[4]);
local wannaSpeed = 0;
if (speed == 0 and key ~= 1) then wannaSpeed = 5
elseif (speed < 20) then wannaSpeed = 20
elseif (speed < 25) then wannaSpeed = 25
elseif (speed < 30) then wannaSpeed = 30
elseif (speed < 35) then wannaSpeed = 35
elseif (speed < 40) then wannaSpeed = 40
else wannaSpeed = speed
end
if X and Y and Z then
repeat wait(0)
if IsInVehicle() and enabled then
taskCarDriveToCoord(1, storeCarCharIsInNoSave(1), X, Y, Z, wannaSpeed, 2, nil, 7)
local pos = {getCarCoordinates(storeCarCharIsInNoSave(PLAYER_PED))}
printStringNow('~r~Point: ~w~'..key.."/"..pointsCount..' ~r~SpeedP: ~w~'..string.format('%0.3f', speed)..' ~r~SpeedW: ~w~'..string.format('%0.3f', wannaSpeed)..' ~r~SpeedF: ~w~'..string.format('%0.3f', getCarSpeed(storeCarCharIsInNoSave(1))))
drawRoute(pos[1], pos[2], pos[3], X, Y, Z)
else
-- Этот кусок кода не выполняется при аномальном поведении колес, продебажил
isExecutingRoute = false
clearCharTasks(PLAYER_PED)
return
end
until locateCharInCar2d(1, X, Y, 5, 5, false)
end
end
function IsInVehicle()
return isCharInAnyCar(PLAYER_PED);
end
Последнее редактирование: