プレイヤーが泳いでいるかどうかを判定する方法です。Humanoid には StateChanged というイベントがありますのでそれを利用します。
StarterPlayer の StarterPlayerScripts に LocalScript を追加して、以下のプログラムを入れます。
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
-- 状態が変わるたびに呼び出される関数
local function onStateChanged(oldState, newState)
if newState == Enum.HumanoidStateType.Swimming then
print("プレイヤーは泳いでいます")
elseif oldState == Enum.HumanoidStateType.Swimming and newState ~= Enum.HumanoidStateType.Swimming then
print("プレイヤーはもう泳いでいません")
end
end
-- Humanoidの状態変更イベントに関数を接続
humanoid.StateChanged:Connect(onStateChanged)