選択肢を選んでアイテムをもらうシステムの作り方 RobloxStudio
こんにちは!
けつべつです。
みなさん、ダイアログは使っていますか?私はボチボチです……。
ダイアログ(Dialog)はキャラクターの頭などに出ている「?」「!」「$」のマークが書かれた吹き出しをクリックするとキャラクターと会話ができる機能のことです。
この記事では選択肢を選んで、キャラクターからアイテムをもらう機能の作り方を書きます。
参考にしたページ: https://devforum.roblox.com/t/problem-with-heal-to-max-health-script/715341
https://developer.roblox.com/en-us/api-reference/event/Dialog/DialogChoiceSelected
やり方
①
Dialogをパーツに挿入して、その中にDialogChoiceをいれます。
NPCに喋らせたかったらDialogをHeadに入れてください。
UserDialogとResponseDialogにそれぞれ文字を入れます。UserDialogにはプレイヤーの選択肢、ResponseDialogにはそれに対する相手の答えを書いてください。
②
ReplicatedStorageにRemoteEvent(Item)
ServerScriptServiceにScript(Item)
ServerStorageにプレイヤーに渡したいアイテム(Sasumata)
StarterPlayerScriptにLocalScript(Dialogchoice)を入れてください。
③
LocalScriptにDialogChoiceSelectedという呪文を使い、
Dialogの中のYesという名前の選択肢が選択された時にRemoteEventというアンテナに信号を送る。
という命令を書きます。
DialogChoiceSelectedはworkspaceの中で使うことができないので、LocalScriptで書く必要があるらしいです。
④
ServerScriptServiceのScriptには、
RemoteEventというアンテナが信号を受け取ったとき、選択肢を選んだプレイヤーのBackpackにServerStorageの中にある道具(Sasumata)を増やして入れる
と書きます。
テスト
ゴマちゃんから「お宝欲しいゴマ?」と聞かれました。
「欲しいです」を選ぶとアイテムがもらえました!
成功です!!!いえーーーい!
「BackpackにServerStorageの中にある道具を増やして入れる」の部分を書き換えることで
回復できたり……(右上に注目)
持っているポイントを使ってアイテムを購入できるショップを作ることができます。
これでダイアログを使ってプレイヤーにアイテムを渡す仕組みの作り方がわかりました!いえーい!
〜おしまい〜