- 5
- 1
- Версия MoonLoader
- .026-beta
Я решил сделать бота для CRMP на lua, который должен ходить по координатам(Т.к там нет чекпоинтов) и нажимать на кнопку(ЛКМ)(Много раз). Меню(imgui) я научился отрисовывать и добавлять элементы(Button, Text итд), но появилась проблема с передвижением по координатам т.е я знаю координаты куда мне надо идти последовательно, но я не нашёл рабочего способа(Функции).
Подскажите как реализовать передвижение по заданным координатам (Подробно если можно).
Спасибо!
1. X=1972.092 Y=1356.525 Z=-18.109 - Получение материала.\n 2. X=1972.856 Y=1352.716 Z=-18.109 - Переработка.\n 3. X=1978.885 Y=1356.347 Z=-18.109 - Промежуточная точка.\n 4. X=1983.533 Y=1354.435 Z=-18.109 - Точка сдачи.
Такой код видел, но не знаю как вызвать функцию:
function go_to_point(point, is_sprint)
local dist
repeat
set_camera_direction(point)
wait(0)
setGameKeyState(1, -255)
local mx, my, mz = getCharCoordinates(playerPed)
if is_sprint then setGameKeyState(16, 255) end
dist = getDistanceBetweenCoords2d(point.x, point.y, mx, my)
until dist < 0.6
end
function set_camera_direction(point)
local c_pos_x, c_pos_y, c_pos_z = getActiveCameraCoordinates()
local vect = {x = point.x - c_pos_x, y = point.y - c_pos_y}
local ax = math.atan2(vect.y, -vect.x)
setCameraPositionUnfixed(0.0, -ax)
end
Пробовал, но он отводит камеру и перестаёт рисовать меню:
function runToPoint(tox, toy)
local x, y, z = getCharCoordinates(PLAYER_PED)
local angle = getHeadingFromVector2d(tox - x, toy - y)
local xAngle = math.random(-50, 50)/100
setCameraPositionUnfixed(xAngle, math.rad(angle - 90))
stopRun = false
while getDistanceBetweenCoords2d(x, y, tox, toy) > 0.8 do
setGameKeyState(1, -255)
--setGameKeyState(16, 1)
wait(1)
x, y, z = getCharCoordinates(PLAYER_PED)
angle = getHeadingFromVector2d(tox - x, toy - y)
setCameraPositionUnfixed(xAngle, math.rad(angle - 90))
if stopRun then
stopRun = false
break
end
end
end
Подскажите как реализовать передвижение по заданным координатам (Подробно если можно).
Спасибо!