Что можно продавать
- Game Pass — покупается один раз и остаётся у игрока навсегда
- Developer Product — покупается сколько угодно раз: монеты, ускорения, попытки
- Предметы аватара, если ты делаешь одежду и аксессуары
- Подписки внутри Experience, если платформа открыла их твоему аккаунту
Как это выглядит в коде
local MarketplaceService = game:GetService("MarketplaceService")local Players = game:GetService("Players")local GAMEPASS_ID = 0 -- идентификатор своего пассаlocal function hasPass(player)local ok, owns = pcall(function()return MarketplaceService:UserOwnsGamePassAsync(player.UserId, GAMEPASS_ID)end)return ok and ownsendPlayers.PlayerAdded:Connect(function(player)if hasPass(player) thenprint(player.Name .. " — владелец пасса")endend)
Проверку владения делает сервер, и её результат кэшируют: запрос идёт по сети и в лимитах не бесплатный.
Честные правила продажи
Игрок должен понимать, что покупает, до оплаты. Описание пасса «+50% к скорости» — честно, «секретный бонус» — нет. Loot box с непрозрачными шансами платформа ограничивает, а игроки такое не прощают.
- Пиши, что именно даёт покупка, и не меняй смысл задним числом
- Не блокируй базовую игру целиком — платить должен тот, кто хочет большего
- Не обещай возврат Robux: платформа его не делает
- Не выводи деньги мимо платформы — это нарушение правил и путь к бану