Robloxで無限にジャンプできるようにする

Robloxは通常一度しかジャンプすることができないが、HumanoidStateを監視、変更することで無限ジャンプを行うことができる。

スクリプトの作成

StarterPlayerScriptsのはいかにローカルスクリプトを作成、名前をEternalJumpに変更する

スクリプトの編集

スクリプトを以下のように編集する

local userInputService = game:GetService("UserInputService")
local localPlayer = game.Players.LocalPlayer

-- キャラクターが追加されたときに実行
local function characterAdded(newCharacter)
	local character = newCharacter
	local humanoid = newCharacter:WaitForChild("Humanoid")
	
	-- ユーザーがジャンプをリクエストしたらそのままジャンプする
	userInputService.JumpRequest:connect(function()
		humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
	end)
end

if localPlayer.Character then
	characterAdded(localPlayer.Character)
else
	localPlayer.CharacterAdded:connect(characterAdded)
end

結果

関連

https://developer.roblox.com/en-us/api-reference/enum/HumanoidStateType

https://developer.roblox.com/en-us/api-reference/class/UserInputService