ItemList{ ( 'プリン','キャンディー','シュークリーム','モンブラン','ホールケーキ' ) }
//アイテムの名称を、アイテムID順に記述します。
//特に設定を弄らない場合、文字数は全角12文字(半角24文字)くらいまで。
OnShop{
'\*\0\_q\n[200]'
--
OnShopList( '0-1-2-3-4','100-50-150-300-3000' )
//OnShopList( アイテムID,アイテムの値段 )と記述します。
//2つ以上商品がある場合は、「-(半角ハイフン)」で区切ります。
--
"\n\![*]\q[何も買わない,OnShopCancel]/
\1所持金:\\ %(money)/
\0\_q\_l[0,0]「いらっしゃいませ!」\e"
//店員さんの挨拶。挨拶は大事ですね。
//メニューが一気に表示された後、バルーンの1行目に台詞が流れます。少しゲームっぽくなるかも。
//でもバルーンの大きさによっては表示が崩れます。お好みで。
}
OnShopList{
_a0 = SPLIT( _argv[0],'-' )
_a1 = SPLIT( _argv[1],'-' )
_list = ''
_len = 0
for _i = 0; _i < ARRAYSIZE( _a0 ); _i++{
_i0 = TOINT( _a0[_i] )
_i1 = TOINT( _a1[_i] )
//OnShopから引数として渡された情報を元に、順にリスト化します。
if ( money < _i1 ){ _list += "■\f[color,#999999]%(ItemList[_i0])\f[color,default] " }
//所持金が足りない場合の処理。アイテム名を灰色にしています。
else{ _list += "■%(ItemList[_i0]) " }
//所持金が足りている場合の処理。
_len = GETSTRBYTES( ItemList[_i0] )
_len = 48 - 21 - _len
for _h = 0; _h < _len; _h++{ _list += '.' }
//リストの見た目を揃えます。
//アイテム名の文字数に応じて「.(半角ピリオド)」で埋めます。
//削る処理は無いので、アイテム名をいい感じの文字数に収めて下さい。
_len = GETSTRBYTES( _i1 )
_len = 5 - _len
for _h = 0; _h < _len; _h++{ _list += '.' }
//再びリストの見た目を揃えます。
//今度は値段の文字数に応じて「.(半角ピリオド)」で埋めます。
//値段は5桁までに収まる想定にしてあります。
//超える場合は「_len = 5 - _len」の部分を弄ってください。
if ( money < _i1 ){ _list += " \\ %(_i1) \f[color,#999999]\![*][不足]\f[color,default]" }
else{ _list += " \\ %(_i1) \![*]\q[[購入],OnBought,%(_i0),%(_i1)]" }
//[購入]を選択するとOnBoughtイベントが発生し、
//Reference0にアイテムID、Reference1に値段が格納されます。
_list += '\n[120]'
//改行が100%だと詰まって見えるので、少し開けると見やすいかも。
}
_list
}
OnBought{
item[reference[0]]++
money -= reference[1]
OnShop
}
OnShopCancel{ '「ありがとうございました!」' }
//挨拶は大事ですね。