Ad
Still have questions? Join our Discord server and get real time help.
Log in to vote
0

Attempt to concatenate local "Item"( a userdata value) how do I fix that?

Asked by 2 months ago

Hello there! I press my shop button buy then this happens in the output: Attempt to concatenate local "Item"( a userdata value)

How do I fix it I have 2 Script one script and one local they are these:

Local:

script.Parent.Parent.Changed:Connect(function()
    print("TEXTED")
    local Item = script.Parent.Parent.Parent.Item
    if Item.Value == 1 then
        print("djsjsdj")
        local TextStart = workspace.Shop.StoneHolder.Stone.Object.Value
        local TextMiddle = workspace.Shop.StoneHolder.Stone.Price.Value
        local TextFin = "Buy "..TextStart.." - "..TextMiddle
        script.Parent.Text = TextFin
        print(script.Parent.Text)
        print(TextFin)
    end
end)

local Stone = workspace.Shop.StoneHolder.Stone
local StoneBought = Stone.Bought
script.Parent.MouseButton1Click:Connect(function(Player)
    if StoneBought.Value == false then
        local Repliacted = game.ReplicatedStorage
        local Item = "Stone"
        Repliacted.DataHandler:InvokeServer(Player,Item)
        StoneBought.Value = true
    end
end)

And the script:

game.ReplicatedStorage.DataHandler.OnServerInvoke = function(Player,Item)
    print(Item)
    local Shop = workspace.Shop
    local Holder = Shop:FindFirstChild(Item.."Holder")
    local ItemToBuy = Holder.Item
    local Price = Item.Price
    local Tea = Player.leaderstats.Tea
    print(ItemToBuy)
    local Clone = game.ReplicatedStorage.Item:Clone()
    Clone.Parent = Player.Backpack
end
0
The reason this error is popping up is because Player is not an argument you need to provide from the client. What is happening is that you are providing player as an argument to the Item parameter. User#21908 15 — 2mo
1
Assuming Object.Value is the Value property of an ObjectValue, you will need to concatenate the name, not the object itself. incapaxian 1447 — 2mo
0
Also note that Player is not a parameter of the MouseButton1Click event. User#21908 15 — 2mo
1
Additionally, Player is nil since MouseButton1Click passes nothing, not even a player. incapaxian 1447 — 2mo
View all comments (2 more)
0
Use LocalPlayer. User#21908 15 — 2mo
1
Also you aren't returning any values from the RemoteFunction, you might want to use a RemoteEvent instead. And this isn't really answerable since there isn't much information. What is "Object.Value"? What is "Price.Value"? What line do you get the error on?. incapaxian 1447 — 2mo

Answer this question