Lua » Бег к координатам

Статус
В этой теме нельзя размещать новые ответы.

xdswd

Известный
Автор темы
365
251
Каким образом можно сделать бег персонажа к определенным координатам?
 
Решение
Отвратительная реализация у этого способа.
Lua:
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...

Cake_

Известный
Проверенный
263
313
Каким образом можно сделать бег персонажа к определенным координатам?
Lua:
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
code by @ShuffleBoy
 
  • Нравится
Реакции: ShuffleBoy и xdswd

Akionka

akionka.lua
Проверенный
742
500
 
  • Нравится
Реакции: xdswd

xdswd

Известный
Автор темы
365
251
34143

В «Move_Code» указывать координаты? Не понял немного.
 

Shamanije

Известный
Друг
961
920
Отвратительная реализация у этого способа.
Lua:
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
Использовать в потоке. Автор @Aniki. Если надо чтобы бежал с зажатым пробелом, убирай коммент с 9 строки.
 

xdswd

Известный
Автор темы
365
251
Отвратительная реализация у этого способа.
Lua:
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
Использовать в потоке. Автор @Aniki. Если надо чтобы бежал с зажатым пробелом, убирай коммент с 9 строки.
34188
Вот тут координаты?
 
  • Злость
Реакции: qdIbp
Статус
В этой теме нельзя размещать новые ответы.