Lua Прочее Бег на WASD

copypaste_scripter

Известный
Автор темы
1,218
223
Скрипт вместо вас бежит при нажатии WASD (пробел не надо)
Активация: /run

По умолчанию скрипт активируется командой. В скрипте есть объяснения строк и можете заменить как вам удобнее. Если вы не справились то отпишите мне в личку на форум или в дискорд и помогу.

Сделал по запросу: @fawe.. https://www.blast.hk/threads/118221/

 

Вложения

  • runWASD.lua
    2.1 KB · Просмотры: 311
Последнее редактирование:
  • Нравится
Реакции: fawe.. и iEramur

copypaste_scripter

Известный
Автор темы
1,218
223
у него АВТОбег а у меня бег на WASD, разницу видишь?
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,766
11,208
Вместо проверки на w, a, s и d можно сделать проверку на статус игровой клавиши:
Lua:
local active = true

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autosprint', function()
        active = not active
        sampAddChatMessage('AutoSprint: '..(active and 'on' or 'off'))
    end)
    while true do
        wait(0)
        if active and not isCharInAnyCar(PLAYER_PED) then
            if isButtonPressed(Player, 0) or isButtonPressed(Player, 1) then
                setGameKeyState(16, 256)
            end
        end
    end
end
 
Последнее редактирование:

etereon

MQ-Team
Проверенный
323
837
Вместо проверки на w, a, s и d можно сделать проверку на статус игровой клавиши:
Lua:
local active = true

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autosprint', function()
        active = not active
        sampAddChatMessage('AutoSprint: '..(active and 'on' or 'off'))
    end)
    while true do
        wait(0)
        if active and not isCharInAnyCar(PLAYER_PED) then
            if isButtonPressed(Player, 0) or isButtonPressed(Player, 1) then
                setGameKeyState(16, 256)
            end
        end
    end
end
А можно ещё мозг врубить и вспомнить, что в муне есть хук на события окна
 
  • Ха-ха
Реакции: Vintik

BisQwit

Известный
450
124
А можно ещё мозг врубить и вспомнить, что в муне есть хук на события окна
А если еще лучше включить мозг, то можно самому юзать wasd клавиши. Я даже малейшего представления не имею где это чудо инженерии можно применить
 
  • Ха-ха
Реакции: etereon

copypaste_scripter

Известный
Автор темы
1,218
223
А если еще лучше включить мозг, то можно самому юзать wasd клавиши. Я даже малейшего представления не имею где это чудо инженерии можно применить
я написал для чего и для кого сделал, сам не пользую, просто идея была у человека для +с чтобы без пробела бежать
 

iEramur

Известный
171
113
Идея скрипта твоего напомнила мне об одной классной фиче из gta sa crazy trainer: быстрый бег. Суть в том, что после однократного нажатия пробела включается спринт и пробел можно не держать, очень удобно банихопить + ещё скорость бега можно увеличивать/уменьшать. Ради этой функции я каждый раз запускаю трейнер вместе с сампом уже не один год кстати). Было бы очень здорово, если бы ты реализовал что-то подобное на луа. Когда станет скучно, попробуй написать скрипт, который будет активировать спринт по однократному нажатию пробела, и чтобы после повторного нажатия спринт выключался.
1642797168854.png
 

ramzes govnomes

Известный
225
85
как же я ебать до этого бегал на стрелочках, ты гений! теперь буду бегать на wasd
 

SAsha133777

Потрачен
128
109
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Идея скрипта твоего напомнила мне об одной классной фиче из gta sa crazy trainer: быстрый бег. Суть в том, что после однократного нажатия пробела включается спринт и пробел можно не держать, очень удобно банихопить + ещё скорость бега можно увеличивать/уменьшать. Ради этой функции я каждый раз запускаю трейнер вместе с сампом уже не один год кстати). Было бы очень здорово, если бы ты реализовал что-то подобное на луа. Когда станет скучно, попробуй написать скрипт, который будет активировать спринт по однократному нажатию пробела, и чтобы после повторного нажатия спринт выключался.
Посмотреть вложение 132555
Держи, скопируй в текстовый файл и в имени вместо .txt напиши .lua, и скрипт готов.
А для скорости бега есть клео b1-b6, или аналоги на луа.

Lua:
local active = true
function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if isKeyJustPressed(0x20) and not sampIsCursorActive() then
            active = not active
            sampAddChatMessage('AutoSprint: '..(active and 'on' or 'off'))
        end
        if active and not isCharInAnyCar(PLAYER_PED) then
            setGameKeyState(16, 256)
        end
    end
end
 

copypaste_scripter

Известный
Автор темы
1,218
223
Держи, скопируй в текстовый файл и в имени вместо .txt напиши .lua, и скрипт готов.
А для скорости бега есть клео b1-b6, или аналоги на луа.

Lua:
local active = true
function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if isKeyJustPressed(0x20) and not sampIsCursorActive() then
            active = not active
            sampAddChatMessage('AutoSprint: '..(active and 'on' or 'off'))
        end
        if active and not isCharInAnyCar(PLAYER_PED) then
            setGameKeyState(16, 256)
        end
    end
end
это не то, он автобег не хочет, он хочет активацию-деактивацию на пробел, а ему в личку дал уже
 

copypaste_scripter

Известный
Автор темы
1,218
223
Lua:
--[[
Тема на БластХак: https://www.blast.hk/threads/118274/
Если у вас передвижение персонажа не на WASD то замените содержимое:
local runkeys = {0x41, 0x44, 0x53, 0x57}
на нужный вам клавиши
Коды клавиш тут: https://api.farmanager.com/ru/winapi/virtualkeycodes.html
Две "минус" вот таких: "--" перед текстом значит, что это является коментарием и не влияет на код
]]

require "lib.moonloader"
local keys = require "vkeys"
local sampev = require "lib.samp.events"
local sprintWASD = false -- по умолчанию скрипт выключен, заменить "false" на "true" если хотите чтобы по умолчанию был включен (при запуске игры)
local runkeys = {0x41, 0x44, 0x53, 0x57} -- A D S W

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("run", function() -- "run" это команда активации, меняем на нужный вам (включает скрипт если выключен и наоборот)
        sprintWASD = not sprintWASD
    end)

    while true do
        wait(0)
        if isKeyDown(VK_SPACE) and not sampIsChatInputActive() and not sampIsDialogActive() then
            sprintWASD = not sprintWASD
        end
        for i = 1, 4 do
            if isCharOnFoot(playerPed) and isKeyDown(runkeys[i]) and isKeyCheckAvailable() and sprintWASD then
                setGameKeyState(16, 256)
                --wait(10)                    -- Уберите коментирование этой и
                --setGameKeyState(16, 0)    -- этой линии если хотите чтобы вместо бега была сразу быстрый бег (баг быстрого пробела)
            end
        end
    end
end
function isKeyCheckAvailable()
    if not isSampLoaded() then
        return true
    end
    if not isSampfuncsLoaded() then
        return not sampIsChatInputActive() and not sampIsDialogActive()
    end
    return not sampIsChatInputActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive()
end
 
  • Нравится
Реакции: iEramur