リスポーンした時に一定時間無敵にする方法です。もちろん一例となります。
キャラクターモデルの中に BoolValueを追加し、その値が true だったら「無敵」ということにします。
local Players = game:GetService("Players")
local invincibilityTime = 5 -- 無敵状態の持続時間(秒)
local function onCharacterAdded(character)
local invincible = Instance.new("BoolValue",character)
invincible.Name = "Invincible"
invincible.Value = true -- true:無敵
wait(invincibilityTime)
invincible.Value = false
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
武器等の処理
もちろん攻撃する武器等も改造しなくてはなりません。ダメージを与えている箇所を次のようにようにします。
-- プレイヤーにダメージを与える
local function attack(character)
if character:FindFirstChild("Invincible") then
if character.Invincible.Value then
return -- 無敵状態なのでダメージを与えない
end
end
character.Humanoid:TakeDamage(10) -- ダメージを与える
end
質問です。そのスクリプトはどこに入れればいいですか?
一般的には、ServerScriptService になります。