Files
Roblox-Elevator-Game/src/client/Character/Client/Crouch.lua

40 lines
1.2 KiB
Lua

local CrouchModule = {
IsCrouching = false,
StandHeight = 2.1,
CrouchHeight = .6,
WalkSpeedMultiplier = 6,
CrouchSpeed = .2
}
CrouchModule.__index = CrouchModule
local Tween = require(game:GetService("ReplicatedStorage"):WaitForChild("Tween"))
function CrouchModule.constructor(Humanoid: Humanoid)
return setmetatable({
Humanoid = Humanoid
}, CrouchModule)
end
local CrouchTween = Tween.constructor()
function CrouchModule:Crouch(StandingWalkSpeed: number)
local Easing = TweenInfo.new(CrouchModule.CrouchSpeed, Enum.EasingStyle.Linear)
CrouchTween:Start(self.Humanoid, {
HipHeight = CrouchModule.CrouchHeight,
WalkSpeed = math.max(1, StandingWalkSpeed-CrouchModule.WalkSpeedMultiplier)
}, Easing)
CrouchModule.IsCrouching = true
end
function CrouchModule:Stand(CrouchingWalkSpeed: number)
local Easing = TweenInfo.new(CrouchModule.CrouchSpeed, Enum.EasingStyle.Linear)
CrouchTween:Start(self.Humanoid, {
HipHeight = CrouchModule.StandHeight,
WalkSpeed = math.max(1, CrouchingWalkSpeed+CrouchModule.WalkSpeedMultiplier)
}, Easing)
CrouchModule.IsCrouching = false
end
return CrouchModule