Lua AutoScroll

odelyaZ

Известный
Автор темы
267
161
Обычный автосролл, скоролит автоматом когда в обойме остаётся 1 патрон
Для того чтобы изменить количество пт при которых происходит скролл измените переменную local pt = 1
Активация автоматическая, в скрипте описан весь принцип работы
 

Вложения

  • autoscroll.lua
    891 байт · Просмотры: 1,784

MaksQ

Известный
967
816
Крч сделал чтобы работало со всеми оружиями а не только с диглом

Lua:
local memory = require("memory")

local pt = 1 -- число 1, это то число патрон в обойме после которого будет происходить скролл


function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
            sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
            wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
            setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
 

wintreist

Активный
308
71
Крч сделал чтобы работало со всеми оружиями а не только с диглом

Lua:
local memory = require("memory")

local pt = 1 -- число 1, это то число патрон в обойме после которого будет происходить скролл


function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
            sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
            wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
            setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
Что случится, если останется 1 патрон? Он же ведь будет фигачить постоянно скролл. В памяти я не разбираюсь, поэтому не могу понять, есть ли тут проверка на колл-во патрон всего, вроде нет.
 

MaksQ

Известный
967
816
Что случится, если останется 1 патрон? Он же ведь будет фигачить постоянно скролл. В памяти я не разбираюсь, поэтому не могу понять, есть ли тут проверка на колл-во патрон всего, вроде нет.
будет фигачить по кругу... нужно сделать проверку на количество патрон
 

Ottosm

Известный
338
151
Крч сделал чтобы работало со всеми оружиями а не только с диглом

Lua:
local memory = require("memory")

local pt = 1 -- число 1, это то число патрон в обойме после которого будет происходить скролл


function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
            sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
            wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
            setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
Можешь пожалуйста сделать активацию и дезактивацию?
 

wintreist

Активный
308
71
Крч сделал чтобы работало со всеми оружиями а не только с диглом

Lua:
local memory = require("memory")

local pt = 1 -- число 1, это то число патрон в обойме после которого будет происходить скролл


function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
            sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
            wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
            setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
Доработал чуть твой код. Ибо как мы уже выше обсудили, если всего 1 патрон, то будет хреначить скролл, и если в руках однозарядное оружие, то тоже будет вечно скроллить, так же исправил:
Lua:
local memory = require("memory")

local pt = 1 -- число 1, это то число патрон в обойме после которого будет происходить скролл
local worked = {22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            for key, val in pairs(worked) do
                if val == gun and getAmmoInCharWeapon(PLAYER_PED, gun) ~= pt then
                    setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
                    sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
                    wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
                    setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
                end
            end
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
 
Последнее редактирование:

Traer

Активный
155
64
Доработал чуть твой код. Ибо как мы уже выше обсудили, если всего 1 патрон, то будет хреначить скролл, и если в руках однозарядное оружие, то тоже будет вечно скроллить, так же исправил:
Lua:
local memory = require("memory")

local pt = 1 -- число 1, это то число патрон в обойме после которого будет происходить скролл
local worked = {22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            for key, val in pairs(worked) do
                if val == gun and getAmmoInCharWeapon(PLAYER_PED, gun) ~= pt then
                    setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
                    sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
                    wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
                    setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
                end
            end
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
ты на шотган не убрал релоад
upd 25 айди оружия убрать и всё робить будет
 
  • Нравится
Реакции: Otvertka1337

papapepegemabodi

Потрачен
94
7
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
блин что делать если я не знаю что такое сунсплауер скобка скобка запятая точка енд енд енд
 
  • Клоун
Реакции: GRACHOVE

Похожие темы

  1. Ответы
    4K
    Просмотры
    1M
  2. Ответы
    19
    Просмотры
    32K
  3. Ответы
    54
    Просмотры
    210K