Ищу код простой рванки

TaoTan

Участник
Автор темы
63
3
Версия MoonLoader
.026-beta
Ищу код простой рванки, буду благодарен
 

SomaGnoma

Известный
442
152
Lua:
local ev = require("samp.events") -- подрубаешь библитеку SAMP.lua
local bebra = false -- булевая переменная отвечающая за работу супер мега рванки

-- в main()

sampRegisterChatCommand("superrvanka3000", function() -- регаешь кмд для врубания/вырубания
bebra = not bebra
end)

-- в любом месте кода

function ev.onSendVehicleSync(data)
        if bebra then -- если супер мега рванка работает то
            local id = getClosestPlayerId() -- получаешь ближ. айдишник функой
            local res, handle = sampGetCharHandleBySampPlayerId(id) -- получаешь хендл по айдишнику
            if res then -- если чел в зоне стрима то
                local X, Y, Z = getCharCoordinates(handle) -- получаешь коорды ближ.чела
                local pX,pY,pZ = getCharCoordinates(PLAYER_PED) -- получаешь свои коорды
                    data.position = {X, Y, Z} -- отправляешь синхру
                    data.moveSpeed.x = 1.0 -- скорость по X
                    data.moveSpeed.y = 1.0 -- скорость по Y
                    data.moveSpeed.z = 1.0 -- скорость по Z
                if isCharOnScreen(handle) then -- если  он на экране(для рендера)
                    myxcoord, myycoord = convert3DCoordsToScreen(X, Y, Z)  -- конвертируешь в 2д
                    cxcoord, cycoord = convert3DCoordsToScreen(pX, pY, pZ) -- конвертируешь в 2д
                    renderDrawLine(myxcoord, myycoord, cxcoord, cycoord, 2.00, -1) -- рендеришь палку
                printStringNow('Супер мега рванка рванит ['..id..'] ID' , 1500) -- выводишь текст на экран что ты такой необычный
                end
            end
        end
end

function getClosestPlayerId()
    local closestId = -1
    mydist = 50 -- минимальная дистанция
    local x, y, z = getCharCoordinates(PLAYER_PED)
    for i = 0, 999 do
        local streamed, pedID = sampGetCharHandleBySampPlayerId(i)
        if streamed and getCharHealth(pedID) > 0 and not sampIsPlayerPaused(pedID) then
            local xi, yi, zi = getCharCoordinates(pedID)
            local dist = getDistanceBetweenCoords3d(x, y, z, xi, yi, zi)
            if dist <= mydist then
                mydist = dist
                closestId = i
            end
        end
    end
    return closestId
end
Вот простенький пример, думаю все понятно..
 

TaoTan

Участник
Автор темы
63
3
Lua:
local ev = require("samp.events") -- подрубаешь библитеку SAMP.lua
local bebra = false -- булевая переменная отвечающая за работу супер мега рванки

-- в main()

sampRegisterChatCommand("superrvanka3000", function() -- регаешь кмд для врубания/вырубания
bebra = not bebra
end)

-- в любом месте кода

function ev.onSendVehicleSync(data)
        if bebra then -- если супер мега рванка работает то
            local id = getClosestPlayerId() -- получаешь ближ. айдишник функой
            local res, handle = sampGetCharHandleBySampPlayerId(id) -- получаешь хендл по айдишнику
            if res then -- если чел в зоне стрима то
                local X, Y, Z = getCharCoordinates(handle) -- получаешь коорды ближ.чела
                local pX,pY,pZ = getCharCoordinates(PLAYER_PED) -- получаешь свои коорды
                    data.position = {X, Y, Z} -- отправляешь синхру
                    data.moveSpeed.x = 1.0 -- скорость по X
                    data.moveSpeed.y = 1.0 -- скорость по Y
                    data.moveSpeed.z = 1.0 -- скорость по Z
                if isCharOnScreen(handle) then -- если  он на экране(для рендера)
                    myxcoord, myycoord = convert3DCoordsToScreen(X, Y, Z)  -- конвертируешь в 2д
                    cxcoord, cycoord = convert3DCoordsToScreen(pX, pY, pZ) -- конвертируешь в 2д
                    renderDrawLine(myxcoord, myycoord, cxcoord, cycoord, 2.00, -1) -- рендеришь палку
                printStringNow('Супер мега рванка рванит ['..id..'] ID' , 1500) -- выводишь текст на экран что ты такой необычный
                end
            end
        end
end

function getClosestPlayerId()
    local closestId = -1
    mydist = 50 -- минимальная дистанция
    local x, y, z = getCharCoordinates(PLAYER_PED)
    for i = 0, 999 do
        local streamed, pedID = sampGetCharHandleBySampPlayerId(i)
        if streamed and getCharHealth(pedID) > 0 and not sampIsPlayerPaused(pedID) then
            local xi, yi, zi = getCharCoordinates(pedID)
            local dist = getDistanceBetweenCoords3d(x, y, z, xi, yi, zi)
            if dist <= mydist then
                mydist = dist
                closestId = i
            end
        end
    end
    return closestId
end
Вот простенький пример, думаю все понятно..
Пасибки

Lua:
local ev = require("samp.events") -- подрубаешь библитеку SAMP.lua
local bebra = false -- булевая переменная отвечающая за работу супер мега рванки

-- в main()

sampRegisterChatCommand("superrvanka3000", function() -- регаешь кмд для врубания/вырубания
bebra = not bebra
end)

-- в любом месте кода

function ev.onSendVehicleSync(data)
        if bebra then -- если супер мега рванка работает то
            local id = getClosestPlayerId() -- получаешь ближ. айдишник функой
            local res, handle = sampGetCharHandleBySampPlayerId(id) -- получаешь хендл по айдишнику
            if res then -- если чел в зоне стрима то
                local X, Y, Z = getCharCoordinates(handle) -- получаешь коорды ближ.чела
                local pX,pY,pZ = getCharCoordinates(PLAYER_PED) -- получаешь свои коорды
                    data.position = {X, Y, Z} -- отправляешь синхру
                    data.moveSpeed.x = 1.0 -- скорость по X
                    data.moveSpeed.y = 1.0 -- скорость по Y
                    data.moveSpeed.z = 1.0 -- скорость по Z
                if isCharOnScreen(handle) then -- если  он на экране(для рендера)
                    myxcoord, myycoord = convert3DCoordsToScreen(X, Y, Z)  -- конвертируешь в 2д
                    cxcoord, cycoord = convert3DCoordsToScreen(pX, pY, pZ) -- конвертируешь в 2д
                    renderDrawLine(myxcoord, myycoord, cxcoord, cycoord, 2.00, -1) -- рендеришь палку
                printStringNow('Супер мега рванка рванит ['..id..'] ID' , 1500) -- выводишь текст на экран что ты такой необычный
                end
            end
        end
end

function getClosestPlayerId()
    local closestId = -1
    mydist = 50 -- минимальная дистанция
    local x, y, z = getCharCoordinates(PLAYER_PED)
    for i = 0, 999 do
        local streamed, pedID = sampGetCharHandleBySampPlayerId(i)
        if streamed and getCharHealth(pedID) > 0 and not sampIsPlayerPaused(pedID) then
            local xi, yi, zi = getCharCoordinates(pedID)
            local dist = getDistanceBetweenCoords3d(x, y, z, xi, yi, zi)
            if dist <= mydist then
                mydist = dist
                closestId = i
            end
        end
    end
    return closestId
end
Вот простенький пример, думаю все понятно..
Пытаюсь запихать настройки в команду, как это сделать? Я новичок в луа, сорри 😅
 
Последнее редактирование:

SomaGnoma

Известный
442
152