Ищу этот простой код.

Runbu73

Участник
Автор темы
123
5
Есть ли какой-нибудь Lua-скрипт для телепортации к ближайшему транспортному средству? Если да, пожалуйста, отправьте мне код.
 

axxturel

Активный
313
59
Есть ли какой-нибудь Lua-скрипт для телепортации к ближайшему транспортному средству? Если да, пожалуйста, отправьте мне код.
Open source
there is a workaround where you can get into a car without a license
 

Vintik

Через тернии к звёздам
Проверенный
1,526
1,011
К транспорту (рядом) или в транспорт (сесть)?
В любом случае, тебе нужно перебрать все транспортные средства для поиска ближайшего.
Поиск ближайшего транспортного средства:
local myX, myY, myZ = getCharCoordinates(PLAYER_PED) -- берём свои координаты
local distance = -1 -- переменная, которая будет хранить минимальное расстояние
local car_handle = -1 -- и переменная, которая будет хранить handle авто

local vehicles = getAllVehicles() -- массив всех машин
for _, car in ipairs(vehicles) do -- проходимся по нему в цикле
    local carX, carY, carZ = getCarCoordinates(car) -- берём координаты авто
    local new_distance = getDistanceBetweenCoords3d(myX, myY, myZ, carX, carY, carZ) -- расстояние до этого авто
    if distance == -1 or new_distance < distance then -- если ближе (или если это первое авто, тогда distance = -1)
        distance = new_distance -- записываем новое минимальное расстояние, которое мы нашли
        car_handle = car
    end
end
Дальше тебе надо к нему телепортировать своего персонажа.
Телепортация к нужному автомобилю:
local posX, posY, posZ = getCarCoordinates(car_handle) -- car_handle мы определили в коде выше
setCharCoordinates(PLAYER_PED, posX, posY, posZ) -- телепортируем игрока
И если тебе нужно именно сесть в автомобиль, то тогда надо сперва отправить серверу информацию об этом.
Садим персонажа на водительское место в авто:
local _, car_id = sampGetVehicleIdByCarHandle(car_handle) -- получаем SA-MP Vehicle ID
sampSendEnterVehicle(car_id, false) -- говорим серверу, что вы садимся в авто на место водителя (чтобы сервер не кикнул)
wait(2000)
warpCharIntoCar(PLAYER_PED, car_handle) -- садим персонажа в транспорт
Функция:
function PlaceOurPedInNearestCar()
    local myX, myY, myZ = getCharCoordinates(PLAYER_PED) -- берём свои координаты
    local distance = -1 -- переменная, которая будет хранить минимальное расстояние
    local car_handle = -1 -- и переменная, которая будет хранить handle авто

    local vehicles = getAllVehicles() -- массив всех машин
    for _, car in ipairs(vehicles) do -- проходимся по нему в цикле
        local carX, carY, carZ = getCarCoordinates(car) -- берём координаты авто
        local new_distance = getDistanceBetweenCoords3d(myX, myY, myZ, carX, carY, carZ) -- расстояние до этого авто
        if distance == -1 or new_distance < distance then -- если ближе (или если это первое авто, тогда distance = -1)
            distance = new_distance -- записываем новое минимальное расстояние, которое мы нашли
            car_handle = car
        end
    end

    if car_handle ~= -1 then -- если такая машина найдена (может быть такого, что машин вообще нет)
        local posX, posY, posZ = getCarCoordinates(car_handle) -- car_handle мы определили в коде выше
        setCharCoordinates(PLAYER_PED, posX, posY, posZ) -- телепортируем игрока

        local _, car_id = sampGetVehicleIdByCarHandle(car_handle) -- получаем SA-MP Vehicle ID
        sampSendEnterVehicle(car_id, false) -- говорим серверу, что вы садимся в авто на место водителя (чтобы сервер не кикнул)
        wait(2000)
        warpCharIntoCar(PLAYER_PED, car_handle) -- садим персонажа в транспорт
    end
end
Использование:
PlaceOurPedInNearestCar() -- если можно использовать задержки (wait)

lua_thread.create(PlaceOurPedInNearestCar) -- если нельзя их использовать (например, внутри callback)
 
Последнее редактирование:
  • Нравится
Реакции: MAHEKEH и MLycoris