ROBLOX — Монетизация — GamePass

Автор: | 26 марта, 2020
Поделиться...

Один из способов мотенизации это продажа GamePass.

Что это такое? Это продаваемые за роблоксы плюшки — на всегда! Да. Именно так. Вы конечно можете их не использовать в игре или отключить отображение в Магазине игры на сайте Roblox, но вот удалить их у вас уже никак не получится. А по сему с этим надо быть по осторожней. Ибо не стоит создавать прецедент того, что у вас кто его купил и в игре не получил обещанное и как результат — пожаловался на автора игры, т.е. на вас.

За базу возьму данное видео.

А также документацию — https://developer.roblox.com/en-us/articles/Game-Passes-One-Time-Purchases

И добавим GamePass в мою многострадальную тестовую игру https://www.roblox.com/games/4587789852/NecroWorld

Открываем страницу игры и в ней вкладку магазина — Store

Как видим у нас нет ничего на продажу, но есть вариант добавить «Add Pass». Что мы сейчас и будем делать. Жмём туда! И попадаем на страницу создания (и обслуживания) наших GamePass.

Первой строкой указана игра, для которой мы создаём GamePass. Второй строкой — выбор картинки для GamePass. Это должна быть квадратная картинка с размерами от 150*150, из которой будет взята круглая внутренность. На картинках документации это наглядно продемонстрировано:

Следующей строкой у нас идёт название нашего игрового пропуска. Краткое и ёмкое!

А вот в Description — нужно как можно детальней описать, какое именно преимущество в игре даст игроку покупка данного пропуска.

К сожалению, всё заполняется исключительно на англицком языке. И ещё один нюанс — очень важный! Все картинки проходят модерацию и они должны быть либо нейтральными, либо однозначно указывать на ДЕТСКУЮ аудиторию! Иначе можно словить бан аккаунта. (Проверено на себе, когда я взял картинку тёток: ангела и бесовки) Для начала он будет временный.

После чего жмём Prevew и.. Veryfy Upload и внизу у нас появится наш новый пропуск. Жмём шестерёнку и идём настраивать наш новый пропуск — Configure.

Первое — перепроверяем имя — т.к. подставляется имя файла. Второе: если видим песочные часы — значит наша картинка ещё на модерации. Третье: описание должно быть исключительно на английском.

И если всё верно, то жмём Sales. И вне зависимости от того исправляли вы что либо или нет — жмём Save.

Теперь переключаем рычажок (1) и появляется дополнительное поле для ввода стоимости (2) нашего пропуска:

Тут так же будет указано — сколько робуксов уйдёт хозяевам платформы Roblox (3) от продажи и сколько вам (4) в зависимости от вашего статуса.

Снова жмём Save и следом «Go to Details»

Поздравляю! Вы сейчас не только создали пропуск, но и стали его обладателем, как разработчик! В этом вы можете убедиться наличием кнопки Delete в меню.

Внимание! Если вы удалите его, то робуксы вам не прибавятся, а вернуть его вы сможете, только купив его у самого себя.

Если теперь вернуться в магазин игры (щёлкнув по иконке игры, например), то в её магазине Store вы увидите наличие данного GamePass.

Соответственно щёлкнув по нему мы перейдём на страницу самого GamePass. И… Пока я писал всё это, моя картинка прошла модерацию. А теперь разберёмся, что же мы видим?

  • Кто создал
  • Уже в инвентаре
  • Цена
  • Тип
  • Дата создания/обновления
  • Описание
  • К чему относится

Но нас на этой странице больше всего интересует не её содержание, а её адрес! Точней, цифровой код содержащийся в нём. В моём случае это: 7988151

Это и есть ссылка на наш GamePass для использования его в игре.

Теперь переходим ко второй части — использование этого в игре. В том числе и покупки их из игры! Иначе какой в этом смысл?

Но, для начала создадим второй пропуск и удалим его. Проверить же надо?! 🙂

Как видим первый (7986207) мы должны купить, а второй (7988151) у нас в наличии.

Просто создадим две кнопки UI в одной будет покупка двойной скорости, во второй — светлячок. С соответствующими названиями и текстовым содержанием. Ну и ещё по локальному скрипту в них кинем.

local id=7988151 -- id GamePass

script.Parent.MouseButton1Down:Connect(function()
	game:GetService("MarketplaceService"):PromptGamePassPurchase(game.Players.LocalPlayer,id) -- вызов метода покупки GamePass
end)

Данный код будет выполняться когда мы будем нажимать на соответствующую кнопку. Соответственно id должен быть в коде разный!

Запускаем?

Такой ответ получаем при нажатии на кнопку светлячка — Вы уже владеете данным предметом.

И такой ответ, при нажатии кнопки двойной скорости — Вы собираетесь купить продукт двойная скорость за 1000 робуксов. Купить — Отказаться.

Что мы имеем? Мы осуществили мечту — покупку пропусков как на сайте, так и из игры.

Что осталось? Проверять их наличие и соответственно исполнять то, для чего они куплены.

Добавляем скрипты в ServerScriptService — GamePassID

-- сокрытие приобретённых кнопок в копии скрипта Gamepasshide
local id1 = 7986207 -- id gamepass - оно же и в названии скрипта
local id2 = 7988151 -- FireFly


-- проверка на совершении покупки
game:GetService("MarketplaceService").PromptGamePassPurchaseFinished:Connect(function(plr,ido,purchased)
	if purchased and ido == id1 then -- пропуск с id1
		plr.Character.Humanoid.WalkSpeed = 30
	end
	if purchased and ido == id2 then -- пропуск с id2
		plr.Character.Humanoid.JumpPower= 100
	end
end)

-- проверка уже приобретённого пропуска при подключении игрока
game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:connect(function(char)		
		if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(game.Players[char.Name].UserId, id1) then			
			char.Humanoid.WalkSpeed = 30
		end
		if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(game.Players[char.Name].UserId, id2) then			
			char.Humanoid.JumpPower = 100
		end
	end)	
end)

(game.Players[char.Name].UserId, id1) Правильный код! Подмена работает странно…

Для наглядности, вместо светлячка увеличивается высота прыжка. Запускаем и наслаждаемся!

Прыжок увеличен сразу после входа игрока. А скорость бега увеличивается, как только мы производим покупку.

Что собственно нам и нужно было.

Честно говоря я запарился делать такой длинный урок, который на видео помещается в менее, чем 7 минут. А ведь ещё, по уму, надо скрывать уже приобретённые геймпассы.

Ну и как обычно — результат всего этого можно увидеть в игре:

https://www.roblox.com/games/4587789852/NecroWorld


Поделиться...

ROBLOX — Монетизация — GamePass: 6 комментариев

  1. Guest

    90% забирают себе? Охренеть! Приватный сервер и прочие услуги (если они есть) такой же грабёж?
    А при выводе в доллары сколько себе забирают? Я слышал что, там и так конверсия низкая.

    1. Admin Автор записи

      Именно так. Поэтому, основная ставка заработка не на покупки в игре, а на время нахождения игроков в игре. Но тут уж всё зависит от интересности игры.

  2. алекс

    >время нахождения игроков в игре
    А как монетизируется время в игре? В первый раз слышу. Можно подробнее?

    1. Admin Автор записи

      Честно говоря тонкостей мне не известно.
      Но периодически приходят письма примерно такого содержания:
      «В Вашей игре находился VIP игрок, за что Вам начислены бонусные робуксы».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *