Локальная переменная isdashing внутри функции dash, неправильное использование velocity, неправильное вызов функции dash. Можно добавить проверку на существование персонажа (про ошибку).
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local speed = 50
local time = 1
local isdashing = false
local function onCharacterAdded(character)
if not character then return end -- Проверка наличия персонажа
local humanoid = character:WaitForChild("Humanoid")
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local function dash()
if not isdashing then
isdashing = true
humanoidRootPart.Velocity = humanoid.MoveDirection * speed
delay(time, function()
humanoidRootPart.Velocity = Vector3.new(0, 0, 0)
isdashing = false
end)
end
end
UIS.InputBegan:Connect(function(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.Q then
dash()
end
end)
end
plr.CharacterAdded:Connect(onCharacterAdded)
-- Проверка, если персонаж уже существует
if plr.Character then
onCharacterAdded(plr.Character)
end