Декомпиляция скриптов

FYP

Известный
Автор темы
Администратор
1,770
6,011
GVWUrNJ.png
eNo5cSj.png


Общая тема для просьб о помощи в декомпиляциии и декриптованиии скриптов, плагинов и приложений.
Запрещено просить о декомпиляции/декриптовании софта, выставленного на продажу на нашем сайте.

Рекомендации:
  1. Сначала воспользуйтесь поиском по теме и по форуму, возможно его в декомпилированном виде или с исходным кодом уже выкладывали у нас на сайте.
  2. Попытайтесь декомпилировать самостоятельно: CLEO - декриптор, декомпилятор; AHK - распаковщик .exe; LuaJIT - декомпилятор1, декомпилятор2.
  3. Просить о декомпиляции .asi, .sf, .dll, .exe почти бесполезно, часто такие просьбы остаются без ответа и вряд ли вам это что-то даст. Можете попробовать сами, IDA Pro или Ghidra к вашим услугам.
    • Это не касается .exe, которые являются скомпилированными AutoHotKey-скриптами (.ahk).
  4. Добавьте название скрипта к сообщению, если оно известно - это поможет другим пользователям найти его с помощью поиска.
  5. Сообщения по типу "спасибо, помог" по правилам форума считаются флудом и скорее всего будут удалены. Если вам помогли, вы можете нажать кнопку Мне нравится под ответом - это даст понять, что ответ верный.
 
Последнее редактирование:

ToGoRo

Известный
80
6
Give Source Code.
 

Вложения

  • OP-HaX.cs
    106.2 KB · Просмотры: 4
Последнее редактирование:

™ ChipFamily

По ту сторону надежды.
5,143
1,992
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
script_name("mdx scripts | AUTO LOGIN")
script_author("madrasso")
script_description("auto login for diamond rp")
script_version("1.0")
script_properties("work-in-pause")

slot0 = require("lib.imgui")
slot3 = require("lib.encoding")
slot4 = {
    "Emerald",
    "Sapphire",
    "Onyx",
    "Amber",
    "Quartz",
    "Radiant",
    "Trilliant",
    "Crystal"
}
slot3.default = "CP1251"
u8 = slot3.UTF8
cp1251 = slot3.CP1251
slot6 = slot0.ImBool(false)
slot7 = slot0.ImBuffer("", 256)
slot8 = slot0.ImBool(require("inicfg").load({
    settings = {
        autolog = false
    },
    Emerald = {},
    Radiant = {},
    Trilliant = {},
    Crystal = {},
    Sapphire = {},
    Onyx = {},
    Amber = {},
    Quartz = {}
}, "[MDX] AUTO LOGIN").settings.autolog)

function main()
    script_settings()

    while not isSampfuncsLoaded() or not isSampLoaded() do
        wait(0)
    end

    while not isSampAvailable() do
        wait(0)
    end

    apply_style()
    sampRegisterChatCommand("alog", status)
    print(uv0.Emerald[nick])

    while true do
        wait(0)

        uv1.Process = uv2.v
    end
end

function status()
    slot0, slot3 = sampGetPlayerIdByCharHandle(PLAYER_PED)

    for slot6 = 1, #uv0, 1 do
        if sampGetCurrentServerName():find(uv0[slot6]) then
            if uv1[uv0[slot6]][sampGetPlayerNickname(slot1)] ~= nil then
                uv2.v = tostring(uv1[uv0[slot6]][sampGetPlayerNickname(slot1)])
            end

            break
        end
    end

    uv3.v = not uv3.v
end

require("lib.samp.events").onShowDialog = function (slot0, slot1, slot2, slot3, slot4, slot5)
    if slot5:find("Чтобы войти введите пароль") and uv0.v then
        slot6, slot9 = sampGetPlayerIdByCharHandle(PLAYER_PED)

        for slot12 = 1, #uv1, 1 do
            if sampGetCurrentServerName():find(uv1[slot12]) then
                if uv2[uv1[slot12]][sampGetPlayerNickname(slot7)] then
                    lua_thread.create(function ()
                        wait(50)
                        sampSetCurrentDialogEditboxText(uv0[uv1][uv2])
                        sampCloseCurrentDialogWithButton(1)
                    end)
                end
            end
        end
    end
