通行证 允许您向用户收取一次性 Robux 费用,以便在您的体验中获得特殊特权,例如进入禁区,使用未体验的虚拟形象物品或永久增强。
创建通行证
要创建通行游戏通行证:
- 前往创作并选择一个体验。
- 前往 货币化 > 通行证 。
- 点击 创建通行证 。
- 上传一个图像以显示为通行证标志。请确保图像不超过512x512像素,不包含重要细节在其圆形边界之外,并且在 .jpg、.png 或 .bmp 格式上。
- 输入通行游戏通行证的名称和描述。
- 点击 创建通行证 。
获取通行证 ID
要使用脚本,您需要一个通行证 ID。要获得通行证 ID:
前往 货币化 > 通行证 。
将鼠标悬停在通行证上,单击 ⋯ 菜单。
单击 复制资产 ID 来复制 ID 到您的剪贴板。
出售通行证
您可以在体验内或体验外出售通行证。
体验结束
要在体验的 商店 页面上出售通行证:
- 前往 货币化 > 通行证 。
- 将鼠标悬停在通行证上,单击 ⋯ 菜单。
- 选择您想要出售的通行证。
- 选择 销售 。
- 启用要 出售物品 的切换。
- 在 在 Robux 价格 字段中,输入您想要向用户收取费用的 Robux 金额。 价格您输入的影响您的促销售额。 价格您输入的影响您的促销售额。 最低价格为 1 Robux,最高价格为 10亿 Robux。
- 单击 保存更改 。通行证在体验的 商店 页面上弹出。
体验内
要在体验中实现和销售通行证,请调用 MarketplaceService 函数。
使用 GetProductInfo() 来检索通行游戏通行证的信息,例如名称和价格,然后将该通行证显示给用户。您可以在体验的市场中,例如,出售通行证。对于通行证,第二个参数必须为 Enum.InfoType.GamePass 。
local MarketplaceService = game:GetService("MarketplaceService")
-- 将占位符 ID 替换为您的通行证 ID
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.GamePass)
end)
if success and productInfo then
-- 查看产品是否待促销
if productInfo.IsForSale then
-- 显示产品信息
-- 将打印声明替换为 UI 代码以显示通行游戏通行证
print("Pass Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
else
print("This product isn't for sale")
end
end
使用 PromptPurchase() 提示购买,如果用户尚未拥有通道具证。您可以在用户执行此类操作,例如按下按钮或与供应商 NPC 聊天时调用此函数。
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- 将占位符 ID 替换为您的通行证 ID
local passID = 0000000
-- 提示购买通行证
local function promptPurchase()
local player = Players.LocalPlayer
local hasPass = false
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
warn("Error while checking if player has pass: " .. tostring(message))
return
end
if hasPass then
-- 显示给用户看的消息,告诉他们已经拥有通行游戏通行证
else
-- 提示购买通行证
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end
使用 PromptGamePassPurchaseFinished() 来处理已完成的通行证提示并购买并分配用户拥有通行游戏通行证的特权。
将脚本放置在 ServerScriptService 中,以便服务器可以处理用户的通行证特权。
local MarketplaceService = game:GetService("MarketplaceService")
-- 将占位符 ID 替换为您的通行证 ID
local passID = 0000000 -- 将其更改为您的通行证 ID
-- 处理完成的提示并购买
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. " purchased the Pass with ID " .. passID)
-- 为用户分配通行证相关的能力或奖游戏通行证
end
end
-- 将 PromptGamePassPurchaseFinished 事件连接到函数
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)
分配通行证特权
您必须手动为购买您通行证的用户分配通行证特权。要做到这一点,您必须使用 PlayerAdded 当用户加入您的体验以检查他们是否拥有通行证,并为他们分配通行证特权。
将脚本放置在 ServerScriptService 中,以便服务器可以处理用户的通行证特权。
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- 将占位符 ID 替换为您的通行证 ID
local passID = 0000000
local function onPlayerAdded(player)
local hasPass = false
-- 检查用户是否已拥有通行游戏通行证
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
-- 发出警告并退出函数
warn("Error while checking if player has pass: " .. tostring(message))
return
end
if hasPass then
-- 为用户分配通行证相关的能力或奖游戏通行证
print(player.Name .. " owns the Pass with ID " .. passID)
end
end
-- 将 PlayerAdded 事件连接到函数
Players.PlayerAdded:Connect(onPlayerAdded)
通行证分析
使用通行证分析分析个人通行证的成功,识别趋势,并预测未来的潜在收益。
使用分析,您可以:
- 查看您在指定时间段内的顶级通行证。
- 在时间序列图表上展示最多八个最畅销产品,分析总体销售和净收入。
- 监控您的目录,按销售额和净收入对项目进行排序。
要访问通行证分析:
- 前往创作并选择一个体验。
- 前往 货币化 > 通行证 。
- 选择 分析 选项卡。