функция для самолётов

Dewize

Известный
Автор темы
447
92
Версия MoonLoader
.027.0-preview
Есть у меня крч вот такая функция, благодаря которой можно заставить тема бегать по координатам x,y.


Код:
function runToPoint(tox, toy)
    lua_thread.create(function()
        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)
            
            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)   
end


Может кто то её переделать под самолёты и добавить ещё координату z. Буду очень сильно благодарен
 
  • Ха-ха
Реакции: YarikVL

YarikVL

Известный
Проверенный
4,750
1,815
Есть у меня крч вот такая функция,
У всех она есть, размещена в полезных сигаретах и функциях на бх
Может кто то её переделать под самолёты и добавить ещё координату z.

Если не устраивает - тебе сюда: https://www.blast.hk/threads/161825/
 

wojciech?

Известный
Проверенный
352
236
Последнее редактирование:
  • Нравится
Реакции: YarikVL

Dewize

Известный
Автор темы
447
92
Угу, а как сделать так, чтоб когда он прилетел на одну точку, он не кружился около него, а полетел до другой точки?

Я тип сделал вот так

local veh = storeCarCharIsInNoSave(PLAYER_PED)
planeGotoCoords(veh, 0, 0, 50, 50, 100)
planeGotoCoords(veh, 1446.6956787109, -2499.0393066406, 54.890331268311, 30, 30) -- 04D2
он летит на 1446.6956787109, -2499.0393066406, 54.890331268311 и просто кружится
 

wojciech?

Известный
Проверенный
352
236
создай таблицу координат куда нужно лететь, в цикле проверяй долетел ли ты до точки и если да, то включай следующую
что-то вроде этого
Lua:
local plane_handle = storeCarCharIsInNoSave(PLAYER_PED)
local plane_points = {
    { 0, 0, 50, 50, 100 }, -- x, y, z, z1, z2
    { 1446.6956787109, -2499.0393066406, 54.890331268311, 30, 30 }
}

for index, point in ipairs(plane_points) do
    planeGotoCoords(plane_handle, table.unpack(point))
    while getDistanceBetweenCoords3d(getCharCoordinates(PLAYER_PED), point[1], point[2], point[3]) > 10 do wait(0) end
end
 
Последнее редактирование:

Dewize

Известный
Автор темы
447
92
[ML] (error) piloti.lua: opcode '03C0' call caused an unhandled exception
stack traceback:
[C]: in function 'storeCarCharIsInNoSave'
H:\Edik\SAMP\Âñ¸ äëÿ ñáîðêè\sborka\moonloader\piloti.lua:7: in main chunk

создай таблицу координат куда нужно лететь, в цикле проверяй долетел ли ты до точки и если да, то включай следующую
что-то вроде этого
Lua:
local plane_handle = storeCarCharIsInNoSave(PLAYER_PED)
local plane_points = {
    { 0, 0, 50, 50, 100 }, -- x, y, z, z1, z2
    { 1446.6956787109, -2499.0393066406, 54.890331268311, 30, 30 }
}

for index, point in ipairs(plane_points) do
    planeGotoCoords(plane_handle, table.unpack(point))
    while getDistanceBetweenCoords3d(getCharCoordinates(PLAYER_PED), point[1], point[2], point[3]) > 10 do wait(0) end
end
+ ничего не поменялось он всё так-же кружиться
 

wojciech?

Известный
Проверенный
352
236
+ ничего не поменялось он всё так-же кружиться
это просто пример того, как оно должно быть. у меня летал по этим двум точкам и в конце начинал крутится (ибо дальше лететь некуда)