end

function slot0.OnDrawFrame()
    if uv0.v then
        slot0, slot1 = getScreenResolution()
        slot2 = uv1.ImVec2(113, 0)

        uv1.SetNextWindowPos(uv1.ImVec2(slot0 / 2, slot1 / 2), uv1.Cond.FirstUseEver, uv1.ImVec2(0.5, 0.5))
        uv1.SetNextWindowSize(uv1.ImVec2(345, 135), uv1.Cond.FirstUseEver)
        uv1.Begin(u8("mdx scripts | autologin"), uv0, uv1.WindowFlags.NoResize)
        uv1.BeginChild("##autologin", uv1.ImVec2(315, 52), true)

        if uv1.Checkbox(u8("Статус##2"), uv2) then
            uv3.settings.autolog = uv2.v
        end

        uv1.SameLine()
        uv1.PushItemWidth(150)
        uv1.InputText(u8("Пароль"), uv4)
        uv1.PopItemWidth()
        uv1.EndChild()
        uv1.SetCursorPosX(50)

        if uv1.Button(u8("Сохранить"), slot2) then
            if uv4.v ~= "" and uv4.v ~= nil then
                slot3, slot6 = sampGetPlayerIdByCharHandle(PLAYER_PED)

                for slot9 = 1, 8, 1 do
                    if sampGetCurrentServerName():find(uv5[slot9]) then
                        uv3[uv5[slot9]][sampGetPlayerNickname(slot4)] = tostring(uv4.v)

                        sampAddChatMessage("[MDX]:    {FFFFFF}Аккаунт ' {" .. scr.settings.mainColor .. "}" .. sampGetPlayerNickname(slot4) .. "{FFFFFF} ' был успешно сохранён, пароль: '{" .. scr.settings.mainColor .. "}" .. tostring(u8:decode(uv4.v)) .. "{ffffff}'", scr.settings.mainColorX)
                        uv6.save(uv3, "[MDX] AUTO LOGIN")

                        break
                    end
                end
            else
                sampAddChatMessage("[MDX]:    {FFFFFF}Введите корректный пароль.", scr.settings.mainColorX)
            end
        end

        uv1.SameLine()

        if uv1.Button(u8("Удалить"), slot2) then
            slot3, slot6 = sampGetPlayerIdByCharHandle(PLAYER_PED)
            slot5 = sampGetPlayerNickname(slot4)

            for slot9 = 1, #uv5, 1 do
                if sampGetCurrentServerName():find(uv5[slot9]) then
                    if uv3[uv5[slot9]][slot5] then
                        uv3[slot10][slot5] = nil

                        sampAddChatMessage("[MDX]:    {FFFFFF}Аккаунт ' {" .. scr.settings.mainColor .. "}" .. slot5 .. "{FFFFFF} ' был успешно удалён", scr.settings.mainColorX)
                        uv6.save(uv3, "[MDX] AUTO LOGIN")

                        break
                    end

                    if uv3[slot10][slot5] == nil then
                        sampAddChatMessage("[MDX]:    {FFFFFF}Аккаунт ' {" .. scr.settings.mainColor .. "}" .. slot5 .. "{FFFFFF} ' не обнаружен.", scr.settings.mainColorX)
                    end

                    break
                end
            end
        end

        uv1.End()
    end
end

function script_settings()
    scr = {
        settings = {
            mainColorX = "0x4296fa",
            mainColor = "4296fa",
            imgui = {
                mainColor = uv0.ImVec4(0, 0.46, 0.65, 1)
            }
        }
    }
end

