What do you want to achieve?
I want this script working better than now
What is the issue?
I get this error : Script timeout: exhausted allowed execution time
What solutions have you tried so far?
I’ve tried to reduce the script timeout in the setting of roblox studio to -1 and it’s work a bit better than if I do nothing but I get the error …
local MarketplaceService = game:GetService("MarketplaceService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TeleportService = game:GetService("TeleportService")
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local PlayerData = DataStoreService:GetDataStore("PlayerData")
local Purchased = ReplicatedStorage.Purchased
local Save = ReplicatedStorage.Save
local SavingValue = nil
local Success, CurrentPlayerData
local function ProcessReceipt(ReceiptInfo)
local Player = Players:GetPlayerByUserId(ReceiptInfo.PlayerId)
if not Player then
return Enum.ProductPurchaseDecision.NotProcessedYet
end
Purchased:FireClient(Player)
return Enum.ProductPurchaseDecision.PurchaseGranted
end
MarketplaceService.ProcessReceipt = ProcessReceipt
Save.OnServerEvent:Connect(function(Player, ServerInfo)
local Access = TeleportService:ReserveServer(10998435944)
ServerInfo = {ServerInfo}
table.insert(ServerInfo, Player)
table.insert(ServerInfo, "Access")
if SavingValue == nil then
SavingValue = {ServerInfo}
else
table.insert(SavingValue, ServerInfo)
end
end)
Players.PlayerRemoving:Connect(function(Player)
repeat
Success, CurrentPlayerData = pcall(function()
return PlayerData:GetAsync(Player.UserId)
end)
until Success
if SavingValue ~= nil then
for Count = 1, #SavingValue do
if Player == SavingValue[Count][2] then
if CurrentPlayerData ~= nil then
table.insert(CurrentPlayerData[2], SavingValue[Count])
else
CurrentPlayerData = {{}, {SavingValue[Count]}}
end
end
end
end
repeat
Success = pcall(function()
PlayerData:SetAsync(Player.UserId, CurrentPlayerData)
end)
until Success
end)