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

selling block is extremly silly and faulty?

Asked by 2 years ago

I found some YouTube tutorial on how to make a selling brick for a sim game, it works on converting point to cash, but then just resets at like 51 when it was at 130,480 or something and if i sell a point again it goes up 10 and then goes back down 10

local Part = script.Parent
Part.Touched:Connect(function(HIT)
    local H = HIT.Parent:FindFirstChild("Humanoid")
    if H then
        local player = game.Players:GetPlayerFromCharacter(HIT.Parent)
        if player then
            local leaderstats = player:WaitForChild("leaderstats")
            local Currency = leaderstats.Coins
            local Selling = leaderstats.Changes
            if Selling.Value > 0 then
                Currency.Value = Currency.Value + Selling.Value*10
                Selling.Value = 0
                script.Parent.clink:Play()
            end
        end
    end
end)

Theres no errors to tell me whats wrong also heres the leaderstats just in case

local datastore = game:GetService("DataStoreService")
local ds1 = datastore:GetDataStore("officialpointfortlolSaveSystem")
local ds2 = datastore:GetDataStore("changetheimagecoinsSaveSystem")
local ds3 = datastore:GetDataStore("ctirebirthsSaveSystem")

local gamepass_id1 = 18287787
local gamepass_id2 = 18287797
local gamepass_id3 = 18309443
local stat = "Changes"
local gamepass_stat1 = 100
local gamepass_stat2 = 1000
local gamepass_stat3 = 10000


game.Players.PlayerAdded:connect(function(plr)
    local folder = Instance.new("Folder", plr)
    folder.Name = "leaderstats"
    local gems = Instance.new("IntValue", folder)
    gems.Name = "Changes"
    local coins = Instance.new("IntValue", folder)
    coins.Name = "Coins"
    local rebirths = Instance.new("IntValue", folder)
    rebirths.Name = "Rebirths"

    gems.Value = ds1:GetAsync(plr.UserId) or 0
    ds1:SetAsync(plr.UserId, gems.Value)

    gems.Changed:connect(function()
        ds1:SetAsync(plr.UserId, gems.Value)

    coins.Value = ds2:GetAsync(plr.UserId) or 0
        ds2:SetAsync(plr.UserId, coins.Value)

    coins.Changed:connect(function()
            ds2:SetAsync(plr.UserId, coins.Value)

    rebirths.Value = ds3:GetAsync(plr.UserId) or 0
            ds3:SetAsync(plr.UserId, rebirths.Value)

    rebirths.Changed:connect(function()
            ds3:SetAsync(plr.UserId, rebirths.Value)        

    local award3 = Instance.new("BoolValue", plr)
    award3.Name = "Award3"

        if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(plr.UserId, gamepass_id3) and plr.Award3.Value == false then 
            plr.Award3.Value = true
            gems.Value = gems.Value + gamepass_stat3
        end
    end)
end)

while wait(3) do
    for i, v in pairs(game.Players:GetChildren()) do
        if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(v.UserId, gamepass_id3) and v:WaitForChild("Award3").Value == false then
            v.Award3.Value = true
            v.leaderstats:FindFirstChild(stat).Value = v.leaderstats:FindFirstChild(stat).Value + gamepass_stat3            
        end
    end
end

game.ReplicatedStorage.re.OnServerEvent:Connect(
    function(player)
        player.leaderstats.Changes.Value += 1
            end)
        end)
    end)

Answer this question