サイトアイコン schilverberch★ROBLOX

プレイヤーを一定時間無敵にする

リスポーンした時に一定時間無敵にする方法です。もちろん一例となります。
キャラクターモデルの中に 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
モバイルバージョンを終了