Run it
Copy the script and paste it into your executor.
player = .Players.LocalPlayer
marketplace = :()
= :()
replicatedStorage = :()
runService = :()
starterGui = :()
coreGui = :()
originalNamecall, originalIndex, originalNewindex
isHooked =
isInitialized =
gamepassIds = {}
productIds = {}
()
execFlags = {
is_synapse = (() .crypt ),
is_krnl = (() krnl krnl.Clone ),
is_scriptware = (() is_sir_himself ),
is_fluxus = (() fluxus fluxus.import ),
is_oxygen = (() Oxygen Oxygen.U ),
}
_, v (execFlags)
v
( ) ( )
(tbl, depth)
depth = depth
depth > tbl
k, v (tbl)
(v) ==
old = v
tbl[k] = (...)
runService.Heartbeat:()
(...)
(v) ==
(v, depth + )
tbl
()
protected = {, , , , }
_, func (protected)
[func]
[func] = ()
k, v (())
(v) == .(k, )
()[k] =
()
mt = ()
mt
oldNamecall = mt.__namecall
oldIndex = mt.__index
oldNewindex = mt.__newindex
(mt, )
mt.__namecall = ((self, ...)
method = ()
method == method ==
args = {...}
i, arg (args)
(arg) == (.(arg, ) .(arg, ) .(arg, ))
isHooked self == marketplace method ==
(self, ...)
)
mt.__index = ((self, key)
isHooked self == marketplace key ==
()
(key) == .(key:(), )
(self, key)
)
mt.__newindex = ((self, key, value)
(key) == .(key:(), )
(self, key, value)
)
(mt, )
(ids)
successCount =
remoteEvents = {}
_, v (replicatedStorage:())
v:() (v.Name:() v.Name:() v.Name:() v.Name:())
.(remoteEvents, v)
i, remote (remoteEvents)
_, id (ids)
(()
remote:(player.UserId, id)
remote:(, id, )
remote:(id, )
successCount = successCount +
)
promptEvent = replicatedStorage:()
promptEvent
_, id (ids)
(()
promptEvent:(player.UserId, id)
promptEvent:(id, )
successCount = successCount +
)
successCount
(ids)
successCount =
marketplace.SignalPromptProductPurchaseFinished
_, id (ids)
(()
marketplace:(player.UserId, id, )
successCount = successCount +
)
marketplace.PromptProductPurchaseFinished
_, id (ids)
(()
args = {player.UserId, id, }
signal = marketplace.PromptProductPurchaseFinished
signal signal.Fire
signal:((args))
successCount = successCount +
)
successCount
()
originalNamecall
mt = ()
mt
(mt, )
mt.__namecall = originalNamecall
mt.__index = originalIndex
mt.__newindex = originalNewindex
(mt, )
(title, text, duration)
(()
starterGui:(, {
Title = title,
Text = text,
Duration = duration ,
Icon =
})
)
()
success, info = (()
marketplace:(.PlaceId)
)
success info.Name
()
url = .. .PlaceId ..
allIds = {}
cursor =
requestUrl = url
cursor
requestUrl = url .. .. cursor
success, response = (()
:(requestUrl)
)
success
data = :(response)
_, v (data.data {})
.(allIds, v.id)
cursor = data.nextPageCursor
cursor
allIds
()
url = .. .PlaceId ..
success, response = (()
:(url)
)
success {}
data = :(response)
ids = {}
_, v (data.data {})
.(ids, v.id)
ids
()
(()
scripts = debug.()
scripts scripts.source
scripts.source =
)
getgc
gc = ()
_, v (gc)
(v) == debug.(v) debug.(v).source .(debug.(v).source, )
v =
isHooked =
()
delayTime = .(, )
( .. (), .. delayTime .. , )
(delayTime)
()
gameName = ()
passIds = ()
prodIds = ()
successPass =
successProd =
#passIds >
successPass = (passIds)
#prodIds >
successProd = (prodIds)
successPass > successProd >
( .. gameName, .. (successPass + successProd) .. , )
( .. gameName, , )
()
isInitialized
isInitialized =
()
()
(, , )
()
( .. (), , )
(delayExecution)
(init)
()
()
isHooked =
:().InputBegan:((input)
input.KeyCode == .KeyCode.LeftAlt input.UserInputType == .UserInputType.Keyboard
()
(, , )
)This script is designed for the Roblox environment to LOCALLY simulate ownership of all Gamepasses and Developer Products, tricking the game into believing the player has purchased them without any real transaction. ( ⚠️When you leave, you lose what you gained; it's not permanent. ) (This is the new version of the script, V4)

Universal