Нужна помощь со скриптом

killerson

Участник
Автор темы
75
4
Версия MoonLoader
.026-beta
Скрипт автоматически скролит оружие после отжатия пкм (например дигл - м4 - дигл), но после альтаба скрипт ломается и останавливается на первом скроле (дигл - м4, скролла обратно на дигл нет), подозреваю, что дело в том, что вина в альтабе, но как исправить не знаю

Код:
local last_time = 0
local rmb_was_down = false

function hasWeaponEquipped()
    local player = PLAYER_PED
    if not player then return false end
    
    local weapon = getCurrentCharWeapon(player)
    
    if weapon == 0 or weapon == 1 then
        return false
    end
    
    return true
end

function isPlayerInVehicle()
    local player = PLAYER_PED
    if not player then return false end
    
    return isCharInAnyCar(player) or isCharInAnyHeli(player) or isCharInAnyBoat(player) or isCharInAnyPlane(player)
end

function main()
    while true do
        wait(0)

        if not isSampAvailable() then
            goto continue
        end
        
        local rmb_is_down = isKeyDown(0x02)
        
        if rmb_was_down and not rmb_is_down then
            -- Проверяем, что игрок не в транспортном средстве и имеет оружие
            if not isPlayerInVehicle() and hasWeaponEquipped() then
                local current_time = os.clock()
                
                if current_time - last_time > 0.5 then
                    setVirtualKeyDown(0x51, true)
                    wait(25)
                    setVirtualKeyDown(0x51, false)
                    
                    wait(35)
                    
                    setVirtualKeyDown(0x45, true)
                    wait(25)
                    setVirtualKeyDown(0x45, false)
                    
                    last_time = current_time
                end
            end
        end
        
        rmb_was_down = rmb_is_down
        
        ::continue::
    end
end

function init()
    while not isSampAvailable() do
        wait(100)
    end
    wait(3000)
    lua_thread.create(main)
end

lua_thread.create(init)
 
  • Bug
Реакции: MLycoris

alexroq

Участник
108
11
Lua:
local last_time = 0
local rmb_was_down = false

function hasWeaponEquipped()
    local player = PLAYER_PED
    if not player then return false end
    
    local weapon = getCurrentCharWeapon(player)
    
    if weapon == 0 or weapon == 1 then
        return false
    end
    
    return true
end

function isPlayerInVehicle()
    local player = PLAYER_PED
    if not player then return false end
    
    return isCharInAnyCar(player) or isCharInAnyHeli(player) or isCharInAnyBoat(player) or isCharInAnyPlane(player)
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(0) end
    wait(0)
    
    while true do
        wait(0)
        
        local rmb_is_down = isKeyDown(0x02)
        
        if rmb_was_down and not rmb_is_down then
            if not isPlayerInVehicle() and hasWeaponEquipped() then
                local current_time = os.clock()
                
                if current_time - last_time > 0.5 then
                    setVirtualKeyDown(0x51, true)
                    wait(25)
                    setVirtualKeyDown(0x51, false)
                    
                    wait(35)
                    
                    setVirtualKeyDown(0x45, true)
                    wait(25)
                    setVirtualKeyDown(0x45, false)
                    
                    last_time = current_time
                end
            end
        end
        
        rmb_was_down = rmb_is_down
    end
end