So I made this sprint script that sets the humanoid walk speed to 32, I want to learn how to change the intensity of the bobble in the bobble script when the humanoid walk speed is set to 32. I've tried making bool variables to change the bobble intensity at certain times with no luck. Can you please explain to me what I have to do? Note that these are all local scripts.
bobble script in StarterCharacterScripts
local runService = game:GetService("RunService")
local playerModel = script.Parent
local humanoid = playerModel:WaitForChild("Humanoid")
runService.RenderStepped:Connect(function()
local time = tick()
if humanoid.MoveDirection.Magnitude > 0 then
local velocity = humanoid.RootPart.Velocity
local x = math.cos(time * 9) / 2.5 -- change the last number to make less/more intense
local y = math.abs(math.sin(time * 12)) / 2.5 -- change the last number to make less/more intense
local bobble = Vector3.new(x, y, 0) * math.min(1, velocity.Magnitude / humanoid.WalkSpeed)
humanoid.CameraOffset = humanoid.CameraOffset:lerp(bobble,.25)
else
humanoid.CameraOffset = humanoid.CameraOffset * 0.75
end
end)
sprint script in StarterPlayerScripts
local userInputService = game:GetService("UserInputService")
local players = game:GetService("Players")
local function keyPress(inputObject, gameProcessed)
if inputObject.UserInputType == Enum.UserInputType.Keyboard and gameProcessed == false then
local keyValue = inputObject.KeyCode.Value
local keyName = userInputService:GetStringForKeyCode(keyValue)
if keyValue == 304 then
if inputObject.UserInputState == Enum.UserInputState.Begin then
players.LocalPlayer.Character.Humanoid.WalkSpeed = 64
elseif inputObject.UserInputState == Enum.UserInputState.End then
players.LocalPlayer.Character.Humanoid.WalkSpeed = 16
end
end
end
end
userInputService.InputBegan:Connect(keyPress)
userInputService.InputEnded:Connect(keyPress)
