Код IT Загрузка примера кода…

Lua main.lua
--!strict
local DataStoreService = game:GetService("DataStoreService")
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")

local PurchaseHistory = DataStoreService:GetDataStore("PurchaseHistory_v1")

MarketplaceService.ProcessReceipt = function(receiptInfo)
    local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
    if not player then
        return Enum.ProductPurchaseDecision.NotProcessedYet
    end
    local purchaseId = receiptInfo.PurchaseId
    local ok, already = pcall(function()
        return PurchaseHistory:GetAsync(tostring(purchaseId))
    end)
    if ok and already then
        return Enum.ProductPurchaseDecision.PurchaseGranted
    end
    -- выдача награды по receiptInfo.ProductId
    DataModule.increment(player, "Coins", 500)
    pcall(function()
        PurchaseHistory:SetAsync(tostring(purchaseId), true)
    end)
    DataModule.save(player)
    return Enum.ProductPurchaseDecision.PurchaseGranted
end
--!strict
local DataStoreService = game:GetService("DataStoreService")
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")

local PurchaseHistory = DataStoreService:GetDataStore("PurchaseHistory_v1")

MarketplaceService.ProcessReceipt = function(receiptInfo)
    local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
    if not player then
        return Enum.ProductPurchaseDecision.NotProcessedYet
    end
    local purchaseId = receiptInfo.PurchaseId
    local ok, already = pcall(function()
        return PurchaseHistory:GetAsync(tostring(purchaseId))
    end)
    if ok and already then
        return Enum.ProductPurchaseDecision.PurchaseGranted
    end
    -- выдача награды по receiptInfo.ProductId
    DataModule.increment(player, "Coins", 500)
    pcall(function()
        PurchaseHistory:SetAsync(tostring(purchaseId), true)
    end)
    DataModule.save(player)
    return Enum.ProductPurchaseDecision.PurchaseGranted
end