Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Placing System Not Placing Item, Any ideas on what I did wrong?

Asked by
LuaDLL 253 Moderation Voter
6 years ago

Prints no errors

Part that places item:

local function iniciatePlacemnt(ItemNamee)
    if workspace:FindFirstChild(ItemNamee) then
        CancelPlacement()
        workspace[ItemNamee]:Destroy()
    end
    if PrevItem then
        if workspace:FindFirstChild(PrevItem) then
            CancelPlacement()
            workspace[PrevItem]:Destroy()
        end
    end
--  CancelPlacement()
    script.Parent.Background.Visible = false
    local Item = Items:FindFirstChild(ItemNamee)
    ItemObject = Item:Clone()
    ItemName = ItemObject.Name
    PrevItem = ItemName

    for _, Object in pairs(ItemObject:GetChildren()) do
        if Object:IsA("BasePart") or Object:IsA("Part") then
            Object.CanCollide = false
        end
    end
    ItemObject.Parent = workspace
    Signal = Plane:enable(ItemObject)

    Signal:connect(function(location, _)
        if Player.leaderstats.Cash.Value >= Item.Cost.Value and game.Players.LocalPlayer.Inventory:FindFirstChild(ItemName) then
            game:GetService("ReplicatedStorage").Events.ClientPlaced:FireServer(ItemName, location, Cost)
--          CancelPlacement()
        else
            Signal = Plane:disable(ItemObject)
            ItemObject:Destroy()
        end
    end)
end

Part That Fires It:

local Inventory = script.Parent.Background
local holder = Inventory.Holder
for i,v in pairs(holder:GetChildren()) do
    if v:IsA("Frame") then
        if v:FindFirstChild("ItemImage") then
            v.ItemButton.MouseButton1Click:Connect(function()
                if game.Players.LocalPlayer.Inventory:FindFirstChild(v.Item.Value) then
                    iniciatePlacemnt(v.Item.Value)
                end
            end)
        end
    end
end

Answer this question