Try this PS:im not sure if works perfectly
local backwardModifierButton = “ALT”
local backwardModifier = false
local playerPed = nil
local animTable = {
{name = “walk_bwd_180_loop”, button = 33},
{name = “walk_bwd_135_loop”, button = 35},
{name = “walk_bwd_-135_loop”, button = 34},
{name = “walk_bwd_-90_loop”, button = 34},
{name = “walk_fwd_90_loop”, button = 35}
}
RegisterCommand(‘+backwardModifier’, function()
playerPed = PlayerPedId()
if not IsPedInAnyVehicle(playerPed, true) then
backwardModifier = true
CreateThread(function()
while backwardModifier do
local isSPressed = IsControlPressed(0, 33)
local isAPressed = IsControlPressed(0, 34)
local isDPressed = IsControlPressed(0, 35)
for i = 1, #animTable do
local animData = animTable[i]
local isButtonPressed = animData.button == 33 and isSPressed or animData.button == 34 and isAPressed or animData.button == 35 and isDPressed
if isButtonPressed then
TaskPlayAnim(playerPed, "move_strafe@first_person@generic", animData.name, 5.0, 1.0, -1, 1, 0.1)
while backwardModifier and IsControlPressed(0, animData.button) do Wait(0) end
ClearPossibleActiveEmotes(playerPed)
end
end
Wait(0)
end
end)
end
end, false)
RegisterCommand(‘-backwardModifier’, function()
backwardModifier = false
end, false)
ClearPossibleActiveEmotes = function(playerPed)
StopAnimTask(playerPed, “move_strafe@first_person@generic”, “walk_bwd_135_loop”, 2.0)
StopAnimTask(playerPed, “move_strafe@first_person@generic”, “walk_bwd_-135_loop”, 2.0)
StopAnimTask(playerPed, “move_strafe@first_person@generic”, “walk_bwd_180_loop”, 2.0)
StopAnimTask(playerPed, “move_strafe@first_person@generic”, “walk_bwd_-90_loop”, 2.0)
StopAnimTask(playerPed, “move_strafe@first_person@generic”, “walk_fwd_90_loop”, 2.0)
end
RegisterKeyMapping(‘+backwardModifier’, ‘Walking Backward Modifier’, ‘keyboard’, backwardModifierButton)