function apply_style()
    uv0.SwitchContext()

    slot0 = uv0.GetStyle()
    slot0.WindowPadding = slot4(15, 15)
    slot0.WindowRounding = 5
    slot0.FramePadding = slot4(5, 5)
    slot0.FrameRounding = 4
    slot0.ItemSpacing = slot4(12, 8)
    slot0.ItemInnerSpacing = slot4(8, 6)
    slot0.IndentSpacing = 25
    slot0.ScrollbarSize = 15
    slot0.ScrollbarRounding = 9
    slot0.GrabMinSize = 5
    slot0.GrabRounding = 3
    slot0.Colors[uv0.Col.Text] = slot3(1, 1, 1, 1)
    slot0.Colors[uv0.Col.TextDisabled] = slot3(0.5, 0.5, 0.5, 1)
    slot0.Colors[uv0.Col.WindowBg] = slot3(0.06, 0.06, 0.06, 0.94)
    slot0.Colors[uv0.Col.ChildWindowBg] = slot3(1, 1, 1, 0)
    slot0.Colors[uv0.Col.PopupBg] = slot3(0.08, 0.08, 0.08, 0.94)
    slot0.Colors[uv0.Col.ComboBg] = slot0.Colors[uv0.Col.PopupBg]
    slot0.Colors[uv0.Col.Border] = slot3(0.43, 0.43, 0.5, 0.5)
    slot0.Colors[uv0.Col.BorderShadow] = slot3(0, 0, 0, 0)
    slot0.Colors[uv0.Col.FrameBg] = slot3(0.16, 0.29, 0.48, 0.54)
    slot0.Colors[uv0.Col.FrameBgHovered] = slot3(0.26, 0.59, 0.98, 0.4)
    slot0.Colors[uv0.Col.FrameBgActive] = slot3(0.26, 0.59, 0.98, 0.67)
    slot0.Colors[uv0.Col.TitleBg] = slot3(0.04, 0.04, 0.04, 1)
    slot0.Colors[uv0.Col.TitleBgActive] = slot3(0.16, 0.29, 0.48, 1)
    slot0.Colors[uv0.Col.TitleBgCollapsed] = slot3(0, 0, 0, 0.51)
    slot0.Colors[uv0.Col.MenuBarBg] = slot3(0.14, 0.14, 0.14, 1)
    slot0.Colors[uv0.Col.ScrollbarBg] = slot3(0.02, 0.02, 0.02, 0.53)
    slot0.Colors[uv0.Col.ScrollbarGrab] = slot3(0.31, 0.31, 0.31, 1)
    slot0.Colors[uv0.Col.ScrollbarGrabHovered] = slot3(0.41, 0.41, 0.41, 1)
    slot0.Colors[uv0.Col.ScrollbarGrabActive] = slot3(0.51, 0.51, 0.51, 1)
    slot0.Colors[uv0.Col.CheckMark] = slot3(0.26, 0.59, 0.98, 1)
    slot0.Colors[uv0.Col.SliderGrab] = slot3(0.24, 0.52, 0.88, 1)
    slot0.Colors[uv0.Col.SliderGrabActive] = slot3(0.26, 0.59, 0.98, 1)
    slot0.Colors[uv0.Col.Button] = slot3(0.26, 0.59, 0.98, 0.4)
    slot0.Colors[uv0.Col.ButtonHovered] = slot3(0.26, 0.59, 0.98, 1)
    slot0.Colors[uv0.Col.ButtonActive] = slot3(0.06, 0.53, 0.98, 1)
    slot0.Colors[uv0.Col.Header] = slot3(0.26, 0.59, 0.98, 0.31)
    slot0.Colors[uv0.Col.HeaderHovered] = slot3(0.26, 0.59, 0.98, 0.8)
    slot0.Colors[uv0.Col.HeaderActive] = slot3(0.26, 0.59, 0.98, 1)
    slot0.Colors[uv0.Col.Separator] = slot0.Colors[uv0.Col.Border]
    slot0.Colors[uv0.Col.SeparatorHovered] = slot3(0.26, 0.59, 0.98, 0.78)
    slot0.Colors[uv0.Col.SeparatorActive] = slot3(0.26, 0.59, 0.98, 1)
    slot0.Colors[uv0.Col.ResizeGrip] = slot3(0.26, 0.59, 0.98, 0.25)
    slot0.Colors[uv0.Col.ResizeGripHovered] = slot3(0.26, 0.59, 0.98, 0.67)
    slot0.Colors[uv0.Col.ResizeGripActive] = slot3(0.26, 0.59, 0.98, 0.95)
    slot0.Colors[uv0.Col.CloseButton] = slot3(0.41, 0.41, 0.41, 0.5)
    slot0.Colors[uv0.Col.CloseButtonHovered] = slot3(0.98, 0.39, 0.36, 1)
    slot0.Colors[uv0.Col.CloseButtonActive] = slot3(0.98, 0.39, 0.36, 1)
    slot0.Colors[uv0.Col.PlotLines] = slot3(0.61, 0.61, 0.61, 1)
    slot0.Colors[uv0.Col.PlotLinesHovered] = slot3(1, 0.43, 0.35, 1)
    slot0.Colors[uv0.Col.PlotHistogram] = slot3(0.9, 0.7, 0, 1)
    slot0.Colors[uv0.Col.PlotHistogramHovered] = slot3(1, 0.6, 0, 1)
    slot0.Colors[uv0.Col.TextSelectedBg] = slot3(0.26, 0.59, 0.98, 0.35)
    slot0.Colors[uv0.Col.ModalWindowDarkening] = slot3(0.8, 0.8, 0.8, 0.35)
