Тормоз

HappyWindinkg

Новичок
Автор темы
19
0
Версия MoonLoader
.026-beta
Как сделать чтоб, например, когда бот въезжает на метку, то он сразу останавливался
 

SomaGnoma

Известный
442
152
Как сделать чтоб, например, когда бот въезжает на метку, то он сразу останавливался
Lua:
local res, x, y, z = getTargetBlipCoordinates() -- корды метки
local myx, myy, myz = getCharCoordinates(PLAYER_PED) -- мои коорды
if res then -- если метка есть на карте то
  if getDistanceBetweenCoords3d(x,y,z, myx, myy, myz) < 5 then -- если диста между мной и меткой меньше 5 тогда
  -- твой код остановки, например если бот зависит от перменной, то переменная = false
  end
end
 
  • Нравится
Реакции: HappyWindinkg

HappyWindinkg

Новичок
Автор темы
19
0
Lua:
local res, x, y, z = getTargetBlipCoordinates() -- корды метки
local myx, myy, myz = getCharCoordinates(PLAYER_PED) -- мои коорды
if res then -- если метка есть на карте то
  if getDistanceBetweenCoords3d(x,y,z, myx, myy, myz) < 5 then -- если диста между мной и меткой меньше 5 тогда
  -- твой код остановки, например если бот зависит от перменной, то переменная = false
  end
end
Прикол в том, что при остановки у транспорта сохраняется инерция, а мне нужно чтоб он резко останавливался
 

SomaGnoma

Известный
442
152

qdIbp

Автор темы
Проверенный
1,387
1,143
Прикол в том, что при остановки у транспорта сохраняется инерция, а мне нужно чтоб он резко останавливался
Lua:
require "lib.moonloader"
require 'lib.vkeys'
local ffi = require "ffi"

function main()

    while true do wait(0)
        if isKeyDown(VK_L) then
            if isCharSittingInAnyCar(PLAYER_PED) then 
                setVehicleMoveSpeed(storeCarCharIsInNoSave(PLAYER_PED), 0.0, 0.0, 0.0)
            end
        end
    end
end

function setVehicleMoveSpeed(handle, x, y, z)
    local ptr = getCarPointer(handle)
    if ptr ~= 0 then
        ffi.cast("void (__thiscall *)(uint32_t, float, float, float)", 0x441130)(ptr, x, y, z)
    end
end
 

SomaGnoma

Известный
442
152
Lua:
require "lib.moonloader"
require 'lib.vkeys'
local ffi = require "ffi"

function main()

    while true do wait(0)
        if isKeyDown(VK_L) then
            if isCharSittingInAnyCar(PLAYER_PED) then
                setVehicleMoveSpeed(storeCarCharIsInNoSave(PLAYER_PED), 0.0, 0.0, 0.0)
            end
        end
    end
end

function setVehicleMoveSpeed(handle, x, y, z)
    local ptr = getCarPointer(handle)
    if ptr ~= 0 then
        ffi.cast("void (__thiscall *)(uint32_t, float, float, float)", 0x441130)(ptr, x, y, z)
    end
end
мог бы просто функу кинуть, ему надо по достижении метки а не по нажатию...
 

qdIbp

Автор темы
Проверенный
1,387
1,143
В твоем случаи
Lua:
require "lib.moonloader"
require 'lib.vkeys'
local ffi = require "ffi"
local timer = 0
function main()
    
    while true do wait(0)

    end
end

function xz()
    local r, cX, cY, cZ = getTargetBlipCoordinates()
    local mX, mY, mZ = getCharCoordinates(PLAYER_PED)
    timer = os.time() + 3 -- таймер на 3 секунды
    if r then
        if getDistanceBetweenCoords3d(cX, cY, cZ, mX, mY, mZ ) < 5 and timer >= os.time() then --Постоит 3 секунды и дальше додумывай
            setVehicleMoveSpeed(storeCarCharIsInNoSave(PLAYER_PED), 0.0, 0.0, 0.0)
        end
    end   
end

function setVehicleMoveSpeed(handle, x, y, z)
    local ptr = getCarPointer(handle)
    if ptr ~= 0 then
        ffi.cast("void (__thiscall *)(uint32_t, float, float, float)", 0x441130)(ptr, x, y, z)
    end
end

Дальше додумывай куда засовывать функцию xz или то что в этой функции

мог бы просто функу кинуть, ему надо по достижении метки а не по нажатию...
Я как пример скинул