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

How do i make GUI seperate for each player?

Asked by 10 years ago

My GUI is broken because when i load up a game w/ my brother I will click Shop to open the shop but the GUI then opens on his screen, and then we cannot close it. Here is the script i use...

dUKey = "PlayerDamageUpgrades"
hUKey = "PlayerHealthUpgrades"
sUKey = "PlayerSpeedUpgrades"

game.Players.PlayerAdded:connect(function(player)
    if player:WaitForDataReady() then


        u = Instance.new("IntValue")
        u.Name = "upgrades"
        u.Parent = player


        dU = Instance.new("IntValue")
        dU.Name = "DamageUpgrades"
        dU.Parent = u
        dU.Value = player:LoadNumber(dUKey)

        hU = Instance.new("IntValue")
        hU.Name = "HealthUpgrades"
        hU.Parent = u
        hU.Value = player:LoadNumber(hUKey)

        sU = Instance.new("IntValue")
        sU.Name = "SpeedUpgrades"
        sU.Parent = u
        sU.Value = player:LoadNumber(sUKey)
    end
end)

game.Players.PlayerRemoving:connect(function(player)
    if player:FindFirstChild("upgrades") then
        player:SaveNumber(dUKey, player.leaderstats.dU.Value)
        player:SaveNumber(hUKey, player.leaderstats.hU.Value)
        player:SaveNumber(sUKey, player.leaderstats.sU.Value) 
    end
end)

name = "Dmg Upgrade 1"
cost = 1 -- the price.
currencytype = "StatPoints" -- this is the value in the leaderboard the weapon is paid with.

game.Players.PlayerAdded:connect(function(nP) -- Connect event to anonymous funtion
    nP.CharacterAdded:connect(function(nC)
        sG = Instance.new("ScreenGui", nP.PlayerGui)
        sG.Name =  "ShopGui"
        fr = Instance.new("Frame", sG)
        fr.Position = UDim2.new(0,0,.5,-15)
        fr.Size = UDim2.new(0,150,0,60)
        fr.Style = "ChatBlue"
        tb = Instance.new("TextButton", fr)
        tb.Size = UDim2.new(1,0,1,0)
        tb.Style = "RobloxButtonDefault"
        tb.TextColor3 = Color3.new(1,1,1)
        tb.Text = "Shop"
        tb.MouseButton1Click:connect(function()
            tb.Transparency = 1
            cl = Instance.new("TextButton", fr)
            cl.ZIndex = 2
            cl.Size = UDim2.new(1,0,1,0)
            fr.Style = "ChatRed"
            cl.TextColor3 = Color3.new(1,1,1)
            cl.Text = "Close"
            cl.Style = "RobloxButtonDefault"
            cl.MouseButton1Click:connect(function()
                cl:Remove()
                frdUB:Remove()
                tb.Transparency = 0
                fr.Style = "ChatBlue"
            end)
            frdUB = Instance.new("Frame", sG)
            frdUB.Name = "DMGUpgradeFrame"
            frdUB.Position = UDim2.new(0,150,.5,-60)
            frdUB.Size = UDim2.new(0,150,0,60)
            frdUB.Style = "ChatGreen"
            dUB = Instance.new("TextButton", frdUB)
            dUB.Size = UDim2.new(1,0,.5,0)
            dUB.Style = "RobloxButtonDefault"
            dUB.TextColor3 = Color3.new(1,1,1)
            dUB.Text = "Upgrade Damage by 5"
            cdU = Instance.new("TextLabel", frdUB)
            cdU.Position = UDim2.new(0,0,.5,0)
            cdU.Size = UDim2.new(1,0,.5,0)
            cdU.BackgroundColor3 = Color3.new(1,1,1)
            cdU.Text = "Cost: 1 Skill Point"
            dUB.MouseButton1Click:connect(function()
                dUB:Remove()
                cdU:Remove()
                y = Instance.new("TextButton", frdUB)
                y.Size = UDim2.new(.5,0,.5,0)
                y.Position = UDim2.new(0,0,.5,2)
                y.TextColor3 = Color3.new (0,1,0)
                y.Text = "Yes"
                y.Style = "RobloxButtonDefault"
                n = Instance.new("TextButton", frdUB)
                n.Size = UDim2.new(.5,0,.5,0)
                n.Position = UDim2.new(.5,0,.5,2)
                n.TextColor3 = Color3.new (1,0,0)
                n.Style = "RobloxButtonDefault"
                n.Text = "No"
                rS = Instance.new("TextLabel", frdUB)
                rS.Size = UDim2.new(1,0,.5,0)
                rS.BackgroundColor3 = Color3.new(0,0,0)
                rS.TextColor3 = Color3.new(1,1,1)
                rS.Text = "Are you sure?"
                y.MouseButton1Down:connect(function()
                    s = script.Parent
                    local l = s:FindFirstChild("leaderstats")
                    if l then
                        local m = l:FindFirstChild(currencytype)
                        if m then
                            if m.Value >= cost then
                                m.Value = m.Value - cost
                                local pS = Instance.new("ScreenGui", s.PlayerGui)
                                pS.Name = "Purchase Successful"
                                pSF = Instance.new("Frame", pS)
                                pSF.Position = UDim2.new(0,0,.3,0)
                                pSF.Size = UDim2.new(0,150,0,30)
                                pSF.Style = "RobloxRound"
                                pSF.BackgroundColor3 = Color3.new(0,1,0)
                                pST = Instance.new("TextLabel", pSF)
                                pST.Position = UDim2.new(1,0,1,0)
                                pST.Size = UDim2.new(1,0,1,0)
                                pST.TextColor3 = Color3.new(0,0,1)
                                pST.Text = "You just purchased "..name.." for "..cost.." StatPoint!"
                            elseif m.Value < cost then
                                local pF = Instance.new("ScreenGui", s.PlayerGui)
                                pF.Name = "Purchase Failed"
                                pFF = Instance.new("Frame", pF)
                                pFF.Position = UDim2.new(0,0,.3,0)
                                pFF.Size = UDim2.new(0,150,0,30)
                                pFF.Style = "RobloxRound"
                                pFF.BackgroundColor3 = Color3.new(1,0,0)
                                pFT = Instance.new("TextLabel", pFF)
                                pFT.Position = UDim2.new(1,0,1,0)
                                pFT.Size = UDim2.new(1,0,1,0)
                                pFT.TextColor3 = Color3.new(0,0,1)
                                pFT.Text = "ERROR: You do not have enough StatPoints for that!"
                            end
                        end
                    end
                    y:Remove()
                    n:Remove()
                    rS:Remove()
                    dUB = Instance.new("TextButton", frdUB)
                    dUB.Size = UDim2.new(1,0,.5,0)
                    dUB.Style = "RobloxButtonDefault"
                    dUB.TextColor3 = Color3.new(1,1,1)
                    dUB.Text = "Upgrade Damage by 5"
                    cdU = Instance.new("TextLabel", frdUB)
                    cdU.Position = UDim2.new(0,0,.5,0)
                    cdU.Size = UDim2.new(1,0,.5,0)
                    cdU.BackgroundColor3 = Color3.new(1,1,1)
                    cdU.Text = "Cost: 1 Skill Point"
                    wait(2)
                    pF:Remove()
                end)            
            end)
        end)
    end)
end)

Thanks for the help but with your fix could you please tell me why it happened, what happened, how to prevent it in the future, and basically anything important that will help me become a better scripter because I REALLY REALLY want to master this. Thanks again mates :)!

0
please anyone? patch523 20 — 10y

Answer this question