見出し画像

選択肢を選んでアイテムをもらうシステムの作り方 RobloxStudio

こんにちは!

けつべつです。

みなさん、ダイアログは使っていますか?私はボチボチです……。

ダイアログ(Dialog)はキャラクターの頭などに出ている「?」「!」「$」のマークが書かれた吹き出しをクリックするとキャラクターと会話ができる機能のことです。

スクリーンショット 2022-03-18 8.12.59

この記事では選択肢を選んで、キャラクターからアイテムをもらう機能の作り方を書きます。

参考にしたページ: https://devforum.roblox.com/t/problem-with-heal-to-max-health-script/715341

https://developer.roblox.com/en-us/api-reference/event/Dialog/DialogChoiceSelected



やり方

スクリーンショット 2022-03-18 8.58.02

Dialogをパーツに挿入して、その中にDialogChoiceをいれます。

NPCに喋らせたかったらDialogをHeadに入れてください。

UserDialogとResponseDialogにそれぞれ文字を入れます。UserDialogにはプレイヤーの選択肢、ResponseDialogにはそれに対する相手の答えを書いてください。



スクリーンショット 2022-03-18 8.16.22

ReplicatedStorageにRemoteEvent(Item)

ServerScriptServiceにScript(Item)

ServerStorageにプレイヤーに渡したいアイテム(Sasumata)

StarterPlayerScriptにLocalScript(Dialogchoice)を入れてください。




スクリーンショット 2022-03-18 8.57.08

LocalScriptにDialogChoiceSelectedという呪文を使い、

Dialogの中のYesという名前の選択肢が選択された時にRemoteEventというアンテナに信号を送る。

という命令を書きます。

DialogChoiceSelectedはworkspaceの中で使うことができないので、LocalScriptで書く必要があるらしいです。



スクリーンショット 2022-03-18 8.56.55

ServerScriptServiceのScriptには、

RemoteEventというアンテナが信号を受け取ったとき、選択肢を選んだプレイヤーのBackpackにServerStorageの中にある道具(Sasumata)を増やして入れる

と書きます。



テスト

スクリーンショット 2022-03-18 8.12.59

ゴマちゃんから「お宝欲しいゴマ?」と聞かれました。


スクリーンショット 2022-03-18 8.13.02

「欲しいです」を選ぶとアイテムがもらえました!


スクリーンショット 2022-03-18 8.13.07

成功です!!!いえーーーい!



「BackpackにServerStorageの中にある道具を増やして入れる」の部分を書き換えることで

スクリーンショット 2022-03-18 7.52.03

スクリーンショット 2022-03-18 7.52.10

回復できたり……(右上に注目)

持っているポイントを使ってアイテムを購入できるショップを作ることができます。

これでダイアログを使ってプレイヤーにアイテムを渡す仕組みの作り方がわかりました!いえーい!

〜おしまい〜