ツール所持の確認

ツールを持っているかどうかを確認する関数です。

local function checkHaveItem(player,item)
    local character = player.Character

    if character:FindFirstChild(item) then    -- 装備しているか?
        return true
    end
    if player.Backpack:FindFirstChild(item) then  -- 所持しているか?
        return true
    end 
    return false
end

ツールの削除

プレイヤーからツールを強制撤去します。

local function removeTool(player,item)
    local character = player.Character

    if character:FindFirstChild(item) then    -- 装備しているか?
        character[item]:Destroy()
    elseif player.Backpack:FindFirstChild(item) then  -- 所持しているか?
        player.Backpack[item]:Destroy()
    end 
end

ツールの削除2

上のプログラムはプレイヤーがツールを持っているかどうかを判断して消しましたが、持っているツールを強制的にバックパックに戻してから消すという方法もあります。

local function removeTool(player,item)
    local character = player.Character

    character.Humanoid:UnequipTools()  -- 装備しているツールをバックパックに戻す
    player.Backpack[item]:Destroy()
end

ツールの貸与(死ぬと消える)

最初からプレイヤーにツールを持たせるには、StarterPack にToolを入れておくだけでOKです。ゲーム進行中にプレイヤーにツールを与えるには、下記のようなプログラムが必要です。この場合は、ServerStorage にツールをToolを入れておきます。

local function giveTool(player,item)
    local tool = game.ServerStorage[item]:Clone()
    tool.Parent = player.Backpack
end

giveTool(player,"FlashLight")

ツールの貸与(死んでも消えない)

プレイヤーのBackpackに入れた場合、絶命するとBackpackも空になります。死んでも消えないようにするには、StarterGear に入れておくのが簡単です。

local function giveTool(player,item)
    local tool = game.ServerStorage[item]:Clone()
    tool.Parent = player.StarterGear
end

By schilverberch

ROBLOXでゲームを作ろう! 一緒にプログラミングを学びましょう。

3 thoughts on “ツール装備の確認と削除”

コメントを残す