Hello, i'm trying to kill the player who buys a developer product. the script is not working below is the error in the output when i buy it in the game using F9, and the script i'm using.
Players.smalldaniel.PlayerGui.ScreenGui.TextButtontt.Script:37: attempt to index global 'receiptinfo'(a nil value)
the script below has been edit Again
productId = 21073044 productId = 21073044 MarketplaceService.ProcessReceipt = function(receiptInfo) for i, player in ipairs(game.Players:GetChildren()) do if player.userId == receiptInfo.PlayerId then if receiptInfo.ProductId == productId then local playerProductKey = "player_" .. receiptInfo.PlayerId .. "_purchase_" .. receiptInfo.PurchaseId ds:IncrementAsync(playerProductKey, 1) return Enum.ProductPurchaseDecision.PurchaseGranted end Workspace.player.Humanoid.Health = 0 end end end
Thank you
When you close the ProcessReceipt function on line 20, the variable "receiptInfo" goes nil. This means, when you call the "recieptinfo" variable after you close the function, the script will error as it did when you tested it. The following code should be in that function.
local playerProductKey = "player_" .. receiptInfo.PlayerId .. "_purchase_" .. receiptInfo.PurchaseId ds:IncrementAsync(playerProductKey, 1) return Enum.ProductPurchaseDecision.PurchaseGranted
Like this...
MarketplaceService.ProcessReceipt = function(receiptInfo) for i, player in ipairs(game.Players:GetChildren()) do if player.userId == receiptInfo.PlayerId then if receiptInfo.ProductId == productId then local playerProductKey = "player_" .. receiptInfo.PlayerId .. "_purchase_" .. receiptInfo.PurchaseId ds:IncrementAsync(playerProductKey, 1) return Enum.ProductPurchaseDecision.PurchaseGranted Workspace.player.Humanoid.Health = 0 end end end end