ダメージとは逆に、Humanoidの数値をプラス方向に変えれば、プレイヤーを強化するアイテムが作れます。
ダメージもパワーアップも、結局は同じHumanoidの数字を増やすか減らすかの違いだったんだ!
ダメージとは逆に、Humanoidの数値をプラス方向に変えれば、プレイヤーを強化するアイテムが作れます。
local part = script.Parent
local isUsed = false
part.Touched:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if player and humanoid and not isUsed then
isUsed = true
local originalSpeed = humanoid.WalkSpeed
humanoid.WalkSpeed = originalSpeed * 2 -- スピード2倍!
part.Transparency = 1
part.CanCollide = false
wait(5) -- 5秒間だけ効果を持続
humanoid.WalkSpeed = originalSpeed -- 元の速さに戻す
wait(3) -- 3秒後にアイテムが復活
part.Transparency = 0
part.CanCollide = true
isUsed = false
end
end)
originalSpeed に元の速さを保存しておくことで、効果が切れた時に「 正確に元通り 」に戻せます。第8回で学んだisUsed フラグとTransparency・CanCollideの組み合わせも、ここでそのまま活躍していますね。
ダメージもパワーアップも、結局は同じHumanoidの数字を増やすか減らすかの違いだったんだ!
Well done!
次のステップに進みましょう!