ショップの処理 / ツクールMVスクリプトリファレンスwiki
ツクールMVでショップの処理をスクリプトで行うなら以下の通りです。
g = [アイテムの種類,アイテムのID,価格を指定するか,値段]
goods = [g]
SceneManager.push(Scene_Shop)
SceneManager.prepareNextScene(goods, 購入のみか)
アイテムの種類は以下のように対応しています。
0:アイテム
1:武器
2:防具
また、価格の指定は以下のように対応しています。
価格の指定
0:標準
1:指定
購入のみか否かは以下のように対応しています。
true:購入のみ
false:売却も可能
サンプルコード
g1 = [0,1,0,0] //ポーション
g2 = [0,2,0,0] #マジックウォーター
g3 = [1,1,0,0] #剣
g4 = [1,2,1,800] #斧を800Gで販売
g5 = [2,1,1,192] #盾を192Gで販売
g6 = [2,4,0,0] #指輪
goods = [g1,g2,g3,g4,g5,g6]
SceneManager.push(Scene_Shop)
SceneManager.prepareNextScene(goods, true/false)
コード解説
ショップの処理をツクールMVのスクリプトで行うには販売するアイテムを決めなければならないため、他のイベントに比べて少し長いコードを書く必要があります。
1行目:g = [アイテムの種類,アイテムのID,価格を指定するか,値段]
ここでは"g"という変数にショップ処理に必要な数値が入った配列を代入しています。
この配列は販売するアイテムの数だけ設定が必要で複数個のアイテムを販売する場合はサンプルコードのようになります。
2行目:goods = [g]
1行目で設定したアイテムのデータを更にひとまとめにした配列を"goods"という変数に格納しています。
アイテムが少なかったり、コードが横に長くなっても良いときは1行目の内容をそのまま以下のように格納しても問題ありません。
goods = [[0,1,0,0],[1,2,1,800],[2,4,0,0]]
3行目:SceneManager.push(Scene_Shop)
ショップの処理を行うシーンを呼び出しています。
4行目:SceneManager.prepareNextScene(goods, 購入のみか)
prepareNextSceneメソッドはこれから呼び出すシーン関数のprepareメソッドを呼び出します。
ショップシーンにおけるprepareメソッドは販売する商品のデータと購入のみかどうかのデータがパラメータとして設定されているのでこれらを入力しています。
prepareメソッドでは実際の処理に使用される変数に入力したパラメータを代入しています。
もし、コードが横に長くなっても良い場合は1,2行目を省略して以下のようにしてもokです。
SceneManager.prepareNextScene([[0,1,0,0],[1,2,1,800],[2,4,0,0]], true)
ツクールMVスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。