以前、少し公開したショップ改変を多少改善したものです。
・仕様
ショップの処理において店員が現れます。
店員のセリフはあらかじめセットしますがセットされていない場合
武器やアイテムの説明文が表示されます。
また定義されていない店員を呼び出すと0番目の店員が呼び出されます。
・テストゲーム
ダウンロード
・スクリプト
DataManager
Shop_Person
Scene_Shop
Window_Sales
Window_ShopBuy
・導入法
上のスクリプトたちを入れて
DataManagerのself.initのcreate_game_objectsの下にload_normal_takoffshopdataを挿入します。
例
・使い方
最初に店員データを作ります。店員データは$shop_peopleに格納します。
追加したDataManagerにおいて
$shop_people[
id] = Shop_Person.new(
name,
face_set)
idは店員をあらわすIDになります。0から順に整数値を入れてください。
nameは店員の名前を設定します。
face_setはfaceデータの配列です。
faceデータは[
character_name,
character_index]で指定します。
character_nameは顔画像のファイル名、
character_indexは顔画像ファイルの中で顔のID(0から7で指定)、
(例:[[”Actor3.png”,3]]、このように配列の配列になります。もしかすると後に顔の表情差分を入れるかもしれないことを考慮して配列にしています)
各店員ごとにメッセージをセットします。
$shop_people[id].messages1[:greeting] = hoge1
$shop_people[id].messages1[:select_sell] = hoge2
$shop_people[id].messages1[:thanks_sell] = hoge3
$shop_people[id].messages1[:select_buy] = hoge4
$shop_people[id].messages1[:thanks_buy] = hoge5
$shop_people[id].messages1[:cancel_shop] = hoge6
$shop_people[id].explanation_item[num] = text
…
hoge1に最初にするあいさつ文、
hoge2に売るものを選択するときに言う文、
hoge3に売ったときにいう文、
hoge4に買うものを選択するときに言う文、
hoge5に買ったときにいう文、
hoge6に店を去るときにいう文を入れてください
$shop_people[
id].explanation_item[
num]で
num番目のアイテムの説明文を
textに入れます。
(numは1,2,3…の数字(1以上の整数)が入ります)
$var_shop_peopleで店員を指定する変数のIDを指定します。
マップ上のイベントでショップの処理をしたとき$var_shop_peopleのIDの変数値の
idとする
$shop_people[
id] の店員が現れます。ですのでショップの処理をする直前に$var_shop_peopleのIDの変数値を変更してください。
(追記10/17)製作途中のスクリプトを誤ってアップしていたため、正しいバージョンに差し替えました。
1. 無題
無機質なデフォルトショップから
一気にフレンドリーにできて楽しいです。
売り買い機能を消して、図鑑などにしても面白そうですね!
お借りします!