有料アイテムの作り方

下記のようなウィンドウを表示させ、ロブロックス内の通貨(ロバックス)を使用させる方法を解説します。

有料アイテムの設定

有料アイテムは、ゲームごとに設定するものになりますので、まずはゲームを開いてください。

  1. HOMEタブに切り替え「Game Settings」をクリックします。
  2. 「Monetization」のページを表示し、「Create」をクリックします。これで有料アイテムが1つ出来ます。
  3. 続いて、そのアイテムの右側にある「…」をクリックし、表示された「Edit」をクリックします。
  1. 「Name」の欄に、アイテム名を入力します。
  2. 「Price」の欄に、料金を入力します。
  3. 「Edit Developer Product」の上にある矢印(「<-」)をクリックします。
  4. 「Product ID」の欄に数字が表示されていると思います。プログラムで使用しますので、この数字を書き留めてください。
  5. 「Save」をクリックすれば設定は完了です。

プログラムを記述する

一度購入した有料アイテムをずっと使用できるようにしたい場合は他の方法になります。ここでは、一度使用したらなくなるものとします。

local MarketplaceService = game:GetService("MarketplaceService")
local productID = 1114780601	-- 「Product ID」の数値(上記の7)

-- 「今すぐ買う」をクリックしたときに呼ばれる(キャンセルされた場合は呼ばれない)
local function processReceipt(receiptInfo)
    if receiptInfo.ProductId == productID then    -- 有料アイテムが複数ある場合はここで確認する
        ここに実行したい処理をプロブラムする
        複数行に渡るような場合は関数を呼ぶようにしましょう
    end
    return Enum.ProductPurchaseDecision.PurchaseGranted
end

MarketplaceService.ProcessReceipt = processReceipt

下記のプログラムが、有料アイテムの購入ウィンドウを表示させるものです。パーツをクリックした際に呼ばれるイベントなどに入れてください。

MarketplaceService:PromptProductPurchase(player, productID)

注意

有料アイテムはお金が絡みますので、組み込むに当たっては十分に注意する必要があります。ロブロックス・スタジオで動作確認しても、ロバックスは消費されません。有料アイテムを買ったのに何も動作しないとなるとクレームの対象になります。

開発者の判定

公開した自分のゲームで、有料アイテムを買うなんて考えたくもありません。ちなみに購入金額の30%が徴収されますので、例えば、50Robuxの売れた場合、開発者には35Robuxが受け取れるということになります。
下記のようにプログラムすれば、有料アイテムをタダでゲットできるようになります。

if player.UserId == game.CreatorId then    -- 開発者かどうかの判定
    有料アイテムをゲット
else
    MarketplaceService:PromptProductPurchase(player, productID)
end

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です