end
 

Useful_User

Потрачен
66
27
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
@™ ChipFamily

Хотел бы сурс для изучения, буду благодарен.
 

Вложения

  • PizzaBot.luac
    9.4 KB · Просмотры: 5

™ ChipFamily

По ту сторону надежды.
5,143
1,992
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
@™ ChipFamily

Хотел бы сурс для изучения, буду благодарен.
Lua:
script_name("PizzaBot")
script_authors("by_k0lenval")
script_version("0.2b")
script_dependencies()

slot0 = require("vkeys")
slot1 = require("memory")
slot2 = require("lib.samp.events")
slot3, slot4, slot5, slot6, slot7 = nil

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then
        return
    end

    while not isSampAvailable() do
        wait(0)
    end

    sampAddChatMessage(string.format("{00AAFF}%s {FFFF00}успешно загружен. Команда активации - {FF4400}/pizb", thisScript().name), 16776960)
    sampRegisterChatCommand("pizb", cmd_bot)

    while true do
        wait(0)

        if uv0 and isPlayerPlaying(playerHandle) and sampGetPlayerIdByCharHandle(PLAYER_PED) then
            if uv1 == -1 then
                if isCharInAnyCar(PLAYER_PED) == false then
                    BeginToPoint(1751, 2216, 10.84, 0.6, true, false, true, false)

                    uv2 = 0
                else
                    setGameKeyState(15, 255)
                    wait(200)
                end
            end

            if uv1 == 0 and uv2 ~= 0 and isCharInAnyCar(PLAYER_PED) then
                uv1 = InCarGo(uv2, uv1)
            end

            if uv1 == 1 and isCharInAnyCar(PLAYER_PED) == false then
                slot0 = 0
                slot1 = 0
                slot2 = 0

                if uv2 == 2030 then
                    slot2 = 10.35
                    slot1 = 987.18
                    slot0 = 2031.56
                end

                if uv2 == 2600 then
                    slot2 = 10.35
                    slot1 = 1058.92
                    slot0 = 2599.83
                end

                if uv2 == 2320 then
                    slot2 = 10.35
                    slot1 = 2420.32
                    slot0 = 2326.42
                end

                if uv2 == 2345 then
                    slot2 = 10.35
                    slot1 = 2406.56
                    slot0 = 2350.04
                end

                if uv2 == 2534 then
                    slot2 = 10.82
                    slot1 = 2135.69
                    slot0 = 2536.94
                end

                if uv2 == -53 then
                    slot2 = 18.9
                    slot1 = 1207.61
                    slot0 = -61.68
                end

                if uv2 == -85 then
                    slot2 = 3.12
                    slot1 = 102.05
                    slot0 = -86.58
                end

                if uv2 == -86 then
                    slot2 = 1.43
                    slot1 = -311.71
                    slot0 = -103.62
                end

                if slot0 ~= 0 then
                    BeginToPoint(slot0, slot1, slot2, 0.8, true, false, false, true)
                end
            end

            if uv1 == 2 and isCharInAnyCar(PLAYER_PED) then
                uv1 = InCarGo(uv2, uv1)
            end
        end
    end
end

function InCarGo(slot0, slot1)
    slot3 = {}

    if io.open("moonloader\\PathPizBot\\" .. slot0 .. ".txt", "r+") == nil then
        return slot1
    end

    if slot2 then
        for slot7 in slot2:lines() do
            table.insert(slot3, slot7)
        end
    end

    if slot1 == 2 then
        slot3 = ReverseTable(slot3)
    end

    if slot3 then
        for slot7, slot8 in pairs(slot3) do
            uv0 = storeCarCharIsInNoSave(PLAYER_PED)
            slot10 = os.time()

            if uv1 == false then
                break
            end

            slot11, slot12, slot13, slot14 = slot8:match("{(.*)}:{(.*)}:{(.*)}:{(.*)}")
        end

        if slot1 == 2 then
            slot1 = -1
        elseif slot1 == 0 then
            slot1 = 1
        end
    end

    return slot1
end

function EnterCarExist()
    while true do
        wait(0)

        if uv0 and isCharInAnyCar(PLAYER_PED) == false and (uv1 == 0 or uv1 == 2) then
            wait(100)

            BoolFind, Car, Lock = FuncFindCar(uv2)

            if BoolFind then
                slot4, slot5, slot6 = getCarCoordinates(Car)

                BeginToPoint(slot0, slot1, slot2, 2, true, true, false, false, Lock)
            else
                print("Не найден байк")
            end

            if isCharInAnyCar(PLAYER_PED) and doesVehicleExist(Car) and getCarDoorLockStatus(Car) == 0 then
                wait(1000)
                sampSendChat("/jlock")
                setCharCanBeKnockedOffBike(PLAYER_PED, true)
            end
        end
    end
end

function ReverseTable(slot0)
    slot1 = {
        [#slot0 + 1 - slot6] = slot7
    }

    for slot6, slot7 in ipairs(slot0) do
    end

    return slot1
end

function turning_mechanism(slot0, slot1, slot2, slot3, slot4)
    if getHeadingFromVector2d(math.deg(math.sin(slot5)), math.deg(math.cos(math.rad(getHeadingFromVector2d(slot0 - slot2, slot1 - slot3) + math.abs(getCarHeading(slot4) - 360))))) > 180 and slot6 < 355 then
        setGameKeyState(0, -128)
    elseif slot6 > 5 and slot6 <= 180 then
        setGameKeyState(0, 128)
    else
        setGameKeyState(0, 0)
    end
end

function press_gas()
    writeMemory(12006520, 1, 255, false)
end

function press_brake()
    writeMemory(12006500, 1, 255, false)
end

function FuncFindCar(slot0)
    slot3 = false
    slot4 = 0
    slot5 = false

    for slot9, slot10 in pairs(slot1) do
        if doesVehicleExist(slot10) and getNameOfVehicleModel(getCarModel(slot10)) == "PIZZABO" and getDriverOfCar(slot10) == -1 and getCarDoorLockStatus(slot10) == 0 or doesVehicleExist(slot10) and getNameOfVehicleModel(getCarModel(slot10)) == "PIZZABO" and getDriverOfCar(slot10) == -1 and slot0 == slot10 then
            slot18, slot19, slot20 = getCharCoordinates(PLAYER_PED)
            slot21, slot22, slot23 = getCarCoordinates(slot10)

            if ({})[1] == nil then
                slot2 = {
                    slot10,
                    getDistanceBetweenCoords3d(slot11, slot12, slot13, slot14, slot15, slot16)
                }
            elseif slot17 < slot2[2] then
                slot2 = {
                    slot10,
                    slot17
                }
            end
        end
    end

    if slot2[1] ~= nil and slot2[2] < 80 then
        if slot0 == slot2[1] then
            slot5 = true
        end

        slot3 = true
    end

    return slot3, slot2[1], slot5
end

function BeginToPoint(slot0, slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8)
    slot9 = os.time()
    slot10, slot11, slot19 = getCharCoordinates(PLAYER_PED)
    slot13 = getDistanceBetweenCoords3d(slot0, slot1, slot2, slot10, slot11, slot12)
    slot15 = math.ceil(getHeadingFromVector2d(slot0 - slot10, slot1 - slot11))

    for slot22 = 0, 180, 1 do
        slot18 = 0 + 1
        slot17 = math.ceil(getCharHeading(PLAYER_PED)) - 1

        if math.ceil(getCharHeading(PLAYER_PED)) + 1 > 360 then
            slot16 = 0
        end

        if slot17 < 0 then
            slot17 = 360
        end

        if slot16 == slot15 or slot17 == slot15 then
            break
        end
    end

    if slot16 == slot15 then
        for slot22 = 0, slot18, math.random(3, 5) do
            if slot7 and slot3 < slot13 then
                setGameKeyState(1, -255)
            elseif slot7 == false then
                setGameKeyState(1, -255)
            end

            wait(0)

            if uv0 then
                setCameraPositionUnfixed(-0.3, math.rad(slot14 + slot22 + 270))
            end
        end
    else
        for slot22 = 0, slot18, math.random(3, 5) do
            if slot7 and slot3 < slot13 then
                setGameKeyState(1, -255)
            elseif slot7 == false then
                setGameKeyState(1, -255)
            end

            wait(0)

            if uv0 then
                setCameraPositionUnfixed(-0.3, math.rad(slot14 - slot22 + 270))
            end
        end
    end

    wait(0)

    slot19 = true
    slot20 = true
    slot21 = true
    slot22 = true
    slot23, slot24, slot25 = getCharCoordinates(PLAYER_PED)
    slot26 = math.rad(getHeadingFromVector2d(slot0 - slot23, slot1 - slot24))
    slot13 = getDistanceBetweenCoords3d(slot0, slot1, slot2, slot23, slot24, slot2)
end

function ClearLine(slot0)
    slot1, slot2, slot3 = getCharCoordinates(PLAYER_PED)

    for slot7 = 0.3, 2, 0.2 do
        if isLineOfSightClear(slot9, slot10, slot3 - 0.5, slot11, slot12, slot3 - 0.5, true, true, true, true, false) and isLineOfSightClear(slot14, slot15, slot3 - 0.5, slot16, slot17, slot3 - 0.5, true, true, true, true, false) and isLineOfSightClear(slot1, slot2, slot3 - 0.5, slot1 + 2 * math.cos(slot0 + 1.37 - slot7), slot2 + 2 * math.sin(slot0 + 1.37 - slot7), slot3 - 0.5, true, true, true, true, false) then
            setCameraPositionUnfixed(-0.3, math.rad(getHeadingFromVector2d(slot19 - slot1, slot20 - slot2)) + 0.1 + 4.7)

            break
        end

        if isLineOfSightClear(slot22, slot23, slot3 - 0.5, slot24, slot25, slot3 - 0.5, true, true, true, true, false) and isLineOfSightClear(slot27, slot28, slot3 - 0.5, slot29, slot30, slot3 - 0.5, true, true, true, true, false) and isLineOfSightClear(slot1, slot2, slot3 - 0.5, slot1 + 2 * math.cos(slot0 + 1.37 + slot7), slot2 + 2 * math.sin(slot0 + 1.37 + slot7), slot3 - 0.5, true, true, true, true, false) then
            setCameraPositionUnfixed(-0.3, math.rad(getHeadingFromVector2d(slot32 - slot1, slot33 - slot2)) + 0.1 + 4.7)

            break
        end
    end
end

function cmd_bot(slot0)
    uv0 = not uv0

    if uv0 then
        lua_thread.create(EnterCarExist)

        uv1 = -1
        uv2 = -1
        uv3 = 0
        _, uv4 = sampGetPlayerIdByCharHandle(PLAYER_PED)

        writeMemory(7634870, 1, 1, 1)
        writeMemory(7635034, 1, 1, 1)
        uv5.fill(7623723, 144, 8)
        uv5.fill(5499528, 144, 6)
        sampAddChatMessage(string.format("[%s %s %s]:{FF4040} Активирован", thisScript().name, thisScript().version, thisScript().authors[1]), 4259648)
    else
        showCursor(false, false)
        writeMemory(7634870, 1, 0, 0)
        writeMemory(7635034, 1, 0, 0)
        uv5.hex2bin("5051FF1500838500", 7623723, 8)
        uv5.hex2bin("0F847B010000", 5499528, 6)
        sampAddChatMessage(string.format("[%s]: {3398fe}Деактивирован", thisScript().name), 16728128)
    end
end

function slot2.onSetPlayerAttachedObject(slot0, slot1, slot2, slot3)
    if uv0 and slot0 == uv1 then
        if uv2 == -1 and slot3.modelId == 2814 then
            uv2 = 0
        end

        if uv2 == 1 and slot3.modelId == 0 and isCharInAnyCar(PLAYER_PED) == false then
            uv2 = 2
        end
    end
end

function slot2.onSetCheckpoint(slot0, slot1)
    if uv0 and uv1 == 0 and slot1 == 3 then
        uv2 = math.floor(slot0.x)
    end
end

function slot2.onShowDialog(slot0, slot1, slot2, slot3, slot4, slot5)
    if uv0 and slot0 == 0 and slot5:find("Вы успешно положили пиццу") then
        return false
    end
end

function slot2.onCreateObject(slot0, slot1)
    if uv0 then
        return false
    end
end

function slot2.onShowTextDraw(slot0, slot1)
    if uv0 then
        if slot1.text == "eng" and slot1.boxColor == -14803284 then
            sampSendChat("/engine")
        end

        if slot1.text:find("icon2") then
            sampSendClickTextdraw(slot0)
        end
    end
end

function slot2.onApplyPlayerAnimation(slot0, slot1, slot2, slot3, slot4, slot5, slot6, slot7)
    if uv0 and slot0 == uv1 then
        return false
    end
end
 

Carlos777

Потрачен
227
219
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сурс плз
 

Вложения

  • airbreak.luac
    3.5 KB · Просмотры: 6

™ ChipFamily

По ту сторону надежды.
5,143
1,992
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
slot0 = require("vkeys")
slot2 = require("memory")
slot3 = false
slot4 = {}
slot5 = 0.3

function main()
    repeat
        wait(0)
    until isSampAvailable()

    sampRegisterChatCommand("air", air)

    while true do
        wait(0)

        if testCheat("AIR") then
            uv0 = not uv0

            if uv0 then
                uv1[1], uv1[2], uv1[3] = getCharCoordinates(PLAYER_PED)

                printStringNow("AirBreak ~g~ACTIVATED", 1000)
            else
                printStringNow("AirBreak ~r~DEACTIVATED", 1000)
            end
        end

        if uv0 then
            slot0, slot1, slot2 = getActiveCameraCoordinates()
            slot3, slot4, slot5 = getActiveCameraPointAt()
            slot6 = getHeadingFromVector2d(slot3 - slot0, slot4 - slot1)
            slot7 = getCharHeading(playerPed)

            setCharCoordinates(playerPed, uv1[1], uv1[2], uv1[3])

            if not sampIsChatInputActive() then
                if isKeyDown(uv3.VK_W) then
                    uv1[1] = uv1[1] + uv4 * math.sin(-math.rad(slot6))
                    uv1[2] = uv1[2] + uv4 * math.cos(-math.rad(slot6))

                    setCharHeading(playerPed, slot6)

                    if uv2.getfloat(12045136) >= 90 then
                        uv4 = uv4 + 0.3

                        if uv4 >= 1 then
                            uv4 = 0.3
                        end
                    elseif slot8 >= 36 then
                        uv4 = uv4 + 0.5

                        if uv4 >= 1.5 then
                            uv4 = 0.5
                        end
                    elseif slot8 <= 35 then
                        uv4 = uv4 + 0.7

                        if uv4 >= 2 then
                            uv4 = 0.7
                        end
                    end
                elseif isKeyDown(uv3.VK_S) then
                    uv1[1] = uv1[1] - uv4 * math.sin(-math.rad(slot7))
                    uv1[2] = uv1[2] - uv4 * math.cos(-math.rad(slot7))

                    if slot8 >= 90 then
                        uv4 = uv4 + 0.3

                        if uv4 >= 1 then
                            uv4 = 0.3
                        end
                    elseif slot8 >= 36 then
                        uv4 = uv4 + 0.5

                        if uv4 >= 1.5 then
                            uv4 = 0.5
                        end
                    elseif slot8 <= 35 then
                        uv4 = uv4 + 0.7

                        if uv4 >= 2 then
                            uv4 = 0.7
                        end
                    end
                end

                if isKeyDown(uv3.VK_A) then
                    uv1[1] = uv1[1] - uv4 * math.sin(-math.rad(slot7 - 90))
                    uv1[2] = uv1[2] - uv4 * math.cos(-math.rad(slot7 - 90))

                    if slot8 >= 90 then
                        if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                            uv4 = uv4 + 0.3
                        end

                        if uv4 >= 1 then
                            uv4 = 0.3
                        end
                    elseif slot8 >= 36 then
                        if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                            uv4 = uv4 + 0.5
                        end

                        if uv4 >= 1.5 then
                            uv4 = 0.5
                        end
                    elseif slot8 <= 35 then
                        if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                            uv4 = uv4 + 0.7
                        end

                        if uv4 >= 2 then
                            uv4 = 0.7
                        end
                    end
                elseif isKeyDown(uv3.VK_D) then
                    uv1[1] = uv1[1] - uv4 * math.sin(-math.rad(slot7 + 90))
                    uv1[2] = uv1[2] - uv4 * math.cos(-math.rad(slot7 + 90))

                    if slot8 >= 90 then
                        if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                            uv4 = uv4 + 0.3
                        end

                        if uv4 >= 1 then
                            uv4 = 0.3
                        end
                    elseif slot8 >= 36 then
                        if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                            uv4 = uv4 + 0.5
                        end

                        if uv4 >= 1.5 then
                            uv4 = 0.5
                        end
                    elseif slot8 <= 35 then
                        if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                            uv4 = uv4 + 0.7
                        end

                        if uv4 >= 2 then
                            uv4 = 0.7
                        end
                    end
                end

                if isKeyDown(uv3.VK_UP) then
                    uv1[3] = uv1[3] + uv4 / 2

                    if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) and not isKeyDown(uv3.VK_A) and not isKeyDown(uv3.VK_D) then
                        if slot8 >= 90 then
                            uv4 = uv4 + 0.3

                            if uv4 >= 1 then
                                uv4 = 0.3
                            end
                        elseif slot8 >= 36 then
                            if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                                uv4 = uv4 + 0.5
                            end

                            if uv4 >= 1.5 then
                                uv4 = 0.5
                            end
                        elseif slot8 <= 35 then
                            if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) then
                                uv4 = uv4 + 0.7
                            end

                            if uv4 >= 2 then
                                uv4 = 0.7
                            end
                        end
                    end
                end

                if isKeyDown(uv3.VK_DOWN) and uv1[3] > -95 then
                    uv1[3] = uv1[3] - uv4 / 2

                    if not isKeyDown(uv3.VK_W) and not isKeyDown(uv3.VK_S) and not isKeyDown(uv3.VK_A) and not isKeyDown(uv3.VK_D) then
                        if slot8 >= 90 then
                            uv4 = uv4 + 0.3

                            if uv4 >= 1 then
                                uv4 = 0.3
                            end
                        elseif slot8 >= 36 then
                            uv4 = uv4 + 0.5

                            if uv4 >= 1.5 then
                                uv4 = 0.5
                            end
                        elseif slot8 <= 35 then
                            uv4 = uv4 + 0.7

                            if uv4 >= 2 then
                                uv4 = 0.7
                            end
                        end
                    end
                end
            end

            slot8, slot9 = sampGetPlayerIdByCharHandle(PLAYER_PED)

            if slot8 then
                sampForceOnfootSync()
            end
        end
    end
end

function air()
    uv0 = not uv0

    if uv0 then
        uv1[1], uv1[2], uv1[3] = getCharCoordinates(PLAYER_PED)

        printStringNow("AirBreak ~g~ACTIVATED", 1000)
    else
        printStringNow("AirBreak ~r~DEACTIVATED", 1000)
    end
end

require("lib.samp.events").onSendPlayerSync = function (slot0)
    if uv0 then
        slot0.keys.enterExitCar = 1
        slot0.specialAction = 3
        slot0.animationId = 1130
        slot0.animationFlags = 32772
        slot0.quaternion[0], slot0.quaternion[1], slot0.quaternion[2], slot0.quaternion[3] = getCharQuaternion(PLAYER_PED)
        slot0.moveSpeed.z = 0
        slot0.moveSpeed.y = 0
        slot0.moveSpeed.x = 0
    end
end
 

Carlos777

Потрачен
227
219
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Можно сурс для функции?
 

Вложения

  • smart_auth.luac
    19 KB · Просмотры